diff --git a/blk/758 b/blk/758 index fbe8fcb..46e07ef 100644 --- a/blk/758 +++ b/blk/758 @@ -1,4 +1,4 @@ : CODE ( same as CREATE, but with native word ) (entry) 23 C, ( 23 == nativeWord ) ; -: ;CODE ; +: ;CODE JMPn, 0x1a ( next ) RPCn, ; diff --git a/blk/810 b/blk/810 index fca6302..4d4fd45 100644 --- a/blk/810 +++ b/blk/810 @@ -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 diff --git a/blk/812 b/blk/812 index b50ddcf..13b8698 100644 --- a/blk/812 +++ b/blk/812 @@ -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 ) diff --git a/blk/813 b/blk/813 index d1f9126..e3e643f 100644 --- a/blk/813 +++ b/blk/813 @@ -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 ; diff --git a/blk/814 b/blk/814 index d08ff0c..a7d6714 100644 --- a/blk/814 +++ b/blk/814 @@ -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, diff --git a/blk/817 b/blk/817 index 56bc3a1..5ad60a7 100644 --- a/blk/817 +++ b/blk/817 @@ -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,