Fix mis-documentation in 8086 boot code comments
This commit is contained in:
parent
c939c7e84a
commit
7722db0762
19
blk.fs
19
blk.fs
@ -2533,19 +2533,14 @@ sure it goes back to its previous level before next is called.
|
|||||||
|
|
||||||
(cont.)
|
(cont.)
|
||||||
( ----- 441 )
|
( ----- 441 )
|
||||||
STABLE ABI: As a compatible binary, this binary follows the
|
PS CHECKS: chkPS, is a bit different than in z80: it is para-
|
||||||
same stable ABI as its z80 counterpart.
|
metrizable. The idea is that we always call chkPS, before pop-
|
||||||
|
ping, telling the expected size of stack. This allows for some
|
||||||
|
interesting optimization. For example, in SWAP, no need to pop,
|
||||||
|
chkPS, then push, we can chkPS and then proceed to optimized
|
||||||
|
swapping in PS.
|
||||||
|
|
||||||
PS CHECKS: Unlike z80 boot code, we don't check PS at each next
|
Load range: B445-B461
|
||||||
call (we do check RS though). It is the responsibility of every
|
|
||||||
native PSP-modifying word to call chkPS, . Also, chkPS, is a
|
|
||||||
bit different than in z80: it is parametrizable. The idea is
|
|
||||||
that we always call chkPS, before popping, telling the expected
|
|
||||||
size of stack. This allows for some interesting optimization.
|
|
||||||
For example, in SWAP, no need to pop, chkPS, then push, we can
|
|
||||||
chkPS and then proceed to optimized swapping in PS.
|
|
||||||
|
|
||||||
To assemble, load blocks 445 through 461
|
|
||||||
( ----- 445 )
|
( ----- 445 )
|
||||||
VARIABLE lblexec VARIABLE lblnext
|
VARIABLE lblexec VARIABLE lblnext
|
||||||
H@ ORG !
|
H@ ORG !
|
||||||
|
@ -51,6 +51,10 @@ Stack underflow and overflow: In each native word involving
|
|||||||
PS popping, we check whether the stack is big enough. If it's
|
PS popping, we check whether the stack is big enough. If it's
|
||||||
not we go in "uflw" (underflow) error condition, then abort.
|
not we go in "uflw" (underflow) error condition, then abort.
|
||||||
|
|
||||||
|
This means that if you implement a native word that involves
|
||||||
|
popping from PS, you are expected to call chkPS, for under-
|
||||||
|
flow situations.
|
||||||
|
|
||||||
We don't check RS for underflow because the cost of the check
|
We don't check RS for underflow because the cost of the check
|
||||||
is significant and its usefulness is dubious: if RS isn't
|
is significant and its usefulness is dubious: if RS isn't
|
||||||
tightly in control, we're screwed anyways, and that, well
|
tightly in control, we're screwed anyways, and that, well
|
||||||
|
Loading…
Reference in New Issue
Block a user