z80: remove layer of indirection in most "next" calls
The only calls still using the stable ABI indirection are those made before the next routine is created.
This commit is contained in:
parent
eba83fa9a9
commit
76e698157c
3
blk/243
3
blk/243
@ -5,7 +5,8 @@
|
|||||||
|
|
||||||
VARIABLE lblchkPS
|
VARIABLE lblchkPS
|
||||||
: chkPS, lblchkPS @ CALLnn, ; ( chkPS, B305 )
|
: chkPS, lblchkPS @ CALLnn, ; ( chkPS, B305 )
|
||||||
: JPNEXT, 26 BJP, ; ( 26 == next )
|
CREATE lblnext 0x1a , ( stable ABI until set in B300 )
|
||||||
|
: JPNEXT, lblnext @ JPnn, ;
|
||||||
: CODE ( same as CREATE, but with native word )
|
: CODE ( same as CREATE, but with native word )
|
||||||
(entry) 0 C, ( 0 == native ) ;
|
(entry) 0 C, ( 0 == native ) ;
|
||||||
: ;CODE JPNEXT, ;
|
: ;CODE JPNEXT, ;
|
||||||
|
2
blk/300
2
blk/300
@ -1,4 +1,4 @@
|
|||||||
PC ORG @ 0x1b + ! ( next )
|
lblnext BSET PC ORG @ 0x1b + ! ( next )
|
||||||
( This routine is jumped to at the end of every word. In it,
|
( This routine is jumped to at the end of every word. In it,
|
||||||
we jump to current IP, but we also take care of increasing
|
we jump to current IP, but we also take care of increasing
|
||||||
it by 2 before jumping. )
|
it by 2 before jumping. )
|
||||||
|
BIN
emul/forth.bin
BIN
emul/forth.bin
Binary file not shown.
Loading…
Reference in New Issue
Block a user