749fdf1b18
Verified against nasm with equivalent code.
18 lines
473 B
Plaintext
18 lines
473 B
Plaintext
( Place BEGIN, where you want to jump back and AGAIN after
|
|
a relative jump operator. Just like BSET and BWR. )
|
|
: BEGIN, PC ;
|
|
: BSET PC SWAP ! ;
|
|
( same as BSET, but we need to write a placeholder )
|
|
( : FJR, PC 0 A, ;
|
|
: IFZ, JRNZ, FJR, ;
|
|
: IFNZ, JRZ, FJR, ;
|
|
: IFC, JRNC, FJR, ;
|
|
: IFNC, JRC, FJR, ; )
|
|
: THEN,
|
|
DUP PC ( l l pc )
|
|
-^ ( l off )
|
|
( warning: l is a PC offset, not a mem addr! )
|
|
SWAP ORG @ + ( BIN( @ - ) ( off addr )
|
|
C! ;
|
|
|