Zkouška 19.1.2010 (10:00)

Tea at 2010-01-19 13:40:44

Úloha: interpret asembleru. Parametry velikost paměti, počet registrů a program.
Počítač má N registrů a paměť o velikosti M. V paměti i registrech se uchovávají inty.

Instrukce
MOV co,kam
ADD kam,co //sečte kam a co a uloží do kam
SUB kam,co
MUL kam,co
DIV kam,co
MOD kam,co
**PRINT **co //vytiskne obsah co na konzoly
Na místech co a kam je buď registr, paměť, nebo konstanta.

Adresace
r0…r(N-1) registry
[0]..[M-1] přístup na konkrétní místo v paměti
[r0]..[r(N-1)] nepřímé adresování, přístup na adresu, která je v registru

Další instrukce
**SEQ ** ridici_reg P
//kod
ENDSEQ
SEQ je cyklus. Provede kód, který má uvnitř, P+1 krát s tím, že nastavuje řídící registr od 0 do P. Pokud pokaždé na konci cyklu ridici_reg rovná nula, pak po skončení provádění cyklu bude rovnat nule jinak jedné. Na místě P může být libovolný parametr (paměť, konstanta, registr). P může být záporné číslo, pak se cyklus přeskočí.

PAR ridici_reg P
//kod
ENDPAR
To samá jako SEQ s tím, že se provádí paralelně. Každá instance dostane svoji kopii registrů a paměť je sdílená. Po skončení PAR se registry obnoví do stavu před PAR až na ridici_reg, pro který platí to samé jako u SEQ.

Vstup je korektní.

Coffee at 2010-01-19 19:49:01

Jaká byla úspěšnost?

lijun at 2010-01-20 11:25:20

Uspesnost bola asi 1/3. :)

Zaantar at 2010-01-22 23:53:25

námitka, to nebyla zkouška, ale zápočtový test.
a bylo to fuj