Žinios Discovery
/ Knowledge Discovery >> Žinios Discovery >> Technika >> kompiuteris >> kompiuterinės įrangos >>

Kaip mikroprocesorių Work

ite išversti žodžius į savo bitų modelius labai lengvai, o tada iš montuotojo produkcija dedama į atminties mikroprocesoriaus vykdyti.

Štai ir asemblerio kalba instrukcijų rinkinys, kad dizaineris gali sukurti už paprasta mikroprocesorius mūsų pavyzdyje:

  • Loada MEM - Apkrovos Užregistruokite iš atminties adresą
  • LOADB MEM - Apkrovos registras B iš atminties adresą
  • CONB CON - įdėkite pastovus vertė į registrą B
  • SAVEB MEM - Išsaugoti užsiregistruoti B atminties adresą
  • SAVEC MEM - Išsaugoti užsiregistruoti C iki atminties adresą
  • Pridėti - Pridėti A ir B saugoti Rezultatas C
  • SUB - Atimti A ir B saugoti į C rezultatą
  • MUL - Padauginkite A ir B ir saugoti į C rezultatą
  • DIV - padalinti ir B ir saugoti į C rezultatą
  • COM - Palyginti A ir B saugoti bandymo rezultatas
  • PEREITI adr - Pereiti į adreso
  • JEQ adr - šuolis, jei lygūs, spręsti
  • JNEQ adr - šuolis, jei ne lygūs, spręsti
  • JV adr - šuolis, jei šis yra didesnis nei, kad būtų sprendžiamos
  • JGE adr - šuolis, jei didesnis nei arba lygus, spręsti
  • JL adr - šuolis, jei mažiau nei, spręsti
  • JLE adr - šuolis, jei mažesnis arba lygus, spręsti
  • STOP - Sustabdyti vykdymo

    Jei perskaitėte Kaip C programavimo darbai, tuomet jūs žinote, kad tai paprastas gabalas C kodas apskaičiuos 5 faktorialas (kai 5 = 5 faktorialas! = 5 * 4 * 3 * 2 * 1 = 120):
    a = 1, f = 1; Nors (a < = 5) {f = F * A, a = a + 1;}

    Tuo programos vykdymo pabaigos, kintamasis f pateikiamas 5.
    Asemblerio kalba

    AC sudarytojas faktorialas verčia šioje C kodą į Asemblerio kalba. Darant prielaidą, kad RAM pradeda adresu 128 Šioje procesorius, ir ROM (kuriame yra Asamblėjos kalbos programa) pradeda adresu 0, tada mūsų paprastą mikroprocesorių surinkimo kalba gali atrodyti taip: Rīga //Tarkime, a yra adresu 128 //Tarkime F adresu 1290 CONB 1 //a = 1; 1 SAVEB 1282 CONB 1 //f = 1; 3 SAVEB 1294 Loada 128 //jei > 5 175 CONB 56 COM7 JG 178 Loada 129 //f = f šuolis * A, 9 LOADB 12810 MUL11 SAVEC 12912 Loada 128 //a = a + 1; 12816 JUMP 4 //kilpa atgal į if17 13 CONB 114 ADD15 SAVEC STOP ROM

    Taigi dabar kyla klausimas, " Kaip padaryti visas šias instrukcijas ieškoti ROM? " Kiekviena iš šių Asemblerio kalba instrukcijos turi būti atstovaujamos dvejetainis skaičius. Paprastumo dėlei, tarkime, kiekvieną surinkimas kalbos mokymas yra suteikiamas unikalus

    Page [1] [2] [3] [4] [5] [6] [7] [8] [9]