pcat: implement number literals
This commit is contained in:
parent
a92864a595
commit
49979404a5
11
blk/813
11
blk/813
@ -2,14 +2,13 @@
|
|||||||
these words' offset need to be stable, so they're part of
|
these words' offset need to be stable, so they're part of
|
||||||
the "stable ABI" )
|
the "stable ABI" )
|
||||||
'E' A, 'X' A, 'I' A, 'T' A,
|
'E' A, 'X' A, 'I' A, 'T' A,
|
||||||
0 A,, ( prev )
|
0 A,, ( prev ) 4 A, ( len )
|
||||||
4 A,
|
|
||||||
H@ XCURRENT ! ( set current tip of dict, 0x42 )
|
H@ XCURRENT ! ( set current tip of dict, 0x42 )
|
||||||
0x17 A, ( nativeWord )
|
0x17 A, ( nativeWord )
|
||||||
DX [BP] 0 MOVx[]+, BP DECx, BP DECx, ( popRS )
|
DX [BP] 0 MOVx[]+, BP DECx, BP DECx, ( popRS )
|
||||||
;CODE
|
;CODE
|
||||||
CODE BYE BEGIN, JMPs, AGAIN, ;CODE
|
PC ORG @ 0x20 + ! ( numberWord )
|
||||||
CODE FOO
|
PC ORG @ 0x24 + ! ( addrWord ) ( see B287 for comments )
|
||||||
AH 0x0e MOVri, ( print char ) AL 'X' MOVri, 0x10 INT,
|
DI DX MOVxx, DI [DI] MOVx[], DI PUSHx,
|
||||||
|
DX INCx, DX INCx,
|
||||||
;CODE
|
;CODE
|
||||||
: BAR FOO FOO ; : BAZ BAR FOO BYE ;
|
|
||||||
|
2
blk/815
2
blk/815
@ -1,6 +1,6 @@
|
|||||||
L4 BSET PC 3 - ORG @ 4 + ! ( find )
|
L4 BSET PC 3 - ORG @ 4 + ! ( find )
|
||||||
( find word the same name as str in SI starting from tip in
|
( find word the same name as str in SI starting from tip in
|
||||||
DI. Returns wordref in BX. Z if found, NZ if not. )
|
DI. Returns wordref in DI. Z if found, NZ if not. )
|
||||||
CH CH XORrr, CL [SI] MOVr[], ( CX -> strlen )
|
CH CH XORrr, CL [SI] MOVr[], ( CX -> strlen )
|
||||||
SI INCx, ( first char ) AX AX XORxx, ( initial prev )
|
SI INCx, ( first char ) AX AX XORxx, ( initial prev )
|
||||||
BEGIN, ( loop )
|
BEGIN, ( loop )
|
||||||
|
9
blk/817
9
blk/817
@ -1,10 +1,15 @@
|
|||||||
L3 BSET 3 A, 'B' A, 'A' A, 'Z' A,
|
CODE BYE BEGIN, JMPs, AGAIN, ;CODE
|
||||||
|
CODE EMIT
|
||||||
|
AX POPx, AH 0x0e MOVri, ( print char ) 0x10 INT,
|
||||||
|
;CODE
|
||||||
|
: FOO 'X' EMIT ; : BAR FOO FOO BYE ;
|
||||||
|
L3 BSET 3 A, 'B' A, 'A' A, 'R' A,
|
||||||
PC 3 - ORG @ 1+ ! ( main )
|
PC 3 - ORG @ 1+ ! ( main )
|
||||||
SP PS_ADDR MOVxI,
|
SP PS_ADDR MOVxI,
|
||||||
BP RS_ADDR MOVxI,
|
BP RS_ADDR MOVxI,
|
||||||
DI 0x08 MOVxm, ( LATEST )
|
DI 0x08 MOVxm, ( LATEST )
|
||||||
SI L3 @ MOVxI,
|
SI L3 @ MOVxI,
|
||||||
CALLn, L4 @ RPCn, ( find )
|
CALLn, L4 @ RPCn, ( find )
|
||||||
IFZ, JMPs, L1 @ RPCs, ( execute ) THEN,
|
IFZ, JMPn, L1 @ RPCn, ( execute ) THEN,
|
||||||
AH 0x0e MOVri, ( print char ) AL '!' MOVri, 0x10 INT,
|
AH 0x0e MOVri, ( print char ) AL '!' MOVri, 0x10 INT,
|
||||||
BEGIN, JMPs, AGAIN,
|
BEGIN, JMPs, AGAIN,
|
||||||
|
Loading…
Reference in New Issue
Block a user