ocmbytecode
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
ocmbytecode [2023/04/13 16:14] – [Opcodes 60..6F] nopsled | ocmbytecode [2023/04/13 16:20] – [Opcodes 30..3F] nopsled | ||
---|---|---|---|
Line 69: | Line 69: | ||
===== Opcodes 00..0F ===== | ===== Opcodes 00..0F ===== | ||
- | === Opcode | + | === Opcode |
does nothing | does nothing | ||
=== Opcode 0x01: Immediate byte (value) === | === Opcode 0x01: Immediate byte (value) === | ||
Line 367: | Line 367: | ||
effect: if the selector is not zero, the true blob is executed (as in Opcode 31), otherwise the false blob is executed. | effect: if the selector is not zero, the true blob is executed (as in Opcode 31), otherwise the false blob is executed. | ||
- | === Opcode 0x33 (51): While === | + | === Opcode 0x33 (51): While (while) |
stack input: condition flag (smallint) | stack input: condition flag (smallint) | ||
Line 376: | Line 376: | ||
note: The blob reference on the alternate stack is **not** removed by this instruction, | note: The blob reference on the alternate stack is **not** removed by this instruction, | ||
- | === Opcode 0x34 (52): Push to alternate stack === | + | === Opcode 0x34 (52): Push to alternate stack (toalt) |
stack input: value of any type | stack input: value of any type | ||
Line 383: | Line 383: | ||
effect: The value is moved from the standard stack to the alternate stack | effect: The value is moved from the standard stack to the alternate stack | ||
- | === Opcode 0x35 (53): Pop from alternate stack === | + | === Opcode 0x35 (53): Pop from alternate stack (fromalt) |
**alternate** stack input: value of any type | **alternate** stack input: value of any type | ||
Line 390: | Line 390: | ||
effect: The value is moved from the alternate stack to the standard stack | effect: The value is moved from the alternate stack to the standard stack | ||
- | === Opcode 0x36 (54): Peek alternate stack === | + | === Opcode 0x36 (54): Peek alternate stack (peekalt) |
**alternate** stack input: value of any type (not removed by this instruction) | **alternate** stack input: value of any type (not removed by this instruction) | ||
Line 397: | Line 397: | ||
effect: The value is **copied** from the alternate stack to the standard stack | effect: The value is **copied** from the alternate stack to the standard stack | ||
- | === Opcode 0x37 (55): Push 0 === | + | === Opcode 0x37 (55): Push 0 (0) === |
stack output: smallint containing 0 | stack output: smallint containing 0 | ||
- | === Opcode 0x38 (56): Push 1 === | + | === Opcode 0x38 (56): Push 1 (1) === |
stack output: smallint containing 1 | stack output: smallint containing 1 | ||
- | === Opcode 0x39 (57): Push 2 === | + | === Opcode 0x39 (57): Push 2 (2) === |
stack output: smallint containing 2 | stack output: smallint containing 2 | ||
- | === Opcode 0x3A (58): Push 3 === | + | === Opcode 0x3A (58): Push 3 (3) === |
stack output: smallint containing 3 | stack output: smallint containing 3 | ||
- | === Opcode 0x3B (59): Push 4 === | + | === Opcode 0x3B (59): Push 4 (4) === |
stack output: smallint containing 4 | stack output: smallint containing 4 | ||
- | === Opcode 0x3C (60): Push 5 === | + | === Opcode 0x3C (60): Push 5 (5) === |
stack output: smallint containing 5 | stack output: smallint containing 5 | ||
- | === Opcode 0x3D (61): Push 6 === | + | === Opcode 0x3D (61): Push 6 (6) === |
stack output: smallint containing 6 | stack output: smallint containing 6 | ||
- | === Opcode 0x3E (62): Push 7 === | + | === Opcode 0x3E (62): Push 7 (7) === |
stack output: smallint containing 7 | stack output: smallint containing 7 | ||
- | === Opcode 0x3F (63): Push 8 === | + | === Opcode 0x3F (63): Push 8 (8) === |
stack output: smallint containing 8 | stack output: smallint containing 8 | ||
ocmbytecode.txt · Last modified: 2023/04/23 15:05 by nopsled