avcall-m68k.mot.s
上传用户:shenzhenrh
上传日期:2013-05-12
资源大小:2904k
文件大小:3k
源码类别:

信息检索与抽取

开发平台:

Unix_Linux

  1. .file "avcall-m68k.c"
  2. .version "01.01"
  3. gcc2_compiled.:
  4. .text
  5. .align  2
  6. .globl __builtin_avcall
  7. .type  __builtin_avcall,@function
  8. __builtin_avcall:
  9. movm.l #0x3030,-(%sp)
  10. move.l 20(%sp),%a2
  11. lea (-1024,%sp),%sp
  12. moveq.l #-32,%d0
  13. add.l 20(%a2),%d0
  14. sub.l %a2,%d0
  15. asr.l #2,%d0
  16. jble .L4
  17. move.l %sp,%a3
  18. lea (32,%a2),%a0
  19. move.l %d0,%a1
  20. .align  2
  21. .L6:
  22. move.l (%a0)+,(%a3)+
  23. subq.l #1,%a1
  24. tst.l %a1
  25. jbne .L6
  26. .L4:
  27. moveq.l #16,%d0
  28. cmp.l 12(%a2),%d0
  29. jbne .L8
  30. #APP
  31. move.l 8(%a2),%a1
  32. #NO_APP
  33. .L8:
  34. move.l (%a2),%a0
  35. jbsr (%a0)
  36. move.l %d0,%a1
  37. move.l %d1,%a3
  38. move.l 12(%a2),%d2
  39. moveq.l #1,%d1
  40. cmp.l %d2,%d1
  41. jbeq .L10
  42. tst.l %d2
  43. jbeq .L69
  44. moveq.l #2,%d3
  45. cmp.l %d2,%d3
  46. jbeq .L70
  47. moveq.l #3,%d3
  48. cmp.l %d2,%d3
  49. jbeq .L70
  50. moveq.l #4,%d3
  51. cmp.l %d2,%d3
  52. jbne .L17
  53. .L70:
  54. move.l 8(%a2),%a0
  55. move.w %a1,%d0
  56. move.b %d0,(%a0)
  57. jbra .L10
  58. .align  2
  59. .L17:
  60. moveq.l #5,%d3
  61. cmp.l %d2,%d3
  62. jbeq .L71
  63. moveq.l #6,%d3
  64. cmp.l %d2,%d3
  65. jbeq .L71
  66. moveq.l #7,%d3
  67. cmp.l %d2,%d3
  68. jbeq .L69
  69. moveq.l #8,%d3
  70. cmp.l %d2,%d3
  71. jbeq .L69
  72. moveq.l #9,%d3
  73. cmp.l %d2,%d3
  74. jbeq .L69
  75. moveq.l #10,%d3
  76. cmp.l %d2,%d3
  77. jbeq .L69
  78. move.l 12(%a2),%a0
  79. moveq.l #-11,%d2
  80. add.l %a0,%d2
  81. moveq.l #1,%d3
  82. cmp.l %d2,%d3
  83. jbcc .L72
  84. moveq.l #13,%d2
  85. cmp.l %a0,%d2
  86. jbne .L33
  87. move.l 4(%a2),%d2
  88. btst #6,%d2
  89. jbeq .L34
  90. move.l 8(%a2),%a0
  91. fmove.s %fp0,(%a0)
  92. jbra .L10
  93. .align  2
  94. .L34:
  95. btst #5,%d2
  96. jbeq .L36
  97. move.l 8(%a2),%a0
  98. move.l %d1,-(%sp)
  99. move.l %d0,-(%sp)
  100. fmove.d (%sp)+,%fp0
  101. fmove.s %fp0,(%a0)
  102. jbra .L10
  103. .align  2
  104. .L36:
  105. move.l 8(%a2),%a0
  106. move.l %d0,(%a0)
  107. jbra .L10
  108. .align  2
  109. .L33:
  110. moveq.l #14,%d2
  111. cmp.l %a0,%d2
  112. jbne .L39
  113. btst #6,7(%a2)
  114. jbeq .L40
  115. move.l 8(%a2),%a0
  116. fmove.d %fp0,(%a0)
  117. jbra .L10
  118. .align  2
  119. .L40:
  120. move.l 8(%a2),%a0
  121. move.l %d0,(%a0)
  122. move.l %d1,4(%a0)
  123. jbra .L10
  124. .align  2
  125. .L39:
  126. moveq.l #15,%d3
  127. cmp.l %a0,%d3
  128. jbeq .L69
  129. moveq.l #16,%d0
  130. cmp.l %a0,%d0
  131. jbne .L10
  132. move.l 4(%a2),%d0
  133. btst #9,%d0
  134. jbeq .L46
  135. move.l 16(%a2),%d1
  136. moveq.l #1,%d2
  137. cmp.l %d1,%d2
  138. jbne .L47
  139. move.l 8(%a2),%a0
  140. move.w %a1,%d3
  141. move.b %d3,(%a0)
  142. jbra .L10
  143. .align  2
  144. .L47:
  145. moveq.l #2,%d2
  146. cmp.l %d1,%d2
  147. jbne .L50
  148. .L71:
  149. move.l 8(%a2),%a0
  150. move.w %a1,(%a0)
  151. jbra .L10
  152. .align  2
  153. .L50:
  154. moveq.l #4,%d3
  155. cmp.l %d1,%d3
  156. jbne .L52
  157. .L69:
  158. move.l 8(%a2),%a0
  159. move.l %a1,(%a0)
  160. jbra .L10
  161. .align  2
  162. .L52:
  163. moveq.l #8,%d2
  164. cmp.l %d1,%d2
  165. jbne .L46
  166. .L72:
  167. move.l 8(%a2),%a0
  168. move.l %a1,(%a0)
  169. move.l 8(%a2),%a0
  170. move.l %a3,4(%a0)
  171. jbra .L10
  172. .align  2
  173. .L46:
  174. btst #0,%d0
  175. jbeq .L10
  176. move.l 16(%a2),%d0
  177. moveq.l #1,%d3
  178. cmp.l %d0,%d3
  179. jbne .L56
  180. move.l 8(%a2),%a0
  181. move.b (%a1),(%a0)
  182. jbra .L10
  183. .align  2
  184. .L56:
  185. moveq.l #2,%d1
  186. cmp.l %d0,%d1
  187. jbne .L58
  188. move.l 8(%a2),%a0
  189. move.w (%a1),(%a0)
  190. jbra .L10
  191. .align  2
  192. .L58:
  193. moveq.l #4,%d2
  194. cmp.l %d0,%d2
  195. jbne .L60
  196. move.l 8(%a2),%a0
  197. move.l (%a1),(%a0)
  198. jbra .L10
  199. .align  2
  200. .L60:
  201. moveq.l #8,%d3
  202. cmp.l %d0,%d3
  203. jbne .L62
  204. move.l 8(%a2),%a0
  205. move.l (%a1),(%a0)
  206. move.l 8(%a2),%a0
  207. move.l 4(%a1),4(%a0)
  208. jbra .L10
  209. .align  2
  210. .L62:
  211. addq.l #3,%d0
  212. lsr.l #2,%d0
  213. subq.l #1,%d0
  214. jbmi .L10
  215. lea (%a1,%d0.l*4),%a1
  216. .align  2
  217. .L66:
  218. move.l 8(%a2),%a0
  219. move.l (%a1),(%a0,%d0.l*4)
  220. subq.l #4,%a1
  221. dbra %d0,.L66
  222. clr.w %d0
  223. subq.l #1,%d0
  224. jbcc .L66
  225. .L10:
  226. lea (1024,%sp),%sp
  227. clr.l %d0
  228. movm.l (%sp)+,#0xc0c
  229. rts
  230. .Lfe1:
  231. .size  __builtin_avcall,.Lfe1-__builtin_avcall
  232. .ident "GCC: (GNU) 2.95.2 19991024 (release)"