mirror of
https://github.com/hsoft/collapseos.git
synced 2024-12-25 17:18:06 +11:00
Don't use IMMEDIATE in icore
Since the fix of its RAM addr, we use the wrong CURRENT in every usage of IMMEDIATE in icore. We therefore have to manually set the flag for all 3 immediate words in that unit.
This commit is contained in:
parent
c972c70ab1
commit
2af959a13d
@ -53,7 +53,11 @@
|
|||||||
' ( get word )
|
' ( get word )
|
||||||
-^ ( apply offset )
|
-^ ( apply offset )
|
||||||
, ( write! )
|
, ( write! )
|
||||||
; IMMEDIATE
|
;
|
||||||
|
( We can't use IMMEDIATE because the one we've just compiled
|
||||||
|
in z80c target's the *target*'s RAM addr, not the host's.
|
||||||
|
manually set namelen field. )
|
||||||
|
0x82 CURRENT @ 1 - C!
|
||||||
|
|
||||||
: RAM+
|
: RAM+
|
||||||
[ RAMSTART LITN ] _c +
|
[ RAMSTART LITN ] _c +
|
||||||
@ -219,7 +223,10 @@
|
|||||||
|
|
||||||
( : and ; have to be defined last because it can't be
|
( : and ; have to be defined last because it can't be
|
||||||
executed now also, they can't have their real name
|
executed now also, they can't have their real name
|
||||||
right away )
|
right away. We also can't use IMMEDIATE because the offset
|
||||||
|
used for CURRENT is the *target*'s RAM offset. we're still
|
||||||
|
on the host.
|
||||||
|
)
|
||||||
|
|
||||||
: X
|
: X
|
||||||
_c (entry)
|
_c (entry)
|
||||||
@ -235,15 +242,17 @@
|
|||||||
( maybe number )
|
( maybe number )
|
||||||
ELSE _c (parse*) _c @ EXECUTE _c LITN THEN
|
ELSE _c (parse*) _c @ EXECUTE _c LITN THEN
|
||||||
AGAIN
|
AGAIN
|
||||||
; IMMEDIATE
|
;
|
||||||
|
|
||||||
: Y
|
: Y
|
||||||
['] EXIT _c ,
|
['] EXIT _c ,
|
||||||
_c R> _c DROP ( exit : )
|
_c R> _c DROP ( exit : )
|
||||||
; IMMEDIATE
|
;
|
||||||
|
|
||||||
( Give ":" and ";" their real name )
|
( Give ":" and ";" their real name and make them IMMEDIATE )
|
||||||
|
0x81 ' X 1 - C!
|
||||||
':' ' X 4 - C!
|
':' ' X 4 - C!
|
||||||
|
0x81 ' Y 1 - C!
|
||||||
';' ' Y 4 - C!
|
';' ' Y 4 - C!
|
||||||
|
|
||||||
( Add dummy entry. we use CREATE because (entry) is, at this
|
( Add dummy entry. we use CREATE because (entry) is, at this
|
||||||
|
Loading…
Reference in New Issue
Block a user