STROJOVO ORIENTOVANÉ JAZYKY


Riešenie príkladov:
Dátum  Obsah Download Veľkosť
30.10.2002 Riešenie problémov nn a funkciu XCHG(X,Y), programované pre RAM stroj. soj1.doc 42 KB
21.11.2002 Riešenie problému načítania desiatkového čísla v ASCII kóde a jeho prevod na binárne čislo.(programované pre procesor i8080)  SOJi8080.doc 33 KB

Riešenie príkladov - procesor Intel 8086:
Dátum Obsah Download Veľkosť
21.11.2002 Niekoľko zaujímavých príkladíkov (pravdepodobne ich riešil práve študent našej fakulty) programovaných pre procesor i8086

I_8086.doc

33 KB

8.12.2002 Načítajte zo súboru reťazec znakov ukončený znakom „nového riadku“. Nech slovo je postupnosť znakov medzi dvoma znakmi „medzera“. Určte počet slov reprezentujúcich zápis osmičkového čísla podľa syntaxu jazyka C. Počet vytlačte osmičkovo.

zadanie2.zip

63 KB

8.12.2002 Ďalšie riešené zadanie

Zadanie.zip

6 KB

7.1.2003 Načítajte z klávesnice reťazec znakov ukončený znakom „nového riadku“. Nech slovo je postupnosť znakov medzi dvoma znakmi „medzera“. Určte počet slov reprezentujúcich zápis osmičkového čísla podľa syntaxu jazyka C. Počet vytlačte osmičkovo.

zadanie1.zip

55 KB

7.1.2003 Načítajte zo súboru reťazec znakov ukončený znakom „nového riadku“. Nech slovo je postupnosť znakov medzi dvoma znakmi „medzera“. Určte počet slov reprezentujúcich zápis šestnástkového čísla podľa syntaxu jazyka C. Počet vytlačte osmičkovo.

zadanie5.zip

83 KB


Procesory Intel 80XXX - vývojové prostriedky:
Dátum  Obsah Download Veľkosť
30.10.2002 Utilitka na preklad .EXE súboru späť do zdrojáku. Sourcer.zip 113 KB
21.11.2002 Turbo Assembler pps_tasm.zip 464 KB
21.11.2002 Turbo Debuger pps_td.zip 820 KB

Procesory Intel 80XXX - dokumentácia:
Dátum Obsah Download Veľkosť
21.11.2002 Popis procesoru i8086 vo formáte .pdf  (prevzaté z časopisu PC REVUE) Asembler.pdf 901 KB
21.11.2002 Niečo o BIOSE (taktiež z časopisu PC REVUE) Bios.PDF 611 KB
21.11.2002 Zopár zdrojáčikov sťa by príklad (samozrejme, že časopisu PC REVUE) Assembler_zdrojaky.zip 154 KB
8.12.2002 Učebnica asembleru (autor: Mgr. Tomáš Papoušek ) knizka.zip 69 KB
8.12.2002 Technická dokumentácia k MS DOS-u a prerušeniam. Techhelp.zip 572 KB

 

Čo bolo na skúške.....  
(17.1.2003)

Teoretické otázky:
1.)    Počítač IAS, registrová štruktúra.
2.)    Procedúry: syntax, ilustrácia na príklade

Príklad:
Vytvorte generujúci systém pre zátvorkové výrazy (z. v.) ak pre rôzne a, b platí, že ak (a) je zátvorkový výraz, tak aj (ab) je zátvorkový výraz.

(No kolegyne  a kolegovia. Moje duševné oči vidia údes na vašich tvárach. Žiaden strach. Ani ja som to nevedel. Koniec koncov ani som nemusel. Príklad mi vymenili za nasledujúci.)

Príklad:
Majme dvojinštrukčný počítač (bol nakreslený aj obrázok s jeho architektúrou), ktorý má nasledovné inštrukcie:
a)    SUBS    X    =    AC <- AC - M<X>
                                  M<X> <- AC;   PC <- PC + 1
b)    JMP    X    =    PC <- M<X(0;n-2)>
Zrealizujte podprogram pre tento počítač, ktorý bude vykonávať nasledujúcu operáciu:
STORE    X    =    M<X> <- AC            ;Uloženie AC do pamäte s adresou X

Riešenie:
Adresa        Inštrukcia                    Poznámka
STORE:                                            ;Návestie
5                SUBS    Z                       ;Z = 0, teda uloží AC do Z
6                SUBS    X                      ;Po vykonaní inštrukcie bude AC = M<X> = y
7                SUBS    X                       ;Po vykonaní inštrukcie bude AC = M<X> = 0 (nula)
8                SUBS    Z                       ;Do AC aj do Z dostaneme zápornú hodnotu čísla, ktoré chceme uložiť
9                SUBS    X                       ;Do X sme teraz uložili AC
10              SUBS    Z                        ;Znuluje obsah AC aj Z
11              SUBS    X                       ;Po vykonaní tejto inštrukcie dostaneme zo zápornej hodnoty v X kladnú
12              -
-                 -
-                 -
-                 -
Z                0                                        ;Adresa Z s obsahom 0 (nula)
-                 -
-                 -
n-2             -                                           ;Koniec pamäte

Teda náš program začína na adrese 5. Pričom predpokladáme, že do pamäte sme súčasne s programom na adresu Z uložili hodnotu 0. Podprogram je možné opätovne spustiť, lebo po jeho predchádzajúcom ukončení nám na adrese Z ostane hodnota 0. čo je vlastne jediná podmienka pre korektné fungovanie podprogramu.

Niekoľko postrehov na záver:
Faktom je, že žiadne takéto hore uvedené teoreticko-abstraktné riešenia pán profesor nevyžaduje. Keby som totiž nemal ani tento posledný príklad vyriešený mal pripravený náhradný priklad:

Naprogramujte funkciu XCHG(X,Y) pre RASP stroj.

Tento problém je riešený na tejto stránke ale pre RAM stroj (pozri Riešenie príkladov, príklad 1.). A taktiež je čosi podobné možné nájsť aj v skriptách. Apropo skriptá. Dajte si pozor. Je v nich veľmi veľa nepresností a chýb (a to nehovorím o gramatike).
Teda podľa môjho postrehu, pán profesor vyžaduje len to o čom bola reč na konzultáciách. Smolou je, že všetko, ale to ste si už asi stihli vydedukovať. Aby ste si mohli utvoriť lepší obraz uvediem ešte doplňujúce otázky, ktoré mi položil pán profesor k teoretickým otázkam:

K teoretickej otázke číslo 1:
Počítač IAS disponoval registrami IR a IBR. Viete mi povedať akú charakteristickú črtu počítača IAS odrážali tieto registre? (Nemal som totiž dokreslený obrázok, ktorý je v sriptách a nemal som popísané všetky registre.)

Odpoveď:
Počítač IAS mal pamäť organizovanú po 40 bitových slovách, pričom inštrukcie zaberali 20 bitov. V každom slove sa nachádzali dve inštrukcie, ľavá a pravá. Potom podľa toho či sa vykonáva ľavá inštrukcia, do IR sa presúva ľavá a do IRB pravá inštrukcia, alebo pravá inštrukcia, do IR sa presunie pravá a do IRB ľavá inštrukcia.

K teoretickej otázke číslo 2:
V príklade tu uvádzate inštrukciu call NazovProceduri. Viete mi povedať aký je syntax tejto inštrukcie? Myslím tým vyjadrenie činnosti tejto inštrukcie v jazyku RTL.

Odpoveď:
STACK <- IP,    SP <- SP - 2
IP <- NazovProceduri

Tak teda úplne na záver mi neostáva už nič len vám popriať pevné nervy a veľa štastia pri skúške!

Späť na úvodnú stránku