! .ALTERNATE ! !foo MACRO string ! LOCAL lab1, lab2 !lab1: DATA.L lab2 !lab2: SDATA string ! ENDM ! ! foo "An example" ! !LL0001: DATA.L LL0002 LL0001: .long LL0002 !LL0002: SDATA "An example" LL0002: .byte 65,110,32,101,120,97,109,112,108,101 ! foo "using LOCAL" ! !LL0003: DATA.L LL0004 LL0003: .long LL0004 !LL0004: SDATA "using LOCAL" LL0004: .byte 117,115,105,110,103,32,76,79,67,65,76 ! !! test of LOCAL directive ! test of LOCAL directive ! !chk_err MACRO limit ! LOCAL skip !! frob ! LOCAL zap,dog,barf !barf: cmp ax,limit !! check value against ! !! limit ! jle skip !! skip call if OK !skip: call error ! foo dog ! zap dog ! nop ! ENDM ! ! chk_err 5 ! ! !LL0008: cmp ax,5 LL0008: cmp ax,5 ! ! jle LL0005 jle LL0005 !LL0005: call error LL0005: call error ! foo LL0007 ! !LL0009: DATA.L LL000a LL0009: .long LL000a !LL000a: SDATA LL0007 LL000a: .byte 76,76,48,48,48,55 ! LL0006 LL0007 LL0006 LL0007 ! nop nop ! chk_err 10 ! ! !LL000e: cmp ax,10 LL000e: cmp ax,10 ! ! jle LL000b jle LL000b !LL000b: call error LL000b: call error ! foo LL000d ! !LL000f: DATA.L LL0010 LL000f: .long LL0010 !LL0010: SDATA LL000d LL0010: .byte 76,76,48,48,48,100 ! LL000c LL000d LL000c LL000d ! nop nop ! ! ! END