diff --git a/blk/040 b/blk/040 index d7159f0..982de5b 100644 --- a/blk/040 +++ b/blk/040 @@ -11,6 +11,5 @@ CONSTANT x n -- Creates cell x that when called pushes its DOES> -- See B17. IMMED? a -- f Checks whether wordref at a is immediate. IMMEDIATE -- Flag the latest defined word as immediate. -LITA n -- Write address n as a literal. LITN n -- Write number n as a literal. VARIABLE c -- Creates cell x with 2 bytes allocation. diff --git a/blk/263 b/blk/263 index 068a880..9f2c2a9 100644 --- a/blk/263 +++ b/blk/263 @@ -8,9 +8,9 @@ VARIABLE XCURRENT : _xapply ( a -- a-off ) DUP ORG @ > IF ORG @ - BIN( @ + THEN ; : X' XCON ' XCOFF ; -: X['] XCON ' _xapply LITA XCOFF ; +: X['] XCON ' _xapply LITN XCOFF ; : XCOMPILE - XCON ' _xapply LITA + XCON ' _xapply LITN LIT< , FIND DROP _xapply , XCOFF ; : X[COMPILE] XCON ' _xapply , XCOFF ; diff --git a/blk/283 b/blk/283 index b00a9a2..bb097d9 100644 --- a/blk/283 +++ b/blk/283 @@ -8,7 +8,7 @@ NOP, ( 0a, unused ) EXDEHL, JP(HL), NOP, ( 17, nativeWord ) 0 JPnn, ( 1a, next ) 0 JPnn, ( unused ) NOP, NOP, ( 20, numberWord ) NOP, NOP, ( 22, litWord ) -NOP, NOP, ( 24, addrWord ) NOP, NOP, ( 26, unused ) +NOP, NOP, NOP, NOP, ( 24, unused ) 0 JPnn, ( RST 28 ) 0 JPnn, ( 2b, doesWord ) NOP, NOP, ( 2e, unused ) 0 JPnn, ( RST 30 ) diff --git a/blk/287 b/blk/287 index 4702033..b619729 100644 --- a/blk/287 +++ b/blk/287 @@ -1,6 +1,5 @@ ( See B85 for word routine impl notes ) PC ORG @ 0x20 + ! ( numberWord ) -PC ORG @ 0x24 + ! ( addrWord ) ( This is not a word, but a number literal. This works a bit differently than others: PF means nothing and the actual number is placed next to the numberWord reference in the diff --git a/blk/399 b/blk/399 index 0b8cb57..b97dc27 100644 --- a/blk/399 +++ b/blk/399 @@ -4,8 +4,7 @@ : UNTIL COMPILE (?br) H@ - _bchk , ; IMMEDIATE : [ INTERPRET ; IMMEDIATE : ] R> DROP ; -: LITA 36 , , ; -: COMPILE ' LITA ['] , , ; IMMEDIATE +: COMPILE ' LITN ['] , , ; IMMEDIATE : [COMPILE] ' , ; IMMEDIATE diff --git a/blk/400 b/blk/400 index f336980..0a5b04c 100644 --- a/blk/400 +++ b/blk/400 @@ -5,7 +5,7 @@ ['] EXIT , R> DROP ( exit : ) ; IMMEDIATE -: ['] ' LITA ; IMMEDIATE +: ['] ' LITN ; IMMEDIATE ';' X' _ 4 - C! ( give ; its name ) ':' X' _ 4 - C! ( give : its name ) '(' X' _ 4 - C! diff --git a/emul/forth.bin b/emul/forth.bin index c52c785..0589c00 100644 Binary files a/emul/forth.bin and b/emul/forth.bin differ