( 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, JNZ, FJR, ; : IFNZ, JZ, FJR, ; ( : IFC, JRNC, FJR, ; : IFNC, JRC, FJR, ; ) : THEN, DUP PC ( l l pc ) -^ 1- ( l off ) ( warning: l is a PC offset, not a mem addr! ) SWAP ORG @ + BIN( @ - ( off addr ) C! ;