<Р> Ето набора от инструкциите на асемблер езика че проектантът може да създаде за проста микропроцесор в нашия пример:
<Ли> LOADA кор - Load регистър A от адресната памет
<Ли> LOADB кор - Load регистър B от адресната памет
<Ли> CONB против - Заредете постоянна стойност в регистър Б
<Ли> SAVEB кор - Спаси се регистрирате B до адрес памет
<Ли> SAVEC кор - Спаси се регистрирате C до адрес памет
<Ли> ADD - Добавяне на А и Б и съхранявайте резултат в C
<Ли> SUB - Изваждане А и Б и съхранява резултата в C
<Ли> MUL - Multiply А и Б и съхранява резултата в C
<Ли> DIV - Divide А и B и съхранява резултата в C
<Ли> COM - Сравнете А и Б и съхранява резултата в тест
<Ли> JUMP адр - Направо към адрес
<Ли> JEQ адр - Jump, ако равно, за справяне
<Ли> JNEQ адр - Jump, ако не е равно, за справяне
<Ли> JG адр - Jump, ако по-голяма от, за справяне
<Ли> JGE адр - Jump, ако по-голямо или равно, за справяне
<Ли> JL адр - Jump, ако по-малко от, за справяне
<Ли> JLE адр - Jump, ако по-малко от или равно, за справяне
<Ли> STOP - изпълнение Stop
Ако сте прочели Как C Програмиране работи, тогава знаете, че това просто парче C код ще изчисли факториела на 5 (където факториела на 5 = 5! = 4 * 5 * 3 * 2 * 1 = 120):
с = 1; е = 1; а (а < = 5) {F = F * А; а = а + 1;}
В края на изпълнението на програмата, променливата F съдържа факториела на 5.
събрание Language <р> AC компилатор превежда тази C код в асемблер. Ако приемем, че RAM започва на адрес 128 в този процесор, и ROM (който съдържа програмата на асемблер) започва с адрес 0, а след това за нашата проста микропроцесор на асемблер може да изглежда така:
//Приемаме, че един е с адрес 128 //Приемаме, че F е на адрес 1290 CONB 1 //а = 1; 1 SAVEB 1282 CONB 1 //F = 1; 3 SAVEB 1294