-
Notifications
You must be signed in to change notification settings - Fork 0
EXPR
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 |