Bytecode list¶
Assembly | Code | Invented in |
---|---|---|
nope | 0x00 | nlr-v0 |
break | 0x01 | nlr-v0 |
push arg | 0x02 | nlr-v0 |
push &arg | 0x03 | nlr-v0 |
store arg | 0x04 | nlr-v0 |
push local | 0x05 | nlr-v0 |
push &local | 0x06 | nlr-v0 |
store local | 0x07 | nlr-v0 |
push field | 0x08 | nlr-v0 |
push &field | 0x09 | nlr-v0 |
store field | 0x0A | nlr-v0 |
call | 0x0B | nlr-v0 |
ptr call | 0x0C | nlr-v0 |
long call | 0x0D | nlr-v0 |
long ptr call | 0x0E | nlr-v0 |
ret | 0x0F | nlr-v0 |
push <integer> push <float> | 0x10 ⋮ 0x1A | nlr-v0 |
push null | 0x1B | nlr-v0 |
pop | 0x1C | nlr-v0 |
goto | 0x1D | nlr-v0 |
goto if == 0 | 0x1E | nlr-v0 |
goto if != 0 | 0x1F | nlr-v0 |
goto if == | 0x20 | nlr-v0 |
goto if != | 0x21 | nlr-v0 |
goto if > | 0x22 | nlr-v0 |
goto if >= | 0x23 | nlr-v0 |
goto if < | 0x24 | nlr-v0 |
goto if <= | 0x25 | nlr-v0 |
add | 0x26 | nlr-v0 |
sub | 0x27 | nlr-v0 |
div | 0x28 | nlr-v0 |
mul | 0x29 | nlr-v0 |
rem | 0x2A | nlr-v0 |
and | 0x2B | nlr-v0 |
or | 0x2C | nlr-v0 |
xor | 0x2D | nlr-v0 |
neg | 0x2E | nlr-v0 |
not | 0x2F | nlr-v0 |
shl | 0x30 | nlr-v0 |
shr | 0x31 | nlr-v0 |
lsr | 0x32 | nlr-v0 |
Two-byte instruction prefix | 0xFF | unused |