Získávání znalostí
/ Knowledge Discovery >> Získávání znalostí >> technologie >> počítač >> počítačový hardware >>

Jak mikroprocesory Work

  • SAVEC mem - Uložit registrovat C na adresu paměti
  • ADD - přidat A a B, a skladujte Výsledek v C
  • SUB - Odečíst A a B a uložit výsledek v C
  • MUL - Násobení A a B a uložit výsledek v C
  • DIV - Divide A a B a uložit výsledek v C
  • COM - Srovnání A a B a uložit výsledek v testu
  • JUMP adr - Skok na adresu
  • JEQ adr - skok, je-li rovný, řešit
  • JNEQ adr - Jump, ne-li stejné, řešit
  • JG addr - skok, je-li větší než, řešit
  • JGE adr - skok, je-li větší nebo rovno, řešit
  • JL addr - skok, je-li menší než řešit
  • JLE addr - skok, je-li menší nebo rovno, k řešení
  • STOP - provedení Zastavit

    Pokud jste četli Jak C Programming funguje, pak víte, že tento jednoduchý kousek kódu C spočítá faktoriál 5 (kde faktoriál 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120):
    = 1, f = 1, zatímco (A menší nebo rovnu 5) {f = f * a; a = a + 1;}

    Na konci realizace programu, proměnná f obsahuje faktoriál 5.
    Assembly Language

    AC překladač překládá tento kód v C do assembleru. Za předpokladu, že RAM začíná na adrese 128 v tomto procesoru, a ROM (který obsahuje assembleru programu) začíná na adrese 0, pak pro náš jednoduchý mikroprocesor jazyk sestavení může vypadat například takto:
    //Předpokládejme, že je na adrese 128 //Předpokládejme, že F je na adrese 1290 CONB 1 //a = 1, 1 SAVEB 1282 CONB 1 //f = 1; 3 SAVEB 1294 LOADA 128 //jestliže a gt; 5 skok na 175 CONB 56 COM7 JG 178 LOADA 129 //f = f * a 9 LOADB 12.810 MUL11 SAVEC 12.912 LOADA 128 //a = a + 1, 13 CONB 114 ADD15 SAVEC 12.816 JUMP 4 //smyčka zpět do if17 STOP ROM

    Takže teď otázka je, " Jak se všechny tyto pokyny vypadat v ROM &Quot?; Každá z těchto jazykových Návod k montáži musí být reprezentován binární číslo. Pro jednoduchost předpokládejme, že každý jazyk Montážní návod je přiděleno jedinečné číslo, například takto:

  • LOADA - 1
  • LOADB - 2
  • CONB - 3
  • SAVEB - 4
  • SAVEC mem - 5
  • ADD - 6
  • SUB - 7
  • MUL - 8
  • DIV - 9
  • COM - 10
  • JUMP adr - 11
  • JEQ adr - 12
  • JNEQ adr - 13
  • JG addr - 14
  • JGE adr - 15
  • JL adr - 16
  • JLE adr - 17
  • STOP - 18

    Čísla jsou známé jako operační kódy. V ROM, náš malý program bude vypadat takto:
    //Předpokládejme, že je na adrese 128 //Předpokládejme, že F je na adrese 129Addr operačního kódu /Hodnota

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