Popis:
Program začína inicializáciou registrov BX, CX a DX, pokračuje sa vstupom do vnútorného cyklu. Tu sa načíta znak, a testuje sa. Ak to bol načítaný „enter“, tak sa odskočí na vyhodnotenie. Ak nie, zistíme, či znak nebola „medzera“, ak áno, odsočí sa na vyhodnotenie. Ak to nebola „medzera“ ani „enter“ odskoči sa na spracovanie „iného znaku“.
Spracovanie „enteru“: enter ja pre náš program ukončovací znak, t.j. po jeho načítaní sa vypíšu výsledky programu, predtým sa však vyhodnotí, či slovo, ktoré ukončil nebolo korektné. Ak áno ešte sa zvýši počet správnych slov, ak nie len sa vypíšu výsledky.
Spracovanie „medzery“: medzera je pre náš program separátor slov, t.j. po jej načítaní dôjde k vyhodnoteniu korektnosti predchádzajúceho slova. Ak bolo správne, inkrementujeme počítadlo, ak nie k inkrementácii nedôjde. V oboch prípadoch nasleduje nastavenie registra CX na 0 (bude sa pokračovať prvým písmenom nového slova) a skok na načítanie ďalšieho znaku.
Spracovanie „iného znaku“: Ak sa načíta znak rôzny od „medzery“ a „enteru“ najprv sa vyhodnocuje či to nie je prvý znak nového slova (to nám indikuje 0 v CX), ak áno tak sa tento znak prekopíruje do generátora klesajúcej postupnosti, ak nie tak dôjde k jeho porovnaniu s generátorom. V pripade zhody sa dekrementuje generátor, ak sa nezhodujú zvýšime chybový príznak (DX). Vo všetkých prípadoch nasleduje skok na načítanie ďalšieho znaku.
...
Kľúčové slová:
soj
zadanie soj
ascii
strojovo orientované jazyky
algoritmus
kód
program
kód programu
jazyk C
C
programovanie
Obsah:
- Znenie zadania
Princíp riešenia - algoritmus
Kód programu