2020-05-19 09:45:30 +10:00
|
|
|
( L1 LBL! .. L1 @ RJMP, )
|
2020-05-18 01:04:08 +10:00
|
|
|
: LBL! ( l -- ) PC SWAP ! ;
|
2020-05-19 09:45:30 +10:00
|
|
|
( L1 FLBL, .. RJMPOP L1 FLBL! )
|
2020-05-18 01:04:08 +10:00
|
|
|
: FLBL, ( l -- ) LBL! 0 A,, ;
|
2020-05-19 09:45:30 +10:00
|
|
|
: FLBL! ( l opw -- )
|
2020-05-18 01:04:08 +10:00
|
|
|
( warning: l is a PC offset, not a mem addr! )
|
2020-05-19 09:45:30 +10:00
|
|
|
SWAP @ 2 * ORG @ + PC 1- H@ ( opw addr tgt hbkp )
|
|
|
|
ROT HERE ! ( opw tgt hbkp ) SWAP ROT EXECUTE H@ ! ( hbkp )
|
|
|
|
HERE ! ;
|
|
|
|
: FRJMP! ( l -- ) ['] RJMP FLBL! ;
|
|
|
|
: FRCALL! ( l -- ) ['] RCALL FLBL! ;
|
2020-05-18 01:04:08 +10:00
|
|
|
|