mirror of
https://github.com/hsoft/collapseos.git
synced 2024-12-28 07:58:06 +11:00
boot: a little dereferencing to make things a bit faster
This commit is contained in:
parent
e569e40665
commit
ae14c55feb
Binary file not shown.
@ -281,6 +281,7 @@ PC ORG @ 0x1b + ! ( next )
|
||||
IY INCss,
|
||||
( continue to execute )
|
||||
|
||||
L3 BSET
|
||||
PC ORG @ 0x34 + ! ( execute )
|
||||
( DE points to wordref )
|
||||
EXDEHL,
|
||||
@ -292,6 +293,7 @@ PC ORG @ 0x34 + ! ( execute )
|
||||
( DE points to PFA )
|
||||
JP(HL),
|
||||
|
||||
L1 BSET
|
||||
PC ORG @ 0x0f + ! ( compiledWord )
|
||||
( Execute a list of atoms, which always end with EXIT.
|
||||
DE points to that list. What do we do:
|
||||
@ -308,7 +310,7 @@ PC ORG @ 0x0f + ! ( compiledWord )
|
||||
D (HL) LDrr,
|
||||
HL INCss,
|
||||
HL PUSHqq, IY POPqq, ( --> IP )
|
||||
0x33 JPnn, ( 33 == execute )
|
||||
JR, L3 BWR ( execute )
|
||||
|
||||
PC ORG @ 0x0c + ! ( cellWord )
|
||||
( Pushes PFA directly )
|
||||
@ -330,7 +332,7 @@ PC ORG @ 0x2c + ! ( doesWord )
|
||||
E (HL) LDrr,
|
||||
HL INCss,
|
||||
D (HL) LDrr,
|
||||
0x0e JPnn, ( 0e == compiledWord )
|
||||
JR, L1 BWR ( compiledWord )
|
||||
|
||||
( Core words )
|
||||
KEY and EMIT are not defined here. There're
|
||||
@ -340,7 +342,7 @@ PC ORG @ 0x2c + ! ( doesWord )
|
||||
CODE EXECUTE
|
||||
DE POPqq,
|
||||
chkPS,
|
||||
0x33 JPnn, ( 33 == execute )
|
||||
JR, L3 BWR ( execute )
|
||||
|
||||
( a b c -- b c a )
|
||||
CODE ROT
|
||||
|
Loading…
Reference in New Issue
Block a user