diff options
Diffstat (limited to 'gas/testsuite/gasp/macro.out')
-rw-r--r-- | gas/testsuite/gasp/macro.out | 382 |
1 files changed, 382 insertions, 0 deletions
diff --git a/gas/testsuite/gasp/macro.out b/gas/testsuite/gasp/macro.out new file mode 100644 index 0000000..0740732 --- /dev/null +++ b/gas/testsuite/gasp/macro.out @@ -0,0 +1,382 @@ +! .MACRO SUM FROM=0, TO=9 +! ; \FROM \TO +! MOV R\FROM,R10 +!COUNT .ASSIGNA \FROM+1 +! .AWHILE \&COUNT LE \TO +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! .ENDM +! + +! SUM 0,5 +! ; 0 5 + ; 0 5 +! MOV R0,R10 + MOV R0,R10 +!COUNT .ASSIGNA 0+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R1,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R2,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R3,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R4,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R5,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! SUM TO=5 +! ; 0 5 + ; 0 5 +! MOV R0,R10 + MOV R0,R10 +!COUNT .ASSIGNA 0+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R1,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R2,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R3,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R4,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R5,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! SUM FROM=2, TO=5 +! ; 2 5 + ; 2 5 +! MOV R2,R10 + MOV R2,R10 +!COUNT .ASSIGNA 2+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R3,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R4,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! MOV R\&COUNT,R10 + MOV R5,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AWHILE \&COUNT LE 5 +! MOV R\&COUNT,R10 +!COUNT .ASSIGNA \&COUNT+1 +! .AENDW +! + +! + +!; hi this is a comment + ; hi this is a comment +! .MACRO BACK_SLASH_SET +! \(MOV #"\",R0) +! .ENDM +! BACK_SLASH_SET +! MOV #"\",R0 + MOV #"\",R0 +! .MACRO COMM +! bar ; this comment will get copied out +! foo \; this one will get dropped +! .ENDM +! COMM +! bar ; this comment will get copied out + bar ; this comment will get copied out +! foo \; this one will get dropped + foo \; this one will get dropped +! BACK_SLASH_SET +! MOV #"\",R0 + MOV #"\",R0 +! .MACRO PLUS2 +! ADD #1,R\&V1 +! .SDATA "\&V'1" +! .ENDM +!V .ASSIGNC "R" +!V1 .ASSIGNA 1 +! PLUS2 +! ADD #1,R\&V1 + ADD #1,R1 +! .SDATA "\&V'1" + .byte 82,49 +! .MACRO PLUS1 P,P1 +! ADD #1,\P1 +! .SDATA "\P'1" +! .ENDM +! PLUS1 R,R1 +! ADD #1,R1 + ADD #1,R1 +! .SDATA "R1" + .byte 82,49 +! + +! .MACRO SUM P1 +! MOV R0,R10 +! ADD R1,R10 +! ADD R2,R10 +! \P1 +! ADD R3,R10 +! .ENDM +! + +! SUM .EXITM +! MOV R0,R10 + MOV R0,R10 +! ADD R1,R10 + ADD R1,R10 +! ADD R2,R10 + ADD R2,R10 +! .EXITM +! + +! .MACRO foo bar=a default=b +! \bar +! \default +! bar +! default +! .ENDM +! foo default=dog bar=cat +! cat + cat +! dog + dog +! bar + bar +! default + default +! foo X Y +! X + X +! Y + Y +! bar + bar +! default + default +! foo +! a + a +! b + b +! bar + bar +! default + default +! foo bar=cat default=dog +! cat + cat +! dog + dog +! bar + bar +! default + default +! + +! + +! .MACRO foo bar +! HI +! HI \bar +! HI +! .ENDM +! + +! foo 1 +! HI + HI +! HI 1 + HI 1 +! HI + HI +! foo 123 +! HI + HI +! HI 123 + HI 123 +! HI + HI +! foo 1 2 3 4 +! foo +! HI + HI +! HI + HI +! HI + HI +! + +! +! .MACRO PUSH Rn +! MOV.L \Rn,@-r15 +! .ENDM +! PUSH R0 +! MOV.L R0,@-r15 + MOV.L R0,@-r15 +! PUSH R1 +! MOV.L R1,@-r15 + MOV.L R1,@-r15 +! + +! + +! .MACRO RES_STR STR, Rn +! MOV.L #str\@,\Rn +! BRA end_str\@ +! NOP +!str\@ .SDATA "\STR" +! .ALIGN 2 +!end_str\@ +! .ENDM +! +! RES_STR "ONE",R0 +! MOV.L #str00018,R0 + MOV.L #str00018,R0 +! BRA end_str00018 + BRA end_str00018 +! NOP + NOP +!str00018 .SDATA "ONE" +str00018: .byte 79,78,69 +! .ALIGN 2 + .align 2 +!end_str00018 +end_str00018: +! RES_STR "TWO",R1 +! MOV.L #str00019,R1 + MOV.L #str00019,R1 +! BRA end_str00019 + BRA end_str00019 +! NOP + NOP +!str00019 .SDATA "TWO" +str00019: .byte 84,87,79 +! .ALIGN 2 + .align 2 +!end_str00019 +end_str00019: +! RES_STR "THREE",R2 +! MOV.L #str00020,R2 + MOV.L #str00020,R2 +! BRA end_str00020 + BRA end_str00020 +! NOP + NOP +!str00020 .SDATA "THREE" +str00020: .byte 84,72,82,69,69 +! .ALIGN 2 + .align 2 +!end_str00020 +end_str00020: +! + +! + +! + +! RES_STR STR=donkey Rn=R1 +! MOV.L #str00021,R1 + MOV.L #str00021,R1 +! BRA end_str00021 + BRA end_str00021 +! NOP + NOP +!str00021 .SDATA "donkey" +str00021: .byte 100,111,110,107,101,121 +! .ALIGN 2 + .align 2 +!end_str00021 +end_str00021: +! RES_STR donkey,R1 +! MOV.L #str00022,R1 + MOV.L #str00022,R1 +! BRA end_str00022 + BRA end_str00022 +! NOP + NOP +!str00022 .SDATA "donkey" +str00022: .byte 100,111,110,107,101,121 +! .ALIGN 2 + .align 2 +!end_str00022 +end_str00022: +! RES_STR donkey Rn=R1 +! MOV.L #str00023,R1 + MOV.L #str00023,R1 +! BRA end_str00023 + BRA end_str00023 +! NOP + NOP +!str00023 .SDATA "donkey" +str00023: .byte 100,111,110,107,101,121 +! .ALIGN 2 + .align 2 +!end_str00023 +end_str00023: +! .END |