pcat: begin implementing compiledWord/next

This commit is contained in:
Virgil Dupras 2020-06-16 19:05:36 -04:00
parent feeedcc55c
commit 16d6a0b377
6 changed files with 17 additions and 7 deletions

View File

@ -1,4 +1,4 @@
: CODE ( same as CREATE, but with native word )
(entry)
23 C, ( 23 == nativeWord ) ;
: ;CODE ;
: ;CODE JMPn, 0x1a ( next ) RPCn, ;

View File

@ -2,4 +2,6 @@ PC/AT Recipe
Work in progress.
Register usage: SP is PSP, BP is RSP, DX is IP
811 Hello World boot

View File

@ -1,4 +1,3 @@
( Registers. SP -> PSP DX -> RSP CX -> IP )
H@ ORG !
JMPn, 0 A,, ( 00, main ) JMPn, 0 A,, ( 03, find )
0 A,, ( 06, unused ) 0 A,, ( 08, LATEST )

View File

@ -7,7 +7,8 @@
H@ XCURRENT ! ( set current tip of dict, 0x42 )
0x17 A, ( nativeWord )
;CODE
CODE BYE BEGIN, JMPs, AGAIN, ;CODE
CODE FOO
AH 0x0e MOVri, ( print char ) AL 'X' MOVri, 0x10 INT,
BEGIN, JMPs, AGAIN,
;CODE
: BAR FOO FOO BYE ;

14
blk/814
View File

@ -1,5 +1,13 @@
L1 BSET PC 3 - ORG @ 0x34 + ! ( execute -- DI -> wordref )
AH AH XORrr,
AL [DI] MOVr[],
PC 0x1d - ORG @ 0x1b + ! ( next )
DI DX MOVxx, ( <-- IP ) DX INCx, DX INCx,
DI [DI] MOVx[], ( wordref )
( continue to execute )
L1 BSET PC 0x36 - ORG @ 0x34 + ! ( execute -- DI -> wordref )
AH AH XORrr, AL [DI] MOVr[],
DI INCx, ( PFA )
AX JMPr,
PC 0x11 - ORG @ 0x0f + ! ( compiledWord -- DI -> PFA )
DX DI MOVxx, DX INCx, DX INCx, ( --> IP )
DI [DI] MOVx[],
JMPs, L1 @ RPCs,

View File

@ -1,4 +1,4 @@
L3 BSET 3 A, 'F' A, 'O' A, 'O' A,
L3 BSET 3 A, 'B' A, 'A' A, 'R' A,
PC 3 - ORG @ 1+ ! ( main )
DI 0x08 MOVxm, ( LATEST )
SI L3 @ MOVxI,