Liczby są znane jako rozkazy. W pamięci ROM, nasz mały program będzie wyglądać następująco: Największa //Załóżmy, że jest pod adresem 128 //Załóżmy F jest pod adresem 129Addr rozkazu /value0 3 //CONB 11 12 4 //SAVEB 1283 1284 3 //CONB 15 16 4 //SAVEB jedno tysiące dwieście dziewięćdziesiąt siedem jedno tysiąc dwieście dziewięćdziesiąt osiem 1 //Loada jeden tysiąc dwieście osiemdziesiąt dziewięć 12810 3 //CONB 511 512 10 14 ////COM13 JG 1714 3115 1 //Loada 12916 12917 2 //LOADB 12818 12819 8 //MUL20 5 //SAVEC 12921 12922 1 //Loada 12823 12824 3 //CONB 125 126 6 //ADD27 5 //SAVEC 12828 12829 11 //JUMP 430 831 18 //STOP
Możesz zobaczyć, że siedem linii kodu C stał 18 linii montażu języka, a stała 32 bajtów w pamięci ROM. Największa Decoding
Dekoder instrukcja musi kolejno na każdy z rozkazy do zestawu sygnałów napędzających różnych elementów znajdujących się wewnątrz mikroprocesora. Weźmy instrukcja ADD jako przykład i patrzeć na to, co trzeba zrobić: Największa
- W pierwszym cyklu zegara, musimy właściwie załadować instrukcji. Dlatego dekoder instrukcji musi: Zainstaluj bufor tri-state licznika programu aktywować linię RD aktywować danych w buforze tri-state zatrzask instrukcji do rejestru instrukcji Największa
- W drugim cyklu zegara, Instrukcja ADD jest dekodowany. To musi zrobić bardzo niewiele: ustawić działanie ALU do dodatku zatrzask wyjście ALU do rejestru C Największa
- Podczas trzeciego cyklu zegara, licznik programu jest zwiększany (w teorii może to być pokrywały się drugi cykl zegara).
Każda instrukcja może być podzielona jako zestaw zsekwencjonowanych operacji takich jak te, które manipulują składników mikroprocesora w odpowiedniej kolejności. Niektóre instrukcje, jak tej instrukcji ADD, może trwa