version 1.98, 2001/05/09 16:22:10
|
version 1.101, 2001/09/04 09:15:28
|
Line 944 Variable user-vars 0 user-vars !
|
Line 944 Variable user-vars 0 user-vars !
|
: target>bitmask-size ( u1 -- u2 ) |
: target>bitmask-size ( u1 -- u2 ) |
1- tcell>bit rshift 1+ ; |
1- tcell>bit rshift 1+ ; |
|
|
: allocatetarget ( size --- adr ) |
: allocatetarget ( size -- adr ) |
dup allocate ABORT" CROSS: No memory for target" |
dup allocate ABORT" CROSS: No memory for target" |
swap over swap erase ; |
swap over swap erase ; |
|
|
Line 1050 T has? rom H
|
Line 1050 T has? rom H
|
' dictionary ALIAS rom-dictionary |
' dictionary ALIAS rom-dictionary |
|
|
|
|
: setup-target ( -- ) \G initialize targets memory space |
: setup-target ( -- ) \G initialize target's memory space |
s" rom" T $has? H |
s" rom" T $has? H |
IF \ check for ram and rom... |
IF \ check for ram and rom... |
\ address-space area nip 0<> |
\ address-space area nip 0<> |
Line 1087 T has? rom H
|
Line 1087 T has? rom H
|
ELSE r> drop THEN |
ELSE r> drop THEN |
REPEAT drop ; |
REPEAT drop ; |
|
|
\ MakeKernal 22feb99jaw |
\ MakeKernel 22feb99jaw |
|
|
: makekernel ( targetsize -- targetsize ) |
: makekernel ( targetsize -- targetsize ) |
dup dictionary >rlen ! setup-target ; |
dup dictionary >rlen ! setup-target ; |
Line 2112 T has? peephole H [IF]
|
Line 2112 T has? peephole H [IF]
|
[ELSE] |
[ELSE] |
: compile: ( ghost -- ghost xt colon-sys ) :noname ; |
: compile: ( ghost -- ghost xt colon-sys ) :noname ; |
: ;compile ( ghost xt colon-sys -- ghost ) |
: ;compile ( ghost xt colon-sys -- ghost ) |
postpone ; drop ; immediate |
postpone ; drop ['] prim-resolved over >comp ! ; immediate |
[THEN] |
[THEN] |
|
|
: by ( -- ghost ) \ Name |
: by ( -- ghost ) \ Name |
Line 2442 Cond: compile ( -- ) restrict? \ name
|
Line 2442 Cond: compile ( -- ) restrict? \ name
|
IF gexecute |
IF gexecute |
ELSE compile (compile) addr, THEN THEN ;Cond |
ELSE compile (compile) addr, THEN THEN ;Cond |
|
|
|
Cond: [compile] ( -- ) restrict? \ name |
|
bl word gfind dup 0= ABORT" CROSS: Can't compile" |
|
0> IF gexecute |
|
ELSE dup >magic @ <imm> = |
|
IF gexecute |
|
ELSE compile (compile) addr, THEN THEN ;Cond |
|
|
Cond: postpone ( -- ) restrict? \ name |
Cond: postpone ( -- ) restrict? \ name |
bl word gfind dup 0= ABORT" CROSS: Can't compile" |
bl word gfind dup 0= ABORT" CROSS: Can't compile" |
0> IF gexecute |
0> IF gexecute |
Line 2698 previous
|
Line 2705 previous
|
: .s .s ; |
: .s .s ; |
: bye bye ; |
: bye bye ; |
|
|
|
\ dummy |
|
|
|
: group source >in ! drop ; |
|
|
\ turnkey direction |
\ turnkey direction |
: H forth ; immediate |
: H forth ; immediate |
: T minimal ; immediate |
: T minimal ; immediate |
Line 2715 previous
|
Line 2726 previous
|
: unlock previous forth also cross ; |
: unlock previous forth also cross ; |
|
|
\ also minimal |
\ also minimal |
: [[ also unlock ; |
: [[+++ also unlock ; |
: ]] previous previous also also ; |
: +++]] previous previous also also ; |
|
|
unlock definitions also minimal |
unlock definitions also minimal |
: lock lock ; |
: lock lock ; |