Advertisement
Guest User

TEST.S

a guest
Jan 16th, 2015
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. ;GCC for Atari Jaguar GPU/DSP (Jun 12 1995) (C)1994-95 Brainstorm
  2. MACRO _RTS
  3. load (ST),TMP
  4. jump T,(TMP)
  5. addqt #4,ST ;rts
  6. ENDM
  7. _test_start::
  8. .GPU
  9. .ORG $F03000
  10. ST .REGEQU r18
  11. TMP .REGEQU r16
  12. GT .CCDEF $15
  13. gcc2_compiled_for_madmac:
  14. ;(.DATA)
  15. .LONG
  16. _global::
  17. .DC.L 5
  18. ;(.TEXT)
  19. .EVEN
  20. _GetTest1::
  21. move r0,r1 ;movsi r0->r1
  22. movei #99,r0 ;movsi #99->r0
  23. cmp r1,r0 ;rcmpsi r1,r0
  24. jr GT,L2 ;jgt L2
  25. moveq #0,r2 ;movsi #0->r2
  26. movei #100,r2 ;movsi #100->r2
  27. movei #L7,TMP
  28. jump T,(TMP) ;jt L7
  29. move r2,r0 ;movsi r2->r0
  30. .EVEN
  31. L2:
  32. cmpq #9,r1 ;pcmpsi #9,r1
  33. jr GT,L4 ;jgt L4
  34. cmpq #0,r1 ;tstsi r1
  35. jr T,L3 ;jt L3
  36. moveq #10,r2 ;movsi #10->r2
  37. .EVEN
  38. L4:
  39. jr EQ,L7 ;jeq L7
  40. move r2,r0 ;movsi r2->r0
  41. moveq #1,r2 ;movsi #1->r2
  42. L3:
  43. move r2,r0 ;movsi r2->r0
  44. L7:
  45. _RTS
  46. .EVEN
  47. _GetTest2::
  48. cmpq #9,r0 ;cmpsi #9,r0
  49. jr GT,L20 ;jgt L20
  50. moveq #10,r1 ;movsi #10->r1
  51. cmpq #0,r0 ;tstsi r0
  52. jr MI,L22 ;jlt L22
  53. move r1,r0 ;movsi r1->r0
  54. moveq #1,r1 ;movsi #1->r1
  55. L20:
  56. move r1,r0 ;movsi r1->r0
  57. L22:
  58. _RTS
  59. .EVEN
  60. _Test3::
  61. subqt #32,ST
  62. move ST,r14
  63. store r19,(ST)
  64. store r20,(r14+1)
  65. store r21,(r14+2)
  66. store r22,(r14+3)
  67. store r23,(r14+4)
  68. store r24,(r14+5)
  69. store r25,(r14+6)
  70. store r26,(r14+7)
  71. move r0,r23 ;movsi r0->r23
  72. moveq #0,r22 ;movsi #0->r22
  73. cmp r23,r22 ;cmpsi r23,r22
  74. movei #L25,TMP
  75. jump PL,(TMP) ;jge L25
  76. moveq #0,r21 ;movsi #0->r21
  77. moveq #1,r26 ;movsi #1->r26
  78. movei #_GetTest1,r25 ;movsi #_GetTest1->r25
  79. movei #_GetTest2,r24 ;movsi #_GetTest2->r24
  80. L27:
  81. neg r21 ;negsi2 r21->r21
  82. move r26,r20 ;movsi r26->r20
  83. sha r21,r20 ;iashlsi3 r20<<r21->r20
  84. neg r21 ;negsi2 r21->r21
  85. move r21,r0 ;movsi r21->r0
  86. move PC,TMP
  87. subqt #4,ST
  88. addqt #10,TMP
  89. jump T,(r25)
  90. store TMP,(ST) ;call r25->r0
  91. move r0,r19 ;movsi r0->r19
  92. move r20,r0 ;movsi r20->r0
  93. addqt #1,r21 ;iaddqtsi3 #1+r21->r21
  94. move PC,TMP
  95. subqt #4,ST
  96. addqt #10,TMP
  97. jump T,(r24)
  98. store TMP,(ST) ;call r24->r0
  99. add r0,r19 ;iaddsi3 r0+r19->r19
  100. cmp r23,r21 ;cmpsi r23,r21
  101. movei #L27,TMP
  102. jump MI,(TMP) ;jlt L27
  103. add r19,r22 ;iaddsi3 r19+r22->r22
  104. L25:
  105. move r22,r0 ;movsi r22->r0
  106. move ST,r14
  107. load (ST),r19
  108. load (r14+1),r20
  109. load (r14+2),r21
  110. load (r14+3),r22
  111. load (r14+4),r23
  112. load (r14+5),r24
  113. load (r14+6),r25
  114. load (r14+7),r26
  115. addqt #32,ST
  116. _RTS
  117. .LONG
  118. .68000
  119. _test_end::
  120. _test_size .EQU *-_test_start
  121. .GLOBL _test_size
  122. .IF _test_size>$1000
  123. .PRINT "Code size (",/l/x _test_size,") is over $1000"
  124. .FAIL
  125. .ENDIF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement