Data update
This commit is contained in:
parent
72eb4943cb
commit
4d5544505c
2347 changed files with 62432 additions and 16731 deletions
|
|
@ -1,67 +1,73 @@
|
|||
|00 @System [ &vector $2 &wst $1 &rst $1 &eaddr $2 &ecode $1 &pad $1 &r $2 &g $2 &b $2 &debug $1 &halt $1 ]
|
||||
|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 &error $1 ]
|
||||
%\n { 0a } %\s { 20 } %\0 { 00 }
|
||||
%newline { [ LIT2 \n -Console/write ] DEO }
|
||||
|
||||
%not { #ff EOR }
|
||||
%and { AND }
|
||||
%or { ORA }
|
||||
%xor { EOR }
|
||||
%shl { #40 SFT SFT }
|
||||
%shr { SFT }
|
||||
%rol { #40 SFT #00 ROT ROT SFT2 ORA }
|
||||
%ror { SWP #00 ROT SFT2 ORA }
|
||||
|
||||
|18 @Console/write
|
||||
|
||||
|100
|
||||
|
||||
#0a02
|
||||
DUP2 SWP ;msgs/a print/arg ;msgs/b print/arg
|
||||
bitwise
|
||||
|
||||
( program )
|
||||
|0100 @on-reset ( -> )
|
||||
#0a02
|
||||
DUP2 SWP ;Labels/a <print-arg> ;Labels/b <print-arg>
|
||||
bitwise
|
||||
halt
|
||||
BRK
|
||||
|
||||
@bitwise ( a b -- )
|
||||
;Labels/not <print-str> ;Labels/a <print-str> ;Labels/equ <print-str> DUP2 [ POP #ff EOR ] <print-result>
|
||||
;Labels/and <print-label> DUP2 [ AND ] <print-result>
|
||||
;Labels/or <print-label> DUP2 [ ORA ] <print-result>
|
||||
;Labels/xor <print-label> DUP2 [ EOR ] <print-result>
|
||||
;Labels/shl <print-label> DUP2 [ #40 SFT SFT ] <print-result>
|
||||
;Labels/shr <print-label> DUP2 [ SFT ] <print-result>
|
||||
;Labels/rol <print-label> DUP2 [ #40 SFT #00 ROT ROT SFT2 ORA ] <print-result>
|
||||
;Labels/ror <print-label> [ SWP #00 ROT SFT2 ORA ] <print-result>
|
||||
JMP2r
|
||||
;msgs/not print/str ;msgs/a print/str
|
||||
;msgs/equ print/str OVR not print/result
|
||||
;msgs/and print/label DUP2 and print/result
|
||||
;msgs/or print/label DUP2 or print/result
|
||||
;msgs/xor print/label DUP2 xor print/result
|
||||
;msgs/shl print/label DUP2 shl print/result
|
||||
;msgs/shr print/label DUP2 shr print/result
|
||||
;msgs/rol print/label DUP2 rol print/result
|
||||
;msgs/ror print/label ror !print/result
|
||||
|
||||
@halt ( -- )
|
||||
#01 .System/halt DEO
|
||||
BRK
|
||||
@print/label ( label* -- )
|
||||
;msgs/a /str
|
||||
/str
|
||||
;msgs/b /str
|
||||
;msgs/equ !/str
|
||||
|
||||
@<print-arg> ( a name* -- )
|
||||
<print-str> ;Labels/equ <print-str> <print-result>
|
||||
JMP2r
|
||||
|
||||
@<print-result> ( a -- )
|
||||
<print-hex> ;Labels/newline <print-str>
|
||||
JMP2r
|
||||
|
||||
@<print-label> ( label* -- )
|
||||
;Labels/a <print-str>
|
||||
<print-str>
|
||||
;Labels/b <print-str>
|
||||
;Labels/equ <print-str>
|
||||
JMP2r
|
||||
|
||||
@<print-hex> ( byte -- )
|
||||
@print/byte ( byte -- )
|
||||
[ LIT "$ ] .Console/write DEO
|
||||
DUP #04 SFT <print-hex>/l
|
||||
&l ( -- )
|
||||
#0f AND DUP #09 GTH #27 MUL ADD [ LIT "0 ] ADD .Console/write DEO
|
||||
JMP2r
|
||||
DUP #04 SFT /nibble
|
||||
( >> )
|
||||
|
||||
@print/nibble ( -- )
|
||||
#0f AND DUP #09 GTH #27 MUL ADD [ LIT "0 ] ADD .Console/write DEO
|
||||
JMP2r
|
||||
|
||||
@<print-str> ( str* -- )
|
||||
&while ( -- )
|
||||
LDAk .Console/write DEO
|
||||
INC2 LDAk ?&while
|
||||
@print/arg ( a name* -- )
|
||||
/str ;msgs/equ /str
|
||||
( >> )
|
||||
|
||||
@print/result ( a -- )
|
||||
/byte newline
|
||||
JMP2r
|
||||
|
||||
@print/str ( str* -- )
|
||||
LDAk .Console/write DEO
|
||||
INC2 LDAk ?/str
|
||||
POP2 JMP2r
|
||||
|
||||
@Labels
|
||||
&a "a 20 $1
|
||||
&b "b 20 $1
|
||||
&equ "= 20 $1
|
||||
&newline 0a $1
|
||||
¬ "NOT 20 $1
|
||||
&and "AND 20 $1
|
||||
&or "OR 20 $1
|
||||
&xor "XOR 20 $1
|
||||
&shl "SHL 20 $1
|
||||
&shr "SHR 20 $1
|
||||
&rol "ROL 20 $1
|
||||
&ror "ROR 20 $1
|
||||
@msgs [
|
||||
&a "a \s \0
|
||||
&b "b \s \0
|
||||
&equ "= \s \0
|
||||
¬ "NOT \s \0
|
||||
&and "AND \s \0
|
||||
&or "OR \s \0
|
||||
&xor "XOR \s \0
|
||||
&shl "SHL \s \0
|
||||
&shr "SHR \s \0
|
||||
&rol "ROL \s \0
|
||||
&ror "ROR \s \0 ]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue