<Ли> LOADA - 1 | <Ли> LOADB - 2
<Ли> CONB - 3
<Ли> SAVEB - 4
<Ли> SAVEC кор - 5
<Ли> ADD - 6
<Ли> SUB - 7
<Ли> MUL - 8
<Ли> DIV - 9
<Ли> COM - 10
<Ли> JUMP адр - 11
<Ли> JEQ адр - 12
<Ли> JNEQ адр - 13
<Ли> JG адр - 14
<Ли> JGE адр - 15
<Ли> JL адр - 16
<Ли> JLE адр - 17
<Ли> STOP - 18
Числата са известни като опкодове. В ROM, нашата малка програма ще изглежда така:
//Приемаме, че един е с адрес 128 //Приемаме, че F е с адрес 129Addr Кодът /value0 3 //CONB 11 12 4 //SAVEB 1283 1284 3 //CONB 15 16 4 //SAVEB 1,297 1,298 1 //LOADA 1289 12 810 3 511 512 //CONB 10 //COM13 14 //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 <р> Може да се види, че седем линии на C код станаха 18 линии за сглобяване език, а това стана в 32 байта ROM.
Decoding <р> декодер инструкция трябва да се обърне всеки от опкодовете в набор от сигнали, които управляват различните компоненти във вътрешността на микропроцесора. Нека вземем поука ADD като пример и да разгледаме какво трябва да направите:
<ол> <ли> По време на първия тактов цикъл, ние трябва да се зареди всъщност инструкцията. Затова декодер за експлоатация трябва да: активира три състояние буфер за програмата брояч активирате RD линия активирате данни в три състояние буфер лостчето на инструкцията в регистъра инструкция
<Ли> По време на втория часовник цикъл ДОБАВИ инструкция се декодира. Необходимо е да се направи много малко: настроите работата на ALU да засуче допълнение на изхода на ALU в C регистъра
<Ли> По време на третия тактов цикъл, програмата брояч се увеличава (на теория това би могло да се припокриват в вторият часовник цикъл).
<р> Всеки инструкции могат да бъдат разделени като набор от последователно подредени операции като тези, които манипулират к