Командна система

МИКРОПРОЦЕСОРЕН ИНСТРУМЕНТ8085 FIRINTEL

A.1. Какво е командна система?

Всеки компютър, независимо как се дефинира това понятие, може да прави само това, което човек му каже да направи. Компютърната програма е поредица от команди, които компютърът разпознава и изпълнява определени действия в съответствие с това. Чрез поставяне на програма веднъж в област на паметта, достъпна за процесора, можете да накарате компютъра да изпълни последователността от действия, кодирани в тази програма толкова пъти, колкото са ви необходими, за да решите същия проблем. Наборът от команди, които микропроцесорът 8085A може да разпознае, е фиксиран в дизайна на кристала.

Всяка компютърна команда инициира изпълнението на определено действие. Микропроцесорът 8085A реализира група от инструкции за прехвърляне на данни между регистри, между регистри и RAM и между регистри и I / O портове. Освен това има аритметични и логически команди, условни и безусловни команди за прескачане, команди за управление. Микропроцесорът разпознава тези команди само когато са кодирани в двоично представяне.

A.2. Символи исъкращения

Следните символи и съкращения се използват в краткото описание на набора инструкции на микропроцесора 8085A.

Акумулаторен регистър А

Данни 8-битови данни

Данни 16 16-битови данни

Байт2Втори команден байт

Байт 3 Трети команден байт

r, r1, r2 Един от регистрите

DDD, SSS Модели на битове, показващи един от регистрите A. B, C, D E, H, L

(DDD приемник, SSS източник):

Име на регистър DDD или SSS

rp Една от регистровите двойки:

B дефинира двойка B-C в регистър B-най-значимите цифри, в регистър C-по-ниските.

D дефинира двойка D-E, в регистър D - високи битове, в регистър E - ниски H - дефинира двойка H -L- в регистър H - високи битове, в регистър L - ниски SP дефинира 16-битов регистър на указателя на стека

RP битов модел, указващ една от двойките регистри

Двойка регистър на RP

rh Първият регистър (съдържа най-значимите битове) от определената двойка регистри.

rl Вторият регистър (съдържа най-малките битове) от определената двойка регистри.

PC 16-битов брояч регистър

команди (за позоваване на горните и долните 8 бита се използват съответно обозначенията PCH и PCL)

SP 16-битов регистър на указателя на стека (SPH и SPL се използват съответно за посочване на горните и долните 8 бита)

rm m-ти бит от регистър r (битовете са номерирани от 7 до 0 отляво надясно)

AC Extra Carry

( ) Съдържание на клетката с памет

или случай, посочен в скоби

U Логическо ИЛИ

¯ "Допълнение" (напр. (Ā))

n Номер на слота за прекъсване на софтуера (0-7)

NNN Двоично представяне на номера на местоположението на софтуерното прекъсване (000-111)

Референтният набор от инструкции по-долу предоставя подробно описание на всички инструкции за микропроцесор 8085A.Описанието на всяка инструкция се състои от следните елементи:

Макрос асемблерният формат MCS-85, състоящ се от мнемонични инструкции и полета за операнди, се намира на първия ред от описанието.

Името на командата е дадено в скоби на същия ред.

Следващият ред съдържа символично описание на действията на командата.

Символично описание е последвано от словесно описание.

След словесното описание схемаизображение на двоичната форма на командата.

А.З. Командни иданниформати

Данните в паметта се съхраняват като 8-битови двоични числа:

MSB LSB

При съхраняване на данни в регистър или клетка на паметта е необходимо да се определи редът, в който се записват битовете. В микропроцесора 8085A бит 0 е дефиниран като най-маловажният бит (LSB), а бит 7 е дефиниран като най-значимият бит (MSB).

система

Register - командата дефинира регистър или двойка регистри, в които се съхраняват данните.

Незабавно - данните се съдържат директно в командата. Данните могат да бъдат 8-битови или 16-битови (първо по-ниските битове данни, след това по-високите).

A.5. Флагове за условия

Микропроцесорът 8085A има пет флага за условие, свързани с изпълнението на инструкциите: нула, знак, четен, пренос и допълнително пренасяне. Всеки от тях е представен като еднобитов регистър (или тригер) на микропроцесора. Флагът се задава чрез въвеждане на 1 в съответния бит и се нулира чрез въвеждане на 0.

Във всички случаи, когато не е изрично посочено, командите действат върху флаговете за условие, както следва:

Нула - ако резултатът от изпълнението на командата е 0, тогава флагът е зададен, в противен случай се изчиства.

Знак - ако старшият бит от резултата от изпълнението на командата е 1 (отрицателно число), тогава флагът е поставен, в противен случай се изчиства.

Четност - ако сумата от битовете на резултата от изпълнението на командата по модул 2 е 0 (т.е. ако броят на единиците в нея е четен), тогава флагът се задава, в противен случай (т.е. когато броят на единиците в резултата е нечетен) се нулира.

Пренасяне - ако е имало пренасяне в резултат на изпълнение на командата (например в резултат надобавяне) или вземане (в резултат на изваждане или сравняване) от най-значимата цифра, тогава флагът се задава, в противен случай се изчиства. Незадължително пренасяне Ако инструкцията предизвиква пренасяне от третия към четвъртия бит на резултата, тогава флагът се задава, в противен случай се изчиства. Този флаг се задава от инструкциите за добавяне, изваждане, увеличаване, намаляване, сравняване и булево, но се използва основно в инструкцията за корекция на десетичния акумулатор на DAA.

A.6. Справканабор от команди

Този раздел описва всяка инструкция за микропроцесор 8085A, разделена на пет групи, както следва:

Инструкции за пренос на данни - прехвърляне на данни между регистри или между регистри и клетки на паметта. Включва команди за изпращане, изтегляне, писане и споделяне.

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

Логически команди - извършване на операции И, ИЛИ, ИЗКЛЮЧВАЩО ИЛИ, сравнение, преместване и добавяне на данни в регистри или клетки на паметта.

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

Команди за стек, I/O и управление на процесора - команди за стек, четене на входни портове, запис към изходни портове, настройка и четене на маски за прекъсване и флагове за състояние.

Форматите на инструкциите, описани в препратката, съответстват на кода, генериран от асемблера, използван в системите с инструменти Intellec® от Intel.

A.6.1. Команди за трансфер на данни

Командите от тази група се използват за прехвърляне на данни между регистрите, както и между регистрите и клетките на паметта. Тези команди не засягат флаговете за условие.

Съдържанието на регистър r2 се прехвърля в регистър r1.