Командна система
МИКРОПРОЦЕСОРЕН ИНСТРУМЕНТ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.