Získavanie vedomostí
/ Knowledge Discovery >> Získavanie vedomostí >> technológie >> počítač >> počítačový hardvér >>

Ako mikroprocesory Work

árať pre jednoduchý mikroprocesor v našom príklade:
  • Load mem - Load registráciu z adresy pamäti
  • LOADB mem - Load register B z pamäťovej adresy
  • CONB con - načítať konštantnú hodnotu do registra B
  • SAVEB mem - Uloženie registrovať B na adresu pamäti
  • cicavec mem - Uložiť registrovať C na adresu pamäti
  • ADD - pridať A a B, a skladujte výsledok v C
  • SUB - Odpočítať A a B a uložiť výsledok v C
  • MUL - Násobenie A a B a uložiť výsledok v C
  • DIV - Divide A a B a uložiť výsledok v C
  • COM - Porovnanie A a B a uložiť výsledok v teste
  • JUMP adr - Skok na adresu
  • JEQ adr - skok, ak je rovný, riešiť
  • JNEQ adr - Jump, ak nie rovnaké, riešiť
  • JG addr - skok, ak je väčšia ako, riešiť
  • JGE adr - skok, ak je väčšie alebo rovné, riešiť
  • JL addr - skok, ak je menšia ako riešiť
  • JLE addr - skok, ak je menšie alebo rovné, k riešeniu
  • STOP - prevedenie Zastaviť

    Ak ste čítali Ako C Programming funguje, potom viete, že tento jednoduchý kúsok kódu C spočíta faktoriál 5 (kde faktoriál 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120):
    = 1, f = 1, zatiaľ čo (A menšie alebo rovnú 5) {f = f * a; a = a + 1;}

    Na konci realizácie programu, premenná f obsahuje faktoriál 5.
    Assembly Language

    AC prekladač prekladá tento kód v C do assembleri. Za predpokladu, že RAM začína na adrese 128 v tomto procesore, a ROM (ktorý obsahuje assemblera programu) začína na adrese 0, potom pre náš jednoduchý mikroprocesor jazyk zostavenie môže vyzerať napríklad takto:
    //Predpokladajme, že je na adrese 128 //Predpokladajme, že F je na adrese 1290 CONB 1 //a = 1, 1 SAVEB 1282 CONB 1 //f = 1; 3 SAVEB 1294 Load 128 //ak a gt; 5 skok na 175 CONB 56 COM7 JG 178 Load 129 //f = f * a 9 LOADB 12.810 MUL11 cicavec 12.912 Load 128 //a = a + 1, 13 CONB 114 ADD15 cicavec 12.816 JUMP 4 //slučka späť do if17 STOP ROM

    Takže teraz otázka je, " Ako sa všetky tieto pokyny vyzerať v ROM &Quote ?; Každá z týchto jazykových návod na montáž musí byť reprezentovaný binárne číslo. Pre jednoduchosť predpokladajme, že každý jazyk Montážny návod je pridelené jedinečné číslo, napríklad takto:

  • Load - 1
  • LOADB - 2
  • CONB - 3
  • SAVEB - 4
  • cicavec mem - 5
  • ADD - 6
  • SUB - 7
  • MUL - 8
  • DIV - 9
  • COM - 10
  • JUMP adr - 11
  • JEQ adr - 12
  • JNEQ adr -

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