DCX RP - работает со стеком при выполнении этих команд флаги не меняются.
DAD RP - сложение содержимого регистровой пары и Н-пары регистра
(HL) Ü(RP)+(HL)
Данная команда однобайтовая и выполняется за 3 МЦ, на флаги не влияет. Использует регистровые пары (BC), (DE),(HL) и указатель стека.
Команды сложения содержимых регистра и А-регистра
ADD R
(A) Ü(A)+( R )
При выполнении данной команды флаги используются все.
Для сложения многобайтных чисел ADC R
(A) Ü(A)+( R) + (CY) Üфлаг переполнения
Команды вычитания содержимого регистра из регистра А
SUB R
(A) Ü(A)-(R )
если (А)<( R) - результат будет в дополнительном коде, причем знак будет находиться в регистре признаков в о флаге знаков.
Для вычитания многобайтных чисел
SBB (R )
(A) Ü(A)- ( R)-(CY)
В более новых МП реализуется операция умножения и деления. При этом используются флаги арифметического переполнения.
Команды логических операций
Выполняются одновременно над всеми ресурсами
А 10100011 Выполнение лог. операций AND над регистрами А и С
С 00001111
Арез 00000011 ANA C И
10101111 OKA C ИЛИ
XPA C ? искл. ИЛИ
При выполнении лог-х операций флаги вспомогательного переноса и флаг переполнения всегда равны 0.
Команды сдвига
RLC A сдвиг влево
CY
Данная команда эквивалентна умножению на 2
А 00000001
00000010 и т.д.
RRC - сдвиг вправо
A
СY
RAR - циклический сдвиг вправо с учетом переноса
A
CY
RAL - циклический сдвиг влево
А
CY
JMP adr - команда безусловного перехода
(PC) ß adr - команда трехбайтовая, выполняется за 3 машинных цикла
Переходы по условию
JNZ adr - анализирует флаг 0, если флаг 0, если флаг нудя равен нулю, то осуществляет переход к указанному адресу
Если Z=1
JZ
JNC CY=0
JC CY=1
JPO P=0
JPE P=1
JP S=0
JM S=1
Команды перехода выполняются не по содержимому аккумуляторов, а по состоянию флагов
(PC) ß (H,L)
RST N - команды рестарта
Содержимое программного счетчика выталкивается в стек, а в программный счетчик записывается число 8N, где N - номер рестарта
RST 0 - процессор осуществляет запись в стек содержимого программного счетчика
RST 1 - переход к адресу 0008
RST 2 - --------- // -------- 0010
При выполнении команды RST в область стека будет сохранен адрес, следующий за командой RST (0108)
RET - программный счетчик записывает содержимое стека. Вершина записывается в младший байт ПС. Затем вершина стека увеличивается на 1, затем вершина стека записывается в старший байт ПС
(PCL)ß ((SP)) RET - безусловный возврат
(SP) ß (SP)+1
(PCH) ß ((SP))
(SP) ß (SP)+1
Существует 8 условий возврата
Команды RST и RET могут временно помещать в стек не только программный счетчик, но и слово состояния программы и другие РОН
Команда вызова подпрограммы
CALL adr (с помощью нее можем обращаться к любому участку памяти)
(SP) ß (SP)-1
((SP)) ß (PCH)
(SP) ß (SP)-1
((SP)) ß (PCL)
(PC) ß adr
Данная команда выполняется за 5 машинных циклов. Также вызов подпрограммы может осуществляться по условию:
Все команды переходов имеют непосредственную адресацию
В МП, где используются более сложные адресации, сущ.:
n команды ближнего перехода (использует относительную адресацию и переход выполняется внутри 1-й страницы)
n страница памяти - часть адресного пространства размером 256 б
При коротком переходе используется абсолютная адресация к странице. При длинном переходе - адресация к памяти.
Используют в МП типа BE48 и BE51
Команды управления МП-ом
NOP - 4 такта, 1 маш. Цикл.
Данная команда используется для организации временных задержек и при отладке программ (пустой оператор)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.