# Zkouška 19.1.2010 (10:00)

<{ForumPost(poster="Tea", timestamp=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í.
<{/ForumPost}>

<{ForumPost(poster="Coffee", timestamp=2010-01-19 19:49:01)}>
Jaká byla úspěšnost?
<{/ForumPost}>

<{ForumPost(poster="lijun", timestamp=2010-01-20 11:25:20)}>
Uspesnost bola asi 1/3. :)
<{/ForumPost}>

<{ForumPost(poster="Zaantar", timestamp=2010-01-22 23:53:25)}>
námitka, to nebyla zkouška, ale zápočtový test.  
a bylo to fuj
<{/ForumPost}>

