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

信息检索与抽取

开发平台:

Unix_Linux

  1. #NO_APP
  2. gcc2_compiled.:
  3. ___gnu_compiled_c:
  4. .text
  5. .even
  6. .globl ___builtin_avcall
  7. ___builtin_avcall:
  8. moveml #0x3020,sp@-
  9. movel sp@(16),a2
  10. lea sp@(-1076),sp
  11. moveq #-32,d0
  12. addl a2@(20),d0
  13. subl a2,d0
  14. asrl #2,d0
  15. jle L4
  16. movel sp,a1
  17. lea a2@(32),a0
  18. .even
  19. L6:
  20. movel a0@+,a1@+
  21. subql #1,d0
  22. jne L6
  23. L4:
  24. moveq #16,d0
  25. cmpl a2@(12),d0
  26. jne L8
  27. movel a2@(8),a2@(1092)
  28. L8:
  29. #APP
  30. moveml #32764,sp@(1024)
  31. movel #L9,sp@-
  32. movel a2@,sp@-
  33. moveml a2@(1056),#x7fff
  34. rts
  35. #NO_APP
  36. L9:
  37. #APP
  38. moveml sp@(1024),#32764
  39. #NO_APP
  40. lea sp@(1076),sp
  41. movel a2@(12),a0
  42. moveq #1,d2
  43. cmpl a0,d2
  44. jeq L11
  45. cmpw #0,a0
  46. jeq L66
  47. moveq #2,d3
  48. cmpl a0,d3
  49. jeq L67
  50. moveq #3,d2
  51. cmpl a0,d2
  52. jeq L67
  53. moveq #4,d3
  54. cmpl a0,d3
  55. jeq L67
  56. moveq #5,d2
  57. cmpl a0,d2
  58. jeq L68
  59. moveq #6,d3
  60. cmpl a0,d3
  61. jeq L68
  62. moveq #7,d2
  63. cmpl a0,d2
  64. jeq L66
  65. moveq #8,d3
  66. cmpl a0,d3
  67. jeq L66
  68. moveq #9,d2
  69. cmpl a0,d2
  70. jeq L66
  71. moveq #10,d3
  72. cmpl a0,d3
  73. jeq L66
  74. moveq #-11,d2
  75. addl a0,d2
  76. moveq #1,d3
  77. cmpl d2,d3
  78. jcc L69
  79. moveq #13,d2
  80. cmpl a0,d2
  81. jne L34
  82. btst #5,a2@(7)
  83. jeq L35
  84. movel a2@(8),a2
  85. movel d1,sp@-
  86. movel d0,sp@-
  87. jbsr ___truncdfsf2
  88. addql #8,sp
  89. movel d0,a2@
  90. jra L11
  91. .even
  92. L35:
  93. movel a2@(8),a0
  94. movel d0,a0@
  95. jra L11
  96. .even
  97. L34:
  98. moveq #14,d3
  99. cmpl a0,d3
  100. jne L38
  101. movel a2@(8),a0
  102. movel d0,a0@
  103. movel d1,a0@(4)
  104. jra L11
  105. .even
  106. L38:
  107. moveq #15,d2
  108. cmpl a0,d2
  109. jeq L66
  110. moveq #16,d3
  111. cmpl a0,d3
  112. jne L11
  113. movel a2@(4),d2
  114. btst #9,d2
  115. jeq L43
  116. movel a2@(16),a0
  117. moveq #1,d3
  118. cmpl a0,d3
  119. jne L44
  120. L67:
  121. movel a2@(8),a0
  122. moveb d0,a0@
  123. jra L11
  124. .even
  125. L44:
  126. moveq #2,d3
  127. cmpl a0,d3
  128. jne L47
  129. L68:
  130. movel a2@(8),a0
  131. movew d0,a0@
  132. jra L11
  133. .even
  134. L47:
  135. moveq #4,d3
  136. cmpl a0,d3
  137. jne L49
  138. L66:
  139. movel a2@(8),a0
  140. movel d0,a0@
  141. jra L11
  142. .even
  143. L49:
  144. moveq #8,d3
  145. cmpl a0,d3
  146. jne L43
  147. L69:
  148. movel a2@(8),a0
  149. movel d0,a0@
  150. movel a2@(8),a0
  151. movel d1,a0@(4)
  152. jra L11
  153. .even
  154. L43:
  155. btst #0,d2
  156. jeq L11
  157. movel a2@(16),d1
  158. moveq #1,d2
  159. cmpl d1,d2
  160. jne L53
  161. movel a2@(8),a1
  162. movel d0,a0
  163. moveb a0@,a1@
  164. jra L11
  165. .even
  166. L53:
  167. moveq #2,d3
  168. cmpl d1,d3
  169. jne L55
  170. movel a2@(8),a1
  171. movel d0,a0
  172. movew a0@,a1@
  173. jra L11
  174. .even
  175. L55:
  176. moveq #4,d2
  177. cmpl d1,d2
  178. jne L57
  179. movel a2@(8),a1
  180. movel d0,a0
  181. movel a0@,a1@
  182. jra L11
  183. .even
  184. L57:
  185. moveq #8,d3
  186. cmpl d1,d3
  187. jne L59
  188. movel a2@(8),a0
  189. movel d0,a1
  190. movel a1@,a0@
  191. movel a2@(8),a0
  192. moveq #4,d0
  193. movel a1@(d0:l),a0@(4)
  194. jra L11
  195. .even
  196. L59:
  197. addql #3,d1
  198. lsrl #2,d1
  199. subql #1,d1
  200. jmi L11
  201. movel d1,a1
  202. movel a1,d2
  203. lsll #2,d2
  204. movel d2,a1
  205. .even
  206. L63:
  207. movel a2@(8),a0
  208. movel a1@(d0:l),a0@(a1:l)
  209. subql #4,a1
  210. dbra d1,L63
  211. clrw d1
  212. subql #1,d1
  213. jcc L63
  214. L11:
  215. moveq #0,d0
  216. moveml sp@+,#0x40c
  217. rts