INC1.H
INC2.H
assign.asm
-assign.was
+assign.err
+assign.out
condass.asm
-condass.was
+condass.err
+condass.out
crash.asm
-crash.was
+crash.err
+crash.out
crash1.asm
-crash1.was
+crash1.err
+crash1.out
crash2.asm
-crash2.was
+crash2.err
+crash2.out
data.asm
-data.was
+data.err
+data.out
exp.asm
-exp.was
+exp.err
+exp.out
+gasp.exp
include.asm
-include.was
+include.err
+include.out
listing.asm
-listing.was
+listing.err
+listing.out
macro.asm
-macro.was
+macro.err
+macro.out
mdouble.asm
-mdouble.was
+mdouble.err
+mdouble.out
pl1.asm
-pl1.was
+pl1.err
+pl1.out
pl2.asm
-pl2.was
+pl2.err
+pl2.out
pl3.asm
-pl3.was
+pl3.err
+pl3.out
pl4.asm
-pl4.was
+pl4.err
+pl4.out
pl5.asm
-pl5.was
+pl5.err
+pl5.out
pl6.asm
-pl6.was
+pl6.err
+pl6.out
pl7.asm
-pl7.was
+pl7.err
+pl7.out
pl8.asm
-pl8.was
+pl8.err
+pl8.out
+pr7583.asm
+pr7583.err
+pr7583.out
reg.asm
-reg.was
+reg.err
+reg.out
rep.asm
-rep.was
+rep.err
+rep.out
repeat.asm
-repeat.was
+repeat.err
+repeat.out
reperr.asm
-reperr.was
+reperr.err
+reperr.out
reperr1.asm
-reperr1.was
+reperr1.err
+reperr1.out
reperr2.asm
-reperr2.was
+reperr2.err
+reperr2.out
reperr3.asm
-reperr3.was
+reperr3.err
+reperr3.out
sdata.asm
-sdata.was
+sdata.err
+sdata.out
sfunc.asm
-sfunc.was
+sfunc.err
+sfunc.out
t1.asm
-t1.was
+t1.err
+t1.out
t2.asm
-t2.was
+t2.err
+t2.out
t3.asm
-t3.was
+t3.err
+t3.out
while.asm
-while.was
+while.err
+while.out
Things-to-lose:
--- /dev/null
+assign.asm:8 Can't find preprocessor variable bar.
-******** assign.amp
!
!foo: .ASSIGNC "hello"
!
! .END
-assign.asm:8 Can't find preprocessor variable bar.
-******** condass.amp
! .AIF 1 EQ 1
! OK
OK
! .AENDI
! .AIF "FOO" NE "BAR"
! OK
+ OK
! .AENDI
! .AIF "FOO" EQ "FOO"
! OK
--- /dev/null
+crash.asm:18 Unreasonable expansion (-u turns off check).
-******** crash.amp
!
! Stuff to try and crash it
! THERE
THERE
! bar
-crash.asm:18 Unreasonable expansion (-u turns off check).
+++ /dev/null
-******** 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.
-******** crash2.amp
!
!foo: .ASSIGNA 1
-******** data.amp
!
!foo .DATA 1,2,3
--- /dev/null
+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.
-******** exp.amp
!
!; test all ops
!
! .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.
-******** include.amp
! HI
HI
! .INCLUDE "INC1.H"
-******** listing.amp
!
!
.psize 123,23
!
! .END
-End of file not at start of line.
-******** macro.amp
! .MACRO SUM FROM=0, TO=9
! ; \FROM \TO
! MOV R\FROM,R10
! COMM
! bar ; this comment will get copied out
bar ; this comment will get copied out
-! foo
- foo
+! foo \; this one will get dropped
+ foo \; this one will get dropped
! BACK_SLASH_SET
! MOV #"\",R0
MOV #"\",R0
! 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.
+! .SDATA "R1
\ No newline at end of file
-******** 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
ADD #1,@B
!ENTRY JMP @MAIN
ENTRY: JMP @MAIN
-!L00000 ADD #1,@HL
-L00000: ADD #1,@HL
+!L00001 ADD #1,@HL
+L00001: ADD #1,@HL
! MOV #0,@C
MOV #0,@C
! ADD #2,@C
--- /dev/null
+END missing from end of file.
-******** pl1.amp
!
! .ALTERNATE
!
!
-!END missing from end of file.
+!
\ No newline at end of file
-******** pl3.amp
! .ALTERNATE
!
!lab1: DATA.L lab2
LL0001: .long LL0002
!lab2: SDATA "An example"
-LL0002: .byte 34,65,110,32,101,120,97,109,112,108,101,34
+LL0002: .byte 65,110,32,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 34,117,115,105,110,103,32,76,79,67,65,76,34
+LL0004: .byte 117,115,105,110,103,32,76,79,67,65,76
!
!! test of LOCAL directive
-******** pl4.amp
! .ALTERNATE
!! test of macro substitution around &s
! test of macro substitution around &s
-******** pl5.amp
!! test of literal text operator
! test of literal text operator
! .ALTERNATE
!
! foop this< is a <string> with angle brackets>
! SDATA "this"
- .byte 34,116,104,105,115,34
+ .byte 116,104,105,115
! SDATA " is a <string> with angle brackets"
- .byte 34,32,105,115,32,97,32,60,115,116,114,105,110,103,62,32,119,105,116,104,32,97,110,103,108,101,32,98,114,97,99,107,101,116,115,34
+ .byte 32,105,115,32,97,32,60,115,116,114,105,110,103,62,32,119,105,116,104,32,97,110,103,108,101,32,98,114,97,99,107,101,116,115
! foop this< is a string with spaces>
! SDATA "this"
- .byte 34,116,104,105,115,34
+ .byte 116,104,105,115
! SDATA " is a string with spaces"
- .byte 34,32,105,115,32,97,32,115,116,114,105,110,103,32,119,105,116,104,32,115,112,97,99,101,115,34
+ .byte 32,105,115,32,97,32,115,116,114,105,110,103,32,119,105,116,104,32,115,112,97,99,101,115
! foop this < is a string with a !>>
! SDATA "this"
- .byte 34,116,104,105,115,34
+ .byte 116,104,105,115
! SDATA " is a string with a >"
- .byte 34,32,105,115,32,97,32,115,116,114,105,110,103,32,119,105,116,104,32,97,32,62,34
+ .byte 32,105,115,32,97,32,115,116,114,105,110,103,32,119,105,116,104,32,97,32,62
!
!
-******** pl6.amp
! .ALTERNATE
!! test of expression operator
! test of expression operator
! ENDM
! define "1","99%of100" ! notice % within string
! SDATA "1"
- .byte 34,49,34
+ .byte 49
! SDATA "99%of100"
- .byte 34,57,57,37,111,102,49,48,48,34
+ .byte 57,57,37,111,102,49,48,48
! define %1 + 2, "=3"
-! SDATA "3"
- .byte 34,51,34
+! SDATA 3
+ .byte 51
! SDATA "=3"
- .byte 34,61,51,34
+ .byte 61,51
!
!
! define % 1 + 2 %3+4
-! SDATA "3"
- .byte 34,51,34
-! SDATA "7"
- .byte 34,55,34
+! SDATA 3
+ .byte 51
+! SDATA 7
+ .byte 55
!
! define %3*4-2 <=10>
-! SDATA "10"
- .byte 34,49,48,34
+! SDATA 10
+ .byte 49,48
! SDATA "=10"
- .byte 34,61,49,48,34
+ .byte 61,49,48
!
! define %3*4-2 5
-! SDATA "10"
- .byte 34,49,48,34
+! SDATA 10
+ .byte 49,48
! SDATA 5
.byte 53
!
! define %1 + 2,<is equal to %1 + 2, right?>
-! SDATA "3"
- .byte 34,51,34
+! SDATA 3
+ .byte 51
! SDATA "is equal to %1 + 2, right?"
- .byte 34,105,115,32,101,113,117,97,108,32,116,111,32,37,49,32,43,32,50,44,32,114,105,103,104,116,63,34
+ .byte 105,115,32,101,113,117,97,108,32,116,111,32,37,49,32,43,32,50,44,32,114,105,103,104,116,63
!
! ! has no effect
--- /dev/null
+END missing from end of file.
-******** pl7.amp
! .ALTERNATE
!! test of string operators
! test of string operators
! 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 34,48,34
+ .byte 48
! define "lot's! of <special>,chars%", 0
! SDATA "lot's of <special>,chars%"
- .byte 34,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,34
+ .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
! SDATA "0"
- .byte 34,48,34
+ .byte 48
!
!
!
-!END missing from end of file.
+!
\ No newline at end of file
--- /dev/null
+!
+
+! .ALTERNATE
+! SDATA %1+2+3
+ .byte 37,49,43,50,43,51,32
+! 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
+++ /dev/null
-******** pl8.amp
-!
-
-! .ALTERNATE
-! SDATA %1+2+3
- .byte 34,54,34
-! SDATA "5"
- .byte 34,53,34
-!
-
-!
-
-!
-
-! MACRO foo
-! SDATA "HI" !! this will go
-! SDATA "THERE ! this will stay
-! ENDM
-!
-
-! foo
-! SDATA "HI"
- .byte 34,72,73,34
-! SDATA "THERE ! this will stay
- .byte 34,84,72,69,82,69,9,32,116,104,105,115,32,119,105,108,108,32,115,116,97,121,34
-!
-
-!
-
-! SDATA <!<this is <a wacky> example!>!!>
- .byte 34,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,34
-! SDATA "<this is <a wacky> example>!"
- .byte 34,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,34
-! END
--- /dev/null
+
+ .sdata "v1.0000"
+ .end
--- /dev/null
+!
+
+! .sdata "v1.0000"
+ .byte 118,49,46,48,48,48,48
+! .end
-******** rep.amp
! .AREPEAT 5
! FIVE
! .AREPEAT 2
-******** repeat.amp
!
! .AREPEAT 10
--- /dev/null
+END missing from end of file.
--- /dev/null
+!
+
+! .REPEAT 10
+ .REPEAT 10
+!
\ No newline at end of file
+++ /dev/null
-******** reperr.amp
-!
-
-! .REPEAT 10
- .REPEAT 10
-!.END missing from end of file.
--- /dev/null
+End of file whilst inside AREPEAT, started on line 3.
--- /dev/null
+!
+
+! .AREPEAT 10
+! .END
+!
\ No newline at end of file
+++ /dev/null
-******** reperr1.amp
-!
-
-! .AREPEAT 10
-! .END
-!End of file whilst inside .AREPEAT, started on line 3.
--- /dev/null
+reperr2.asm:4 AENDR without a AREPEAT.
-******** reperr2.amp
!
! .AREPEAT 5
! .AENDR
! .AENDR
! .END
-reperr2.asm:4 AENDR without a AREPEAT.
--- /dev/null
+reperr3.asm:14 AENDR without a AREPEAT.
+reperr3.asm:16 AENDR without a AREPEAT.
+reperr3.asm:17 AENDR without a AREPEAT.
+reperr3.asm:18 AENDR without a AREPEAT.
+reperr3.asm:19 AENDR without a AREPEAT.
+reperr3.asm:20 AENDR without a AREPEAT.
-******** reperr3.amp
! .AREPEAT 4
! .AREPEAT 4
! .AREPEAT 4
! .AENDR
! .AENDR
! .END
-reperr3.asm:14 AENDR without a AREPEAT.
-reperr3.asm:16 AENDR without a AREPEAT.
-reperr3.asm:17 AENDR without a AREPEAT.
-reperr3.asm:18 AENDR without a AREPEAT.
-reperr3.asm:19 AENDR without a AREPEAT.
-reperr3.asm:20 AENDR without a AREPEAT.
--- /dev/null
+sdata.asm:19 Character code in string must be absolute expression.
+sdata.asm:19 Missing > for character code.
+END missing from end of file.
-******** sdata.amp
!
!
! .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
+ .byte 83,72,79,85,76,68,32,70,65,73,76,102,111,111,32,34,72,69,82,69,34,32
!
! .SDATAB 8,"BOINK"
.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
+ .byte 65,65,66,66,0
+ .byte 65,65,66,66,0
!
!
a2: .byte 2,72,73
!a3: .SDATA "HI"
a3: .byte 72,73
-!END missing from end of file.
+!
\ No newline at end of file
+++ /dev/null
-******** 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
-******** t1.amp
!
! test for eof in middle of line
--- /dev/null
+END missing from end of file.
-******** t3.amp
!
! test base convertions
FOOD'136BAR
! FOOH'88BAR
FOOH'88BAR
-!.END missing from end of file.
+!
\ No newline at end of file
-******** while.amp
! donkey
donkey
!bar .ASSIGNA 0