Some instructions and certain combinations of instructions cannot be called consecutively.
else, endif, ret, and endloop
You cannot call else, endif, ret, and endloop consecutively.
Example:
ifb b0
nop
nop
ifb b1
nop
else
nop
nop
endif // Error
else
nop
nop
call subroutine // Error because 'ret' is called at the end of the calling subroutine
endif
mova
The mova instruction cannot be called twice consecutively.
jpc/jpb immediately before an else, endif, ret, or endloop
You cannot call jpc or jpb immediately before an else, endif, ret, or endloop.
Example:
ifb b0 nop nop jumplabel: nop nop jpb b1, true, jumplabel // jpb cannot be called immediately before an endif endif
breakc immediately before an endloop
You cannot call breakc immediately before endloop.
Example:
loop i0 nop breakc 1, 1, 1 // You cannot call breakc immediately before endloop endloop
CONFIDENTIAL