mirror of https://git.sr.ht/~rabbits/drifblim
Starting pre-processor output
This commit is contained in:
parent
1f5f6b65e4
commit
5062f451d0
|
@ -6,4 +6,6 @@
|
||||||
*.sym
|
*.sym
|
||||||
|
|
||||||
*snarf
|
*snarf
|
||||||
*theme
|
*theme
|
||||||
|
|
||||||
|
*.pro.tal
|
||||||
|
|
|
@ -2,10 +2,12 @@
|
||||||
|
|
||||||
|10 @Console &vector $2 &read $1 &pad $5 &write $1 &err $1
|
|10 @Console &vector $2 &read $1 &pad $5 &write $1 &err $1
|
||||||
|a0 @File1 &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|
|a0 @File1 &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|
||||||
|
|b0 @File2 &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|
||||||
|
|
||||||
|0000
|
|0000
|
||||||
|
|
||||||
@src $40
|
@src $40
|
||||||
|
@dst $40
|
||||||
@token $30
|
@token $30
|
||||||
@next $2
|
@next $2
|
||||||
|
|
||||||
|
@ -26,18 +28,25 @@ BRK
|
||||||
STH2r ;sput JSR2 BRK
|
STH2r ;sput JSR2 BRK
|
||||||
&end
|
&end
|
||||||
POP
|
POP
|
||||||
|
|
||||||
|
( output )
|
||||||
|
STH2kr
|
||||||
|
;dst ;scpy JSR2
|
||||||
|
;&ext-txt ;dst ;scap JSR2 #0004 SUB2 ;scpy JSR2
|
||||||
|
;dst .File2/name DEO2
|
||||||
|
|
||||||
STH2r ,parse JSR
|
STH2r ,parse JSR
|
||||||
#0a18 DEO
|
|
||||||
;macros ;print-mem JSR2
|
|
||||||
( halt )
|
( halt )
|
||||||
#010f DEO
|
#010f DEO
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
&ext-txt ".pro.tal $1
|
||||||
|
|
||||||
@parse ( name* -- )
|
@parse ( name* -- )
|
||||||
|
|
||||||
.File1/name DEO2
|
.File1/name DEO2
|
||||||
#0001 .File1/length DEO2
|
#0001 .File1/length DEO2
|
||||||
|
|
||||||
&stream
|
&stream
|
||||||
;&c .File1/read DEO2
|
;&c .File1/read DEO2
|
||||||
.File1/success DEI2 ORA #01 JCN JMP2r
|
.File1/success DEI2 ORA #01 JCN JMP2r
|
||||||
|
@ -76,9 +85,13 @@ JMP2r
|
||||||
;token ;print-str JSR2 #2018 DEO
|
;token ;print-str JSR2 #2018 DEO
|
||||||
;token ;find-macro JSR2 ;print JSR2 #0a18 DEO
|
;token ;find-macro JSR2 ;print JSR2 #0a18 DEO
|
||||||
|
|
||||||
( ;token ;print-str JSR2 #2018 DEO )
|
;token ;slen JSR2 .File2/length DEO2
|
||||||
|
;token .File2/write DEO2
|
||||||
|
#0001 .File2/length DEO2
|
||||||
|
;&ws .File2/write DEO2
|
||||||
|
|
||||||
JMP2r
|
JMP2r
|
||||||
|
&ws 20
|
||||||
|
|
||||||
( macro )
|
( macro )
|
||||||
|
|
||||||
|
@ -126,10 +139,8 @@ JMP2r
|
||||||
@slen ( str* -- len* ) DUP2 ,scap JSR SWP2 SUB2 JMP2r
|
@slen ( str* -- len* ) DUP2 ,scap JSR SWP2 SUB2 JMP2r
|
||||||
@scap ( str* -- end* ) LDAk #00 NEQ JMP JMP2r &w INC2 LDAk ,&w JCN JMP2r
|
@scap ( str* -- end* ) LDAk #00 NEQ JMP JMP2r &w INC2 LDAk ,&w JCN JMP2r
|
||||||
@sput ( char str* -- ) ,scap JSR STA JMP2r
|
@sput ( char str* -- ) ,scap JSR STA JMP2r
|
||||||
@scat ( src* dst* -- ) DUP2 ,slen JSR ADD2
|
|
||||||
@scpy ( src* dst* -- ) STH2 &w LDAk STH2kr STA INC2r INC2 LDAk ,&w JCN POP2 #00 STH2r STA JMP2r
|
@scpy ( src* dst* -- ) STH2 &w LDAk STH2kr STA INC2r INC2 LDAk ,&w JCN POP2 #00 STH2r STA JMP2r
|
||||||
@mclr ( src* len* -- ) OVR2 ADD2 SWP2 &l STH2k #00 STH2r STA INC2 GTH2k ,&l JCN POP2 POP2 JMP2r
|
@mclr ( src* len* -- ) OVR2 ADD2 SWP2 &l STH2k #00 STH2r STA INC2 GTH2k ,&l JCN POP2 POP2 JMP2r
|
||||||
@mcpy ( src* dst* len* -- ) SWP2 STH2 ADD2k NIP2 SWP2 &l LDAk STH2kr STA INC2 INC2r GTH2k ,&l JCN POP2 POP2 POP2r JMP2r
|
|
||||||
|
|
||||||
@scmp ( a* b* -- flag )
|
@scmp ( a* b* -- flag )
|
||||||
|
|
||||||
|
@ -153,19 +164,6 @@ JMP2r
|
||||||
|
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
@print-mem ( addr* -- )
|
|
||||||
|
|
||||||
STH2
|
|
||||||
#0000
|
|
||||||
&loop
|
|
||||||
#00 OVR STH2kr ADD2 LDA ,print/byte JSR
|
|
||||||
DUP #0f AND #0f NEQ #16 MUL #0a ADD #18 DEO
|
|
||||||
INC NEQk ,&loop JCN
|
|
||||||
POP2
|
|
||||||
POP2r
|
|
||||||
|
|
||||||
JMP2r
|
|
||||||
|
|
||||||
@print-str ( str* -- )
|
@print-str ( str* -- )
|
||||||
|
|
||||||
&while
|
&while
|
||||||
|
@ -175,5 +173,4 @@ JMP2r
|
||||||
|
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
@macros
|
@macros ( name | body | name | body .. )
|
||||||
( name | body | name | body .. )
|
|
||||||
|
|
Loading…
Reference in New Issue