Don't keep the "is" cases, only the "was" cases.

This commit is contained in:
Steve Chamberlain 1994-06-28 01:19:19 +00:00
parent 7a9e58720f
commit 1b01afe630
32 changed files with 0 additions and 7584 deletions

View File

@ -1,24 +0,0 @@
******** assign.amp
!
!foo: .ASSIGNC "hello"
!BAR: .ASSIGNA 12+34
!
! \&foo'foo
hellofoo
! \&foo\&foo\&foo
hellohellohello
! \&foo \&foo \&foo
hello hello hello
! \&BAR\&bar\&BAR
4646
!
!
!
!
! .END
assign.asm:8 Can't find preprocessor variable bar.

View File

@ -1,155 +0,0 @@
******** condass.amp
! .AIF 1 EQ 1
! OK
OK
! .AELSE
! BAD
! .AENDI
! .AIF 1 EQ 2
! BAD
! .AELSE
! OK
OK
! .AENDI
! .AIF 1 EQ 2
! BAD
! .AELSE
! OK
OK
! .AIF 1 EQ 2
! BAD
! .AELSE
! OK
OK
! .AENDI
! .AENDI
! .AIF 1 LT 2
! OK
OK
! .AENDI
! .AIF 1 EQ 2
! BAD
! .AENDI
! .AIF 1 NE 2
! OK
OK
! .AENDI
! .AIF 1 LE 2
! OK
OK
! .AENDI
! .AIF 1 GT 2
! BAD
! .AENDI
! .AIF 3 GE 2
! OK
OK
! .AENDI
! .AIF 3 LT 2
! BAD
! .AENDI
! .AIF 3 EQ 2
! BAD
! .AENDI
! .AIF 3 NE 2
! OK
OK
! .AENDI
! .AIF 3 LE 2
! BAD
! .AENDI
! .AIF 3 GT 2
! OK
OK
! .AENDI
! .AIF 3 GE 2
! OK
OK
! .AENDI
! .AIF "FOO" EQ "BAR"
! BAD
! .AENDI
! .AIF "FOO" EQ "FOO"
! OK
OK
! .AENDI
! .AIF "FOO" NE "BAR"
! OK
! .AENDI
! .AIF "FOO" EQ "FOO"
! OK
OK
! .AENDI
! .AIF 1 EQ 1
! .AIF 1 EQ 1
! OK
OK
! .AELSE
! BAD
! .AENDI
! .AIF 1 EQ 0
! BAD
! .AELSE
! OK
OK
! .AENDI
! OK
OK
! .AELSE
! BAD
! .AENDI
! .AIF 1 EQ 0
! BAD
! .AELSE
! OK
OK
! .AENDI
! .AIF 1 EQ 1
! OK
OK
! .AELSE
! BAD
! .AENDI
! .AIF 1 EQ 0
! BAD
! .AELSE
! .AIF 1 EQ 1
! OK
OK
! .AELSE
! BAD
! .AENDI
! .AIF 1 EQ 0
! BAD
! .AELSE
! OK
OK
! .AENDI
! OK
OK
! .AENDI
! .AIF 1 EQ 1
! OK
OK
! .AIF 1 EQ 1
! OK
OK
! .AELSE
! BAD
! .AENDI
! .AIF 1 EQ 0
! BAD
! .AELSE
! OK
OK
! .AENDI
! .AELSE
! BAD
! .AENDI
! .AIF 1 EQ 0
! BAD
! .AELSE
! OK
OK
! .AENDI
! .END

File diff suppressed because it is too large Load Diff

View File

@ -1,26 +0,0 @@
******** crash1.amp
!
!
! .MACRO foo a b c=a
! \a \b \c \d
! .ENDM
!
! foo 1 2
! 1 2 a \d
1 2 a \d
! foo 1 2 3 4
! foo 1
! 1 a \d
1 a \d
! foo
! a \d
a \d
!
!
! .END
crash1.asm:8 Too many positional arguments.

View File

@ -1,70 +0,0 @@
******** crash2.amp
!
!foo: .ASSIGNA 1
! \&foo+1
1+1
! \&foo+1
1+1
!foo: .ASSIGNC "foo"
! \&foo+1
foo+1
! \&foo+1
foo+1
!
!foo: .ASSIGNA 1
! \&foo+1
1+1
! \&foo+1
1+1
!foo: .ASSIGNC "foo"
! \&foo+1
foo+1
! \&foo+1
foo+1
!
!foo: .ASSIGNA 1
! \&foo+1
1+1
! \&foo+1
1+1
!foo: .ASSIGNC "foo"
! \&foo+1
foo+1
! \&foo+1
foo+1
!
!foo: .ASSIGNA 1
! \&foo+1
1+1
! \&foo+1
1+1
!foo: .ASSIGNC "foo"
! \&foo+1
foo+1
! \&foo+1
foo+1
!
!foo: .ASSIGNA 1
! \&foo+1
1+1
! \&foo+1
1+1
!foo: .ASSIGNC "foo"
! \&foo+1
foo+1
! \&foo+1
foo+1
! foo
foo
! foo foo
foo foo
! foo foo
foo foo
! foo
foo
! .END

View File

@ -1,46 +0,0 @@
******** data.amp
!
!foo .DATA 1,2,3
foo: .long 1,2,3
!bar .DATA 1,2,3,4,5 ,6
bar: .long 1,2,3,4,5,6
! .DATA.B 12345,12,2
.byte 12345,12,2
! .DATA.W 9,2,12,3,13+41,foo+9
.short 9,2,12,3,54,foo+9
! .DATA.L 2~99
.long 97
!
!
!
! .DATAB 1,2,3
.fill 1,4,2
! .DATAB 1,2,3
.fill 1,4,2
!
!
!
!
! .DATAB 1,9+32
.fill 1,4,41
!
! .DATAB.L 1,H'11111111
.fill 1,4,286331153
! .DATAB.W 2,H'2222
.fill 2,2,8738
! .DATAB.B 3,H'333
.fill 3,1,819
!
!
! .END

View File

@ -1,132 +0,0 @@
******** exp.amp
!
!; test all ops
; test all ops
!
!a1 .EQU 4+10
!a2 .EQU 4-10
!a3 .EQU 4&10
!a4 .EQU 4|2
!a5 .EQU 4~2
!a6 .EQU 4*10
!a7 .EQU 40/10
!a8 .EQU +7
!a9 .EQU -7
!a10 .EQU ~7
!
!
! a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
14 -6 0 6 6 40 4 7 -7 -8
!
!; test the priorities
; test the priorities
!
!b1 .EQU 1|2~3&4+5-8*7/2
!b2 .EQU (1|2~(3&(4+5-(8*(7/2)))))
!b3 .EQU 10*2/3*4
!b4 .EQU (((10*2)/3)*4)
!b5 .EQU 10+2-3+4
!b6 .EQU (((10+2)-3)+4)
!
! b1 b2 b3 b4
2 2 24 24
!
!; test association
; test association
!
!c1 .EQU -~3
!c2 .EQU ~-3
!c3 .EQU -(~3)
!c4 .EQU ~(-3)
!
! c1 c2 c3 c4
4 2 4 2
!
!; test rules for symbols
; test rules for symbols
!
!ok1 .EQU FOO
!ok2 .EQU FOO+10
!ok3 .EQU 10+FOO
!ok4 .EQU FOO-10
!
! ok1
FOO
! ok2
FOO+10
! ok3
FOO+10
! ok4
FOO+-10
!
!ok5 .EQU FOO+3+4+5+6
!ok6 .EQU FOO-BAR
!
! ok5
FOO+18
! ok6
FOO-FOO
!
!bad1 .EQU FOO+FOO
!bad2 .EQU FOO*2
!bad3 .EQU FOO/2
!bad4 .EQU FOO|2
!bad5 .EQU FOO&2
!bad6 .EQU FOO~2
!bad7 .EQU FOO*2
!
!; test spacing
; test spacing
!
!space1 .EQU 1 + 2 +3+FOO + 3
!space2
space2:
!
!; from the SH manual
; from the SH manual
!
! .DATA.L 1+(2-(3+(4-5))),1
.long 1,1
!
! .DATA.L -H'fffffff1+H'000000f0*H'00000010|H'000000f0&H'0000ffff,H'00000fff
.long 4095,4095
!
! .DATA.L -~-~H'0000000f,H'00
.long 17,0
!
!
!
!
! .END
exp.asm:56 can't add two relocatable expressions
exp.asm:57 the * operator cannot take non-absolute arguments.
exp.asm:58 the / operator cannot take non-absolute arguments.
exp.asm:59 the | operator cannot take non-absolute arguments.
exp.asm:60 the & operator cannot take non-absolute arguments.
exp.asm:61 the ~ operator cannot take non-absolute arguments.
exp.asm:62 the * operator cannot take non-absolute arguments.

View File

@ -1,16 +0,0 @@
******** include.amp
! HI
HI
! .INCLUDE "INC1.H"
!FILE 1 FIRST LINE
FILE: 1 FIRST LINE
! .INCLUDE "INC2.H"
! FILE 2 FIRST LINE
FILE 2 FIRST LINE
! FILE 2 LAST LINE
FILE 2 LAST LINE
!FILE 1 LAST LINE
FILE: 1 LAST LINE
! THERE
THERE
! .END

View File

@ -1,30 +0,0 @@
******** listing.amp
!
!
! .HEADING " ""QUOTE"" "
.title " "QUOTE" "
! .PAGE
.eject
! .PRINT LIST
.list
! foo
foo
! .PRINT NOLIST
.nolist
! foo
foo
!
!
! .FORM LIN=12
.psize 12,132
! .FORM COL=90
.psize 60,90
! .FORM LIN=123 COL=23
.psize 123,23
!
! .END
End of file not at start of line.

View File

@ -1,373 +0,0 @@
******** macro.amp
! .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
! .END
macro.asm:70 Too many positional arguments.
macro.asm:98 Can't mix positional and keyword arguments.

View File

@ -1,69 +0,0 @@
******** mdouble.amp
!
! .MACRO HI
! A
! \! this is hidden
! B
! ! this is not
! C
! .ENDM
! Hello
Hello
! HI
! A
A
!
! B
B
! ! this is not
! this is not
! C
C
! Emily
Emily
!
!
! H'0f
15
! 200+H'0F
200+15
!
!XX .ASSIGNA Q'100
!! Definition:
! Definition:
! .MACRO GET X=100,Y,Z
! MOV #\X+H'0F,@B
! \Y
!\Z JMP @MAIN
!L\@ ADD #1,@HL
! MOV #0,@C \! Clear C
! ADD #2,@C
! ADD #\&XX, @C
! .ENDM
!
! NOP
NOP
!
!!Call:
!Call:
! GET 200,"ADD #1,@B", ENTRY
! MOV #200+H'0F,@B
MOV #200+15,@B
! ADD #1,@B
ADD #1,@B
!ENTRY JMP @MAIN
ENTRY: JMP @MAIN
!L00001 ADD #1,@HL
L00001: ADD #1,@HL
! MOV #0,@C
MOV #0,@C
! ADD #2,@C
ADD #2,@C
! ADD #\&XX, @C
ADD #64, @C
! .END

View File

@ -1,51 +0,0 @@
******** pl1.amp
!
! .ALTERNATE
!
!alloc MACRO val1,val2
! DB val1
! DB val2
! ENDM
!
! alloc "that's" 'show biz'
! DB that's
.byte that0s
! DB show biz
.byte showbiz
! alloc 0,1
! DB 0
.byte 0
! DB 1
.byte 1
! alloc 0 1
! DB 0
.byte 0
! DB 1
.byte 1
! alloc 0 1
! DB 0
.byte 0
! DB 1
.byte 1
! alloc ,1
! DB
.byte
! DB 1
.byte 1
!
!
!
!
!
!
!
!pl1.asm:10 alloc:1 can't find primary in expression.
END missing from end of file.

View File

@ -1,52 +0,0 @@
******** pl2.amp
!
!
! .ALTERNATE
!
! ! ok
! ok
! !! also ok
!! also ok
!
!foo MACRO
! ! you can see me
! !! but not me
! ! you can see me
! !! but not me
! but this "SHOULD !!BE OK"
! ENDM
!
! foo
! ! you can see me
! you can see me
!
! ! you can see me
! you can see me
!
! but this "SHOULD !!BE OK"
but this "SHOULD !!BE OK"
!
!
!define MACRO val1,val2
! DB val1 ! this comment will show up
! DB val2 !! this on won't
! ENDM
!
! define 0,1
! DB 0 ! this comment will show up
.byte 0! this comment will show up
! DB 1
.byte 1
!
!
! END

View File

@ -1,87 +0,0 @@
******** pl3.amp
! .ALTERNATE
!
!foo MACRO string
! LOCAL lab1, lab2
!lab1: DATA.L lab2
!lab2: SDATA string
! ENDM
!
! foo "An example"
! LOCAL lab1, lab2
!lab1: DATA.L lab2
LL0001: .long LL0002
!lab2: SDATA An example
LL0002: .byte 65,110,101,120,97,109,112,108,101
! foo "using LOCAL"
! LOCAL lab1, lab2
!lab1: DATA.L lab2
LL0003: .long LL0004
!lab2: SDATA using LOCAL
LL0004: .byte 117,115,105,110,103,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
! LOCAL skip
! LOCAL zap,dog,barf
!barf: cmp ax,5
LL0008: cmp ax,5
!
! jle skip
jle LL0005
!skip: call error
LL0005: call error
! foo dog
! LOCAL lab1, lab2
!lab1: DATA.L lab2
LL0009: .long LL000a
!lab2: SDATA dog
LL000a: .byte 76,76,48,48,48,55
! zap dog
LL0006 LL0007
! nop
nop
! chk_err 10
! LOCAL skip
! LOCAL zap,dog,barf
!barf: cmp ax,10
LL000e: cmp ax,10
!
! jle skip
jle LL000b
!skip: call error
LL000b: call error
! foo dog
! LOCAL lab1, lab2
!lab1: DATA.L lab2
LL000f: .long LL0010
!lab2: SDATA dog
LL0010: .byte 76,76,48,48,48,100
! zap dog
LL000c LL000d
! nop
nop
!
!
! END

View File

@ -1,17 +0,0 @@
******** pl4.amp
! .ALTERNATE
!! test of macro substitution around &s
! test of macro substitution around &s
!
!
!foo MACRO a,b
! x&a&b
! ENDM
!
! foo 3 2
! x32
x32
! END

View File

@ -1,33 +0,0 @@
******** pl5.amp
!! test of literal text operator
! test of literal text operator
! .ALTERNATE
!foop MACRO str1,str2
! SDATA "str1"
! SDATA str2
! ENDM
!
!
!
! foop this< is a <string> with angle brackets>
! SDATA "this"
.byte 116,104,105,115
! SDATA is a <string> with angle brackets
.byte 105,115,97,115,116,114,105,110,103,119,105,116,104,97,110,103,108,101,98,114,97,99,107,101,116,115
! foop this< is a string with spaces>
! SDATA "this"
.byte 116,104,105,115
! SDATA is a string with spaces
.byte 105,115,97,115,116,114,105,110,103,119,105,116,104,115,112,97,99,101,115
! foop this < is a string with a !>>
! SDATA "this"
.byte 116,104,105,115
! SDATA is a string with a >
.byte 105,115,97,115,116,114,105,110,103,119,105,116,104,97
!
!
! END

View File

@ -1,46 +0,0 @@
******** pl6.amp
! .ALTERNATE
!! test of expression operator
! test of expression operator
!define MACRO val, string
! SDATA val
! SDATA string
! ENDM
! define "1","99%of100" ! notice % within string
! SDATA 1
.byte 49
! SDATA 99%of100
.byte 57,57,37,111,102,49,48,48
! define %1 + 2, "=3"
!
!
! define % 1 + 2 %3+4
!
! define %3*4-2 <=10>
! SDATA %3*4-2
.byte 34,49,48,34
! SDATA =10
.byte 61,49,48
!
! define %3*4-2 5
! SDATA %3*4-2
.byte 34,49,48,34
! SDATA 5
.byte 53
!
! define %1 + 2,<is equal to %1 + 2, right?>
!
! ! has no effect
! has no effect
!
! end
pl6.asm:8 Too many positional arguments.
pl6.asm:11 Too many positional arguments.
pl6.asm:17 Too many positional arguments.

View File

@ -1,27 +0,0 @@
******** pl7.amp
! .ALTERNATE
!! test of string operators
! test of string operators
!define MACRO str1,str2
! SDATA str1
! SDATA "str2"
!ENDM
! define one" way to get "spaces,0
! SDATA one" way to get "spaces
.byte 111,110,101,34,32,119,97,121,32,116,111,32,103,101,116,32,34,115,112,97,99,101,115
! SDATA "0"
.byte 48
! define "lot's! of <special>,chars%", 0
! SDATA lot's of <special>,chars%
.byte 108,111,116,39,115,32,111,102,32,60,115,112,101,99,105,97,108,62,44,99,104,97,114,115,37,99
! SDATA "0"
.byte 48
!
!
!
!
!END missing from end of file.

View File

@ -1,34 +0,0 @@
******** pl8.amp
!
! .ALTERNATE
! SDATA %1+2+3
.byte 34,54,34
! SDATA "5"
.byte 53
!
!
!
! MACRO foo
! SDATA "HI" !! this will go
! SDATA "THERE ! this will stay
! ENDM
!
! foo
! SDATA "HI"
.byte 72,73
! SDATA "THERE ! this will stay
.byte 84,72,69,82,69,9,32,116,104,105,115,32,119,105,108,108,32,115,116,97,121
!
!
! SDATA <!<this is <a wacky> example!>!!>
.byte 60,116,104,105,115,32,105,115,32,60,97,32,119,97,99,107,121,62,32,101,120,97,109,112,108,101,62,33
! SDATA "<this is <a wacky> example>!"
.byte 60,116,104,105,115,32,105,115,32,60,97,32,119,97,99,107,121,62,32,101,120,97,109,112,108,101,62,34
! END

View File

@ -1,16 +0,0 @@
******** reg.amp
!
!
!foo .REG (r1)
! add foo,foo
add r1,r1
!
!bar .reg (r2)
! add bar,foo
add r2,r1
!
! .END

View File

@ -1,392 +0,0 @@
******** rep.amp
! .AREPEAT 5
! FIVE
! .AREPEAT 2
! TWO
! .AENDR
! .AREPEAT 3
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! .AENDR
! FIVE
FIVE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 3
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 2
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 4
! FIVE
! .AREPEAT 2
! TWO
! .AENDR
! .AREPEAT 3
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! .AENDR
! FIVE
FIVE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 3
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 2
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 3
! FIVE
! .AREPEAT 2
! TWO
! .AENDR
! .AREPEAT 3
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! .AENDR
! FIVE
FIVE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 3
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 2
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 2
! FIVE
! .AREPEAT 2
! TWO
! .AENDR
! .AREPEAT 3
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! .AENDR
! FIVE
FIVE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 3
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 2
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! FIVE
! .AREPEAT 2
! TWO
! .AENDR
! .AREPEAT 3
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! .AENDR
! FIVE
FIVE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 3
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 2
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! THREE
! .AREPEAT 2
! TWO
! .AENDR
! .AENDR
! THREE
THREE
! .AREPEAT 2
! TWO
! .AENDR
! TWO
TWO
! .AREPEAT 1
! TWO
! .AENDR
! TWO
TWO
! .END

View File

@ -1,212 +0,0 @@
******** repeat.amp
!
! .AREPEAT 10
! TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! .AENDR
! TEN
TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 1
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 9
! TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! .AENDR
! TEN
TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 1
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 8
! TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! .AENDR
! TEN
TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 1
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 7
! TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! .AENDR
! TEN
TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 1
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 6
! TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! .AENDR
! TEN
TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 1
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 5
! TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! .AENDR
! TEN
TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 1
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 4
! TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! .AENDR
! TEN
TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 1
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 3
! TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! .AENDR
! TEN
TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 1
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 2
! TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! .AENDR
! TEN
TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 1
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 1
! TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! .AENDR
! TEN
TEN
! .AREPEAT 2
! TWENTY
! .AENDR
! TWENTY
TWENTY
! .AREPEAT 1
! TWENTY
! .AENDR
! TWENTY
TWENTY
!
! .AREPEAT 3
! ROTCL R2
! DIV1 R0,R1
! .AENDR
! ROTCL R2
ROTCL R2
! DIV1 R0,R1
DIV1 R0,R1
! .AREPEAT 2
! ROTCL R2
! DIV1 R0,R1
! .AENDR
! ROTCL R2
ROTCL R2
! DIV1 R0,R1
DIV1 R0,R1
! .AREPEAT 1
! ROTCL R2
! DIV1 R0,R1
! .AENDR
! ROTCL R2
ROTCL R2
! DIV1 R0,R1
DIV1 R0,R1
!
! .END

View File

@ -1,6 +0,0 @@
******** reperr.amp
!
! .REPEAT 10
.REPEAT 10
!END missing from end of file.

View File

@ -1,6 +0,0 @@
******** reperr1.amp
!
! .AREPEAT 10
! .END
!End of file whilst inside AREPEAT, started on line 3.

View File

@ -1,16 +0,0 @@
******** reperr2.amp
!
! .AREPEAT 5
! .AENDR
! .AREPEAT 4
! .AENDR
! .AREPEAT 3
! .AENDR
! .AREPEAT 2
! .AENDR
! .AREPEAT 1
! .AENDR
! .AENDR
! .END
reperr2.asm:4 AENDR without a AREPEAT.

File diff suppressed because it is too large Load Diff

View File

@ -1,60 +0,0 @@
******** sdata.amp
!
!
! .SDATA "HI","STEVE"
.byte 72,73,83,84,69,86,69
! .SDATA "HI" , "STEVE" , <72>,<73>,<83><69><86><69>
.byte 72,73,83,84,69,86,69,72,73,83,69,86,69
!
! .SDATA "H""I" , "STEVE" , <72>,<73>,<83><69><86><69>
.byte 72,34,73,83,84,69,86,69,72,73,83,69,86,69
!
!
!
! .SDATA "SHOULD NOT FAIL" "HERE"
.byte 83,72,79,85,76,68,32,78,79,84,32,70,65,73,76,72,69,82,69
! .SDATA "SHOULD FAIL" foo "HERE"
.byte 83,72,79,85,76,68,32,70,65,73,76,102,111,111,72,69,82,69
!
! .SDATAB 8,"BOINK"
.byte 66,79,73,78,75
.byte 66,79,73,78,75
.byte 66,79,73,78,75
.byte 66,79,73,78,75
.byte 66,79,73,78,75
.byte 66,79,73,78,75
.byte 66,79,73,78,75
.byte 66,79,73,78,75
!
! ; examples from book
; examples from book
!
! .SDATAB 2,"AAAAA"
.byte 65,65,65,65,65
.byte 65,65,65,65,65
! .SDATAB 2,"""BBB"""
.byte 34,66,66,66,34
.byte 34,66,66,66,34
! .SDATAB 2,"AABB"<H'07>
.byte 65,65,66,66,7
.byte 65,65,66,66,7
!
!
!a1: .SDATAZ "HI"
a1: .byte 72,73,0
!a2: .SDATAC "HI"
a2: .byte 2,72,73
!a3: .SDATA "HI"
a3: .byte 72,73
!END missing from end of file.

View File

@ -1,50 +0,0 @@
******** sfunc.amp
!
! .MACRO RESERVE_STR P1=0 P2
! .SDATA .SUBSTR("ABCDEFG",\P1,\P2)
! .ENDM
!
! RESERVE_STR 2,2
! .SDATA .SUBSTR("ABCDEFG",2,2)
.byte 67,68
! RESERVE_STR ,3
! .SDATA .SUBSTR("ABCDEFG",0,3)
.byte 65,66,67
!
!
! .MACRO FIND_STR P1
! .DATA.W .INSTR("ABCDEFG","\P1", 0)
! .ENDM
!
! FIND_STR CDE
! .DATA.W .INSTR("ABCDEFG","CDE", 0)
.short 2
! FIND_STR H
! .DATA.W .INSTR("ABCDEFG","H", 0)
.short -1
!
! .MACRO RESERVE_LENGTH P1
! .ALIGN 4
! .SRES .LEN("\P1")
! .ENDM
!
! RESERVE_LENGTH ABCDEF
! .ALIGN 4
.align 4
! .SRES .LEN("ABCDEF")
.space 24
! RESERVE_LENGTH ABC
! .ALIGN 4
.align 4
! .SRES .LEN("ABC")
.space 12
!
! .END

View File

@ -1,6 +0,0 @@
******** t1.amp
!
! test for eof in middle of line
test for eof in middle of line
! .END

View File

@ -1,14 +0,0 @@
******** t2.amp
!
!
! test
!+continued
!+lines
testcontinuedlines
!
!
! .END

View File

@ -1,26 +0,0 @@
******** t3.amp
!
! test base convertions
test base convertions
!
! B'1001000
72
! Q'210
136
! D'136
136
! H'88
136
!
! FOOB'1001000BAR
FOOB'1001000BAR
! FOOQ'210BAR
FOOQ'210BAR
! FOOD'136BAR
FOOD'136BAR
! FOOH'88BAR
FOOH'88BAR
!END missing from end of file.

View File

@ -1,389 +0,0 @@
******** while.amp
! donkey
donkey
!bar .ASSIGNA 0
! .AWHILE \&bar LT 5
! HI BAR IS \&bar
!foo .ASSIGNA 0
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
!bar .ASSIGNA \&bar + 1
! AND ITS NOW \&bar
! .AENDW
! HI BAR IS \&bar
HI BAR IS 0
!foo .ASSIGNA 0
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
! HI BEFORE
HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 0 0
! .AREPEAT 1
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 0 0
! HI AFTER
HI AFTER
!foo .ASSIGNA \&foo + 1
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
! HI BEFORE
HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 1 0
! .AREPEAT 1
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 1 0
! HI AFTER
HI AFTER
!foo .ASSIGNA \&foo + 1
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
!bar .ASSIGNA \&bar + 1
! AND ITS NOW \&bar
AND ITS NOW 1
! .AWHILE \&bar LT 5
! HI BAR IS \&bar
!foo .ASSIGNA 0
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
!bar .ASSIGNA \&bar + 1
! AND ITS NOW \&bar
! .AENDW
! HI BAR IS \&bar
HI BAR IS 1
!foo .ASSIGNA 0
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
! HI BEFORE
HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 0 1
! .AREPEAT 1
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 0 1
! HI AFTER
HI AFTER
!foo .ASSIGNA \&foo + 1
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
! HI BEFORE
HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 1 1
! .AREPEAT 1
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 1 1
! HI AFTER
HI AFTER
!foo .ASSIGNA \&foo + 1
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
!bar .ASSIGNA \&bar + 1
! AND ITS NOW \&bar
AND ITS NOW 2
! .AWHILE \&bar LT 5
! HI BAR IS \&bar
!foo .ASSIGNA 0
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
!bar .ASSIGNA \&bar + 1
! AND ITS NOW \&bar
! .AENDW
! HI BAR IS \&bar
HI BAR IS 2
!foo .ASSIGNA 0
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
! HI BEFORE
HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 0 2
! .AREPEAT 1
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 0 2
! HI AFTER
HI AFTER
!foo .ASSIGNA \&foo + 1
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
! HI BEFORE
HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 1 2
! .AREPEAT 1
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 1 2
! HI AFTER
HI AFTER
!foo .ASSIGNA \&foo + 1
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
!bar .ASSIGNA \&bar + 1
! AND ITS NOW \&bar
AND ITS NOW 3
! .AWHILE \&bar LT 5
! HI BAR IS \&bar
!foo .ASSIGNA 0
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
!bar .ASSIGNA \&bar + 1
! AND ITS NOW \&bar
! .AENDW
! HI BAR IS \&bar
HI BAR IS 3
!foo .ASSIGNA 0
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
! HI BEFORE
HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 0 3
! .AREPEAT 1
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 0 3
! HI AFTER
HI AFTER
!foo .ASSIGNA \&foo + 1
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
! HI BEFORE
HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 1 3
! .AREPEAT 1
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 1 3
! HI AFTER
HI AFTER
!foo .ASSIGNA \&foo + 1
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
!bar .ASSIGNA \&bar + 1
! AND ITS NOW \&bar
AND ITS NOW 4
! .AWHILE \&bar LT 5
! HI BAR IS \&bar
!foo .ASSIGNA 0
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
!bar .ASSIGNA \&bar + 1
! AND ITS NOW \&bar
! .AENDW
! HI BAR IS \&bar
HI BAR IS 4
!foo .ASSIGNA 0
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
! HI BEFORE
HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 0 4
! .AREPEAT 1
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 0 4
! HI AFTER
HI AFTER
!foo .ASSIGNA \&foo + 1
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
! HI BEFORE
HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 1 4
! .AREPEAT 1
! HI MEDIUM \&foo \&bar
! .AENDR
! HI MEDIUM \&foo \&bar
HI MEDIUM 1 4
! HI AFTER
HI AFTER
!foo .ASSIGNA \&foo + 1
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
!bar .ASSIGNA \&bar + 1
! AND ITS NOW \&bar
AND ITS NOW 5
! .AWHILE \&bar LT 5
! HI BAR IS \&bar
!foo .ASSIGNA 0
! .AWHILE \&foo LT 2
! HI BEFORE
! .AREPEAT 2
! HI MEDIUM \&foo \&bar
! .AENDR
! HI AFTER
!foo .ASSIGNA \&foo + 1
! .AENDW
!bar .ASSIGNA \&bar + 1
! AND ITS NOW \&bar
! .AENDW
! .END