Прости езикови програми за събрание 8086 с обяснение

Прости езикови програми за събрание 8086 с обяснение

Програмирането на ниво събрание е много важно за ниско ниво вградена система дизайн се използва за достъп до инструкциите на процесора за манипулиране на хардуера. Това е най-примитивният език на машинно ниво, който се използва за създаване на ефективен код, който консумира по-малък брой тактови цикли и отнема по-малко памет в сравнение с език за програмиране на високо ниво . Това е пълен хардуерно ориентиран език за програмиране, за да напишете програма, която програмистът трябва да знае за вградения хардуер. Тук предоставяме основи на програмирането на ниво сборка 8086.



Програмиране на ниво събрание 8086

Програмиране на ниво събрание 8086

Програмиране на ниво събрание 8086

The език за програмиране на сглобяване е език на ниско ниво, който е разработен с помощта на мнемоника. Микроконтролерът или микропроцесорът може да разбере само бинарния език като 0 или 1, поради което асемблерът преобразува асемблерния език в двоичен език и го съхранява в паметта за изпълнение на задачите. Преди да напишат програмата, вградените дизайнери трябва да имат достатъчно познания по конкретен хардуер на контролера или процесора, така че първо трябваше да знаем хардуер на процесор 8086.






Хардуер на процесора

Хардуер на процесора

Архитектура на процесора 8086

8086 е процесор, който е представен за всички периферни устройства, като например серийна шина, и RAM и ROM, I / O устройства и т.н., които са външно свързани към процесора чрез системна шина. Микропроцесорът 8086 има Архитектура, базирана на CISC , и има периферни устройства като 32 I / O, Последователна комуникация , спомени и броячи / таймери . Микропроцесорът изисква програма за извършване на операциите, които изискват памет за четене и запазване на функциите.



Архитектура на процесора 8086

Архитектура на процесора 8086

Програмирането на ниво сборка 8086 се основава на регистрите на паметта. Регистърът е основната част на микропроцесори и контролери които се намират в паметта, което осигурява по-бърз начин за събиране и съхраняване на данните. Ако искаме да манипулираме данни с процесор или контролер чрез извършване на умножение, събиране и т.н., не можем да направим това директно в паметта, където има нужда от регистри за обработка и съхраняване на данните. Микропроцесорът 8086 съдържа различни видове регистри, които могат да бъдат класифицирани според техните инструкции, като например

Регистри с общо предназначение : Процесорът 8086 се състои от 8 регистъра с общо предназначение и всеки регистър има свое име, както е показано на фигурата, като AX, BX, CX, DX, SI, DI, BP, SP. Всичко това са 16-битови регистри, където четири регистъра са разделени на две части като AX, BX, CX и DX, което се използва главно за запазване на числата.

Регистри със специално предназначение : Процесорът 8086 се състои от 2- специални функционални регистри като IP и флаг регистри. IP регистърът сочи към текущата изпълняваща се инструкция и винаги работи за събиране с регистъра на CS сегмента. Основната функция на регистрите на флаговете е да модифицират операциите на процесора след завършване на механичните функции и не можем да осъществим директен достъп
Сегментни регистри: Процесорът 8086 се състои от 4-сегментни регистри като CS, DS, ES, SS, който се използва главно за възможно съхраняване на всякакви данни в сегментните регистри и можем да получим достъп до блок памет, използвайки сегментни регистри.


Прости асемблерни езикови програми 8086

Програмирането на асемблерен език 8086 има някои правила като

  • Нивото на сглобяване програмиране 8086 кодът трябва да бъде написан с главни букви
  • Етикетите трябва да бъдат последвани от двоеточие, например: label:
  • Всички етикети и символи трябва да започват с буква
  • Всички коментари се въвеждат с малки букви
  • Последният ред на програмата трябва да завършва с директивата END

8086 процесорите имат две други инструкции за достъп до данните, като WORD PTR - за дума (два байта), BYTE PTR - за байт.

Оп-код и операнд

Оп-код и операнд

Оп код: Една инструкция се извиква като op-код, който може да бъде изпълнен от процесора. Тук инструкцията „MOV“ се извиква като оп-код.

Операнди: Данните от един парче се наричат ​​операнди, които могат да се управляват от оп-кода. Например операцията за изваждане се извършва от операндите, които се изваждат от операнда.
Синтаксис: SUB b, c

8086 микропроцесорни асемблерни програми

Напишете програма за четене на символ от клавиатурата

MOV ах, 1h // подпрограма за въвеждане на клавиатура
INT 21h // въвеждане на символи
// символът се съхранява в ал
MOV c, al // копиране на символ от alto c

Напишете програма за четене и показване на символ

MOV ах, 1h // подпрограма за въвеждане на клавиатура
INT 21h // четене на знак в ал
MOV dl, al // копиране на символ в dl
MOV ах, 2h // подпрограма за извеждане на символи
INT 21h // показване на символ в dl

Напишете програма, като използвате регистри с общо предназначение

ORG 100ч
MOV AL, VAR1 // проверете стойността на VAR1, като го преместите в AL.
LEA BX, VAR1 // получавам адрес на VAR1 в BX.
MOV BYTE PTR [BX], 44h // промяна на съдържанието на VAR1.
MOV AL, VAR1 // проверете стойността на VAR1, като го преместите в AL.
НАДЯСНО
VAR1 DB 22h
КРАЙ

Напишете програма за показване на низа с помощта на библиотечни функции

включва emu8086.inc // Макро декларация
ORG 100ч
ПРИНТ ‘Здравей, свят!’
GOTOXY 10, 5
PUTC 65 // 65 - е ASCII код за „A“
PUTC „B“
RET // връщане към операционната система.
END // директива за спиране на компилатора.

Аритметични и логически инструкции

Процесите на аритметична и логическа единица 8086 се разделят на три групи като операция събиране, разделяне и увеличаване. Повечето Аритметични и логически инструкции засягат регистъра на състоянието на процесора.

Мнемониката за програмиране на асемблерния език 8086 е под формата на op-код, като MOV, MUL, JMP и т.н., които се използват за извършване на операциите. Примери за програмиране на асемблерен език 8086

Събиране
ORG0000h
MOV DX, # 07H // преместване на стойността 7 в регистъра AX //
MOV AX, # 09H // преместване на стойността 9 в акумулатор AX //
Добавете AX, 00H // добавете CX стойност със стойност R0 и съхранява резултата в AX //
КРАЙ
Умножение
ORG0000h
MOV DX, # 04H // преместване на стойността 4 в регистъра DX //
MOV AX, # 08H // преместване на стойността 8 в акумулатор AX //
MUL AX, 06H // Умноженият резултат се съхранява в Accumulator AX //
КРАЙ
Изваждане
ORG 0000h
MOV DX, # 02H // преместваме стойността 2, за да регистрираме DX //
MOV AX, # 08H // преместване на стойността 8 в акумулатор AX //
SUBB AX, 09H // Стойността на резултата се съхранява в акумулатора A X //
КРАЙ
Дивизия
ORG 0000h
MOV DX, # 08H // преместете стойността 3, за да регистрирате DX //
MOV AX, # 19H // преместване на стойността 5 в акумулатор AX //
DIV AX, 08H // крайната стойност се съхранява в Accumulator AX //
КРАЙ

Следователно това е всичко за програмиране на ниво събрание 8086, 8086 Архитектура на процесора, прости примерни програми за процесори 8086, аритметични и логически инструкции. Освен това, при всякакви въпроси относно тази статия или проекти за електроника можете да се свържете с нас, като коментирате в раздела за коментари по-долу.