assert - use updated ph2/ph4 macros that support pei dp vs lda dp / pha.

also expand a couple tabs -> spaces.
This commit is contained in:
Kelvin Sherlock 2018-06-27 23:36:02 -04:00
parent a11660f597
commit d600cd0b61
2 changed files with 95 additions and 82 deletions

View File

@ -34,11 +34,11 @@ __assert start
csubroutine (4:f,2:l,4:s),0 csubroutine (4:f,2:l,4:s),0
ph4 s ph4 <s
ph2 l ph2 <l
ph4 f ph4 <f
ph4 #msg ph4 #msg
ph4 >stderr ph4 >stderr
jsl fprintf jsl fprintf
jsl abort jsl abort

View File

@ -1,81 +1,94 @@
MACRO macro
&LAB PH2 &N1 &l ph2 &n1
LCLC &C &l anop
&LAB ANOP aif "&n1"="*",.f
&C AMID &N1,1,1 lclc &c
AIF "&C"="#",.D &c amid &n1,1,1
AIF S:LONGA=1,.A aif "&c"="#",.d
REP #%00100000 aif s:longa=1,.a
.A rep #%00100000
AIF "&C"<>"{",.B .a
&C AMID &N1,L:&N1,1 aif "&c"<>"{",.b
AIF "&C"<>"}",.G &c amid &n1,l:&n1,1
&N1 AMID &N1,2,L:&N1-2 aif "&c"<>"}",.g
LDA (&N1) &n1 amid &n1,2,l:&n1-2
PHA lda (&n1)
AGO .E pha
.B ago .e
LDA &N1 .b
PHA aif "&c"="<",.c
AGO .E lda &n1
.D pha
&N1 AMID &N1,2,L:&N1-1 ago .e
PEA &N1 .c
AGO .F &n1 amid &n1,2,l:&n1-1
.E pei &n1
AIF S:LONGA=1,.F ago .e
SEP #%00100000 .d
.F &n1 amid &n1,2,l:&n1-1
MEXIT pea &n1
.G ago .f
MNOTE "Missing closing '}'",16 .e
MEND aif s:longa=1,.f
MACRO sep #%00100000
&LAB PH4 &N1 .f
LCLC &C mexit
&LAB ANOP .g
&C AMID &N1,1,1 mnote "Missing closing '}'",16
AIF "&C"="#",.D mend
AIF S:LONGA=1,.A macro
REP #%00100000 &l ph4 &n1
.A &l anop
AIF "&C"<>"{",.B aif "&n1"="*",.f
&C AMID &N1,L:&N1,1 lclc &c
AIF "&C"<>"}",.G &c amid &n1,1,1
&N1 AMID &N1,2,L:&N1-2 aif "&c"="#",.d
LDY #2 aif s:longa=1,.a
LDA (&N1),Y rep #%00100000
PHA .a
LDA (&N1) aif "&c"<>"{",.b
PHA &c amid &n1,l:&n1,1
AGO .E aif "&c"<>"}",.g
.B &n1 amid &n1,2,l:&n1-2
AIF "&C"<>"[",.C ldy #2
LDY #2 lda (&n1),y
LDA &N1,Y pha
PHA lda (&n1)
LDA &N1 pha
PHA ago .e
AGO .E .b
.C aif "&c"<>"[",.c
LDA &N1+2 ldy #2
PHA lda &n1,y
LDA &N1 pha
PHA lda &n1
AGO .E pha
.D ago .e
&N1 AMID &N1,2,L:&N1-1 .c
PEA +(&N1)|-16 aif "&c"<>"<",.c1
PEA &N1 &n1 amid &n1,2,l:&n1-1
AGO .F pei &n1+2
.E pei &n1
AIF S:LONGA=1,.F ago .e
SEP #%00100000 .c1
.F lda &n1+2
MEXIT pha
.G lda &n1
MNOTE "Missing closing '}'",16 pha
MEND ago .e
.d
&n1 amid &n1,2,l:&n1-1
pea +(&n1)|-16
pea &n1
ago .f
.e
aif s:longa=1,.f
sep #%00100000
.f
mexit
.g
mnote "Missing closing '}'",16
mend
MACRO MACRO
&lab csubroutine &parms,&work &lab csubroutine &parms,&work
&lab anop &lab anop