Virtualní procesor 4
- Index registru: číslo kódované jako 4-bit dynamické, 0 - constant, 1 - R1, 2 - R2, 3 - R3, ...
- Šířka registru: číslo kódované jako 4-bit dynamické, 0 - 8-bit, 1 - 16-bit, 2 - 32-bit, 3 - 64-bit, 4 - 128-bit, ...
- Datové typy
- Celé číslo
- Záporné číslo
- Desetinné číslo
Rx - registr, kódováno pomocí indexu a šířky
| Název | Zápis | Poznámka |
|---|---|---|
| Copy | COPY Rx, Ry | |
| Load from memory | LDM Rx, [Ry] | |
| Store to memory | STM [Rx], Ry | |
| Load system register | LDS Rx, Sx | |
| Store system register | STS Sx, Rx | |
| Clear | CLR Rx | |
| Exchange | XCHG Rx, Ry | při různých šířkách? |
| Input | IN Rx, [Ry] | |
| Output | OUT [Rx], Ry | |
| Xor | XOR Rx, Ry | |
| And | AND Rx, Ry | |
| Or | OR Rx, Ry | |
| No operation | NOP | |
| Increment | INC Rx | |
| Decrement | DEC Rx | |
| Jump | JP Rx | |
| Jump with flag | JPF flag,Rx | |
| Jump relative | JR Rx | |
| Jump relative with flag | JRF flag, Rx | |
| Call subroutine | CALL Rx | |
| Call subroutine with flag | CALLF flag, Rx | |
| Call subroutine relative | CALLR Rx | |
| Call subroutine relative with flag | CALLRF flag,Rx | |
| Return from subroutine | RET | |
| Return from subroutine with flag | RET flag | |
| Push to stack | PUSH Rx | |
| Pop from stack | POP Rx | |
| Addition | ADD Rx, Ry | |
| Substraction | SUB Rx, Ry | |
| Multiplication | MUL Rx, Ry | |
| Division | DIV Rx, Ry | |
| Shift left | SHL Rx, Ry | |
| Shift right | SHR Rx, Ry | |
| Compare | CMP Rx, Ry | |
| Set bit | SET Rx, Ry | |
| Reset bit | RES Rx, Ry | |
| Test bit | BIT Rx, Ry |