Virtuální procesor: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
Smazaný obsah Přidaný obsah
Založena nová stránka: ==Koncept== * Je použit lineárně adresovatelný paměťový prostor, každý buňka je velikosti Bajt * U všech operací, kde je to žádoucí, jsou podporovány bl… |
(Žádný rozdíl)
|
Verze z 16. 5. 2012, 07:55
Koncept
- Je použit lineárně adresovatelný paměťový prostor, každý buňka je velikosti Bajt
- U všech operací, kde je to žádoucí, jsou podporovány blokové operace
- Instrukce mají až dva parametry a každý z nich může být definován jako blok (adresa + délka) nebo hodnota
- U každého bloku může být definováno zda inkrementovat vzestupně nebo sestupně
Instrukční sada
- Aritmetické
ADD SUB MUL DIV MOD
- Logické
- Bitové
SHL SHR OR AND XOR
- Řízení běhu
NOP - žádná operace JP
- Zásobník
registr SP PUSH - vloží data na zásobník POP - načte data ze zásobníku CALL RET
- Přesuny
COPY - kopíruje data XCH - vymění data CMP
- Vnější zařízení
IN - načte data ze vstupu OUT - zapíše data na výstup
Příklady
| Kód | Popis |
|---|---|
COPY (DEST):10, (SOURCE):10 |
Kopie bloku 10 bajtů |
COPY (DEST):10, (SOURCE):2 |
Kopie bloku 2 bajtů do bloku 10 bajtů, blok 2 bajtů se opakuje |
COPY (DEST):10, 1 |
Nastavení bloku 10 bajtů na hodnotu 1 |
ADD (DEST):10, 1 |
Přičtení hodnoty 1 do jednotlivých bajtů v bloku 10 bajtů |
ADD (DEST):10, 1:10 |
Přičtení hodnoty 1 do prvního bajtu v cílovém bloku |