Virtualní procesor 4: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
(Založena nová stránka: * Index registru: číslo kódované jako 4-bit dynamické, 0 - R0, 1 - R1, 2 - R2, 3 - R3 * Šířka registru: číslo kódované jako 4-bit dynamické, 0 - 8-bit, 1 - …) |
Bez shrnutí editace |
||
Řádek 1: | Řádek 1: | ||
* Index registru: číslo kódované jako 4-bit dynamické, 0 - |
* 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, ... |
* Šíř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 |
Rx - registr, kódováno pomocí indexu a šířky |
||
Řádek 12: | Řádek 16: | ||
| Store to memory || STM [Rx], Ry || |
| Store to memory || STM [Rx], Ry || |
||
|- |
|- |
||
| Load |
| Load system register || LDS Rx, Sx || |
||
|- |
|||
| Store system register || STS Sx, Rx || |
|||
|- |
|- |
||
| Clear || CLR Rx || |
| Clear || CLR Rx || |
||
Řádek 34: | Řádek 40: | ||
| Decrement || DEC Rx || |
| Decrement || DEC Rx || |
||
|- |
|- |
||
| Jump || JP 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 || RET || |
||
|- |
|||
| Return from subroutine with flag || RET flag || |
|||
|- |
|- |
||
| Push to stack || PUSH Rx || |
| Push to stack || PUSH Rx || |
||
|- |
|- |
||
| Pop from stack || POP 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 || |
|||
|} |
|} |
||
Verze z 22. 1. 2016, 00:20
- 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 |