Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;GCC for Atari Jaguar GPU/DSP (Jun 12 1995) (C)1994-95 Brainstorm
- MACRO _RTS
- load (ST),TMP
- jump T,(TMP)
- addqt #4,ST ;rts
- ENDM
- _test_start::
- .GPU
- .ORG $F03000
- ST .REGEQU r18
- TMP .REGEQU r16
- GT .CCDEF $15
- gcc2_compiled_for_madmac:
- ;(.DATA)
- .LONG
- _global::
- .DC.L 5
- ;(.TEXT)
- .EVEN
- _GetTest1::
- move r0,r1 ;movsi r0->r1
- movei #99,r0 ;movsi #99->r0
- cmp r1,r0 ;rcmpsi r1,r0
- jr GT,L2 ;jgt L2
- moveq #0,r2 ;movsi #0->r2
- movei #100,r2 ;movsi #100->r2
- movei #L7,TMP
- jump T,(TMP) ;jt L7
- move r2,r0 ;movsi r2->r0
- .EVEN
- L2:
- cmpq #9,r1 ;pcmpsi #9,r1
- jr GT,L4 ;jgt L4
- cmpq #0,r1 ;tstsi r1
- jr T,L3 ;jt L3
- moveq #10,r2 ;movsi #10->r2
- .EVEN
- L4:
- jr EQ,L7 ;jeq L7
- move r2,r0 ;movsi r2->r0
- moveq #1,r2 ;movsi #1->r2
- L3:
- move r2,r0 ;movsi r2->r0
- L7:
- _RTS
- .EVEN
- _GetTest2::
- cmpq #9,r0 ;cmpsi #9,r0
- jr GT,L20 ;jgt L20
- moveq #10,r1 ;movsi #10->r1
- cmpq #0,r0 ;tstsi r0
- jr MI,L22 ;jlt L22
- move r1,r0 ;movsi r1->r0
- moveq #1,r1 ;movsi #1->r1
- L20:
- move r1,r0 ;movsi r1->r0
- L22:
- _RTS
- .EVEN
- _Test3::
- subqt #32,ST
- move ST,r14
- store r19,(ST)
- store r20,(r14+1)
- store r21,(r14+2)
- store r22,(r14+3)
- store r23,(r14+4)
- store r24,(r14+5)
- store r25,(r14+6)
- store r26,(r14+7)
- move r0,r23 ;movsi r0->r23
- moveq #0,r22 ;movsi #0->r22
- cmp r23,r22 ;cmpsi r23,r22
- movei #L25,TMP
- jump PL,(TMP) ;jge L25
- moveq #0,r21 ;movsi #0->r21
- moveq #1,r26 ;movsi #1->r26
- movei #_GetTest1,r25 ;movsi #_GetTest1->r25
- movei #_GetTest2,r24 ;movsi #_GetTest2->r24
- L27:
- neg r21 ;negsi2 r21->r21
- move r26,r20 ;movsi r26->r20
- sha r21,r20 ;iashlsi3 r20<<r21->r20
- neg r21 ;negsi2 r21->r21
- move r21,r0 ;movsi r21->r0
- move PC,TMP
- subqt #4,ST
- addqt #10,TMP
- jump T,(r25)
- store TMP,(ST) ;call r25->r0
- move r0,r19 ;movsi r0->r19
- move r20,r0 ;movsi r20->r0
- addqt #1,r21 ;iaddqtsi3 #1+r21->r21
- move PC,TMP
- subqt #4,ST
- addqt #10,TMP
- jump T,(r24)
- store TMP,(ST) ;call r24->r0
- add r0,r19 ;iaddsi3 r0+r19->r19
- cmp r23,r21 ;cmpsi r23,r21
- movei #L27,TMP
- jump MI,(TMP) ;jlt L27
- add r19,r22 ;iaddsi3 r19+r22->r22
- L25:
- move r22,r0 ;movsi r22->r0
- move ST,r14
- load (ST),r19
- load (r14+1),r20
- load (r14+2),r21
- load (r14+3),r22
- load (r14+4),r23
- load (r14+5),r24
- load (r14+6),r25
- load (r14+7),r26
- addqt #32,ST
- _RTS
- .LONG
- .68000
- _test_end::
- _test_size .EQU *-_test_start
- .GLOBL _test_size
- .IF _test_size>$1000
- .PRINT "Code size (",/l/x _test_size,") is over $1000"
- .FAIL
- .ENDIF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement