Skip to content
ksherlock edited this page Jan 19, 2020 · 4 revisions

$EB EXPR - The first operand byte is the number of bytes to generate, and is <= NUMLEN. This is followed by a reverse polish notation expression. Operators include:

Operator Description
$00 end of expression
$01 signed integer add
$02 signed integer subtract
$03 signed integer multiply
$04 signed integer divide
$05 modulo operation
$06 arithmetic negation
$07 signed bit shift operator
$08 logical and
$09 logical or
$0A logical eor
$0B logical not
$0C logical <=
$0D logical >=
$0E logical <>
$0F logical <
$10 logical >
$11 logical =
$12 bit and
$13 bit or
$14 bit eor
$15 bit not

Operands are

Operand Description
$80 current location counter
$81 ABS - followed by a NUMLEN byte absolute value
$82 WEAK - followed by a LABLEN byte weak reference label name
$83 reference to a LABLEN byte label in the operand, resolves as the label value
$84 length attribute of the following LABLEN byte label
$85 type attribute of the following LABLEN byte label
$86 count attribute of the following LABLEN byte label
$87 REL - followed by a NUMLEN byte displacement from the start of the current module
Clone this wiki locally