Laboratorul 11 - Probleme examen
Exemplu de exercițiu pentru examen
Completați setul de instrucțiuni al calculatorului didactic prin adăugarea următoarelor instrucțiuni de operare pe șiruri:
MOVS: transferă len cuvinte din memorie de la adresa sursă (SI) la adresa destinație (DI). După transferul fiecărui cuvânt dintre cele len cuvinte, se incrementează referințele SI și DI.
CMPS: compară două șiruri. Returnează poziția primei perechi de cuvinte care diferă. Compararea se face prin scăderi repetate, de fiecare dată setându-se indicatorii de stare și nereținându-se rezultatul.
SCAS: compară valoarea din registrul ACC cu elementele șirului referențiat de DI. Returnează poziția primei apariții a valorii din ACC în șir. Compararea se face prin scăderi repetate, de fiecare dată setându-se indicatorii de stare și nereținându-se rezultatul.
LOADS: transferă elementul referențiat de SI în registrul RA și incrementează referința SI.
STOS: transferă conținutul registrului ACC în len cuvinte, începând de la adresa referențiată de DI. După execuția instrucțiunii, DI va avea valoarea DI+len.
Legenda:
ACC este registrul RA
len este registrul RC
SI este registrul XA
DI este registrul BA
Etapele rezolvării unei astfel de probleme
Codificarea instrucțiunilor
Modificarea diagramei de stări-tranziții care descrie funcționarea calculatorului didactic
Descrierea comportamentală și/sau structurală a părții nou-adăugate calculatorului didactic (folosind un HDL precum Verilog, AHPL, VHDL etc.)
Aceste etape sunt parcurse în fișierul de aici. Încercați să oferiți o rezolvare problemei enunțate mai sus, apoi să vă verificați soluția pe baza detaliilor din fișier.
Erată
în schema de la pagina 2, pentru instrucțiunea SCAS ramurile condiției ZF trebuie sa fie: 0 - trecere la următorul element al șirului, 1 - trecere la următoarea instrucțiune.
instrucțiunile de salt condiționat de la liniile: 4, 4.1, 91, 92, 94, 106, 112, 114, 116, 124, 126 trebuie să conțină operatorul de salt: →.
Resurse