Категории: ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника |
Арифметические команды с непосредственной адресациейСложение с непосредственным операндом: ADI, b2; (A)+b2 ® A, т.е. содержимое аккумулятора сложить с непосредственным операндом b2. ACI , b2; (A)+b2+(CY) ® A, т.е. сложение содержимых регистра А, непосредственного операнда b2 и бита переноса CY. Вычитание непосредственного операнда: SUI , b2; (A)-b2 ® A, т.е. из содержимого аккумулятора вычесть непосредственный операнд b2. SBI , b2; (A)-b2-(CY) ® A. Команды сравнения CMP r; CPI, b2 выполняют операцию сравнения содержимого аккумулятора с содержимым регистра r или непосредственным операндом b2. При этом содержимое аккумулятора не изменяется, но формируются признаки в регистре F. CMP r; (A)-(r), где r: B, C, D, E, H, L, M, A. CPI , b2; (A)-b2. Команда сложения удвоенной точности: DAD rp; (HL)+(rp) ® HL, rp: регистровые пары ВС, DE, HL. При выполнении этой команды устанавливается только флаг CY. Команда десятичной коррекцииDAA применяется после выполнения операций сложения двоично-десятичных чисел с целью преобразования результата из двоичной формы в двоично-десятичную. При выполнении команды DAA реализуются следующие действия: 1. Если значение младшей тетрады аккумулятора больше кода 1001 или если флаг АС=1, то к содержимому аккумулятора прибавляется число 0110. 2. Если после этого старшая тетрада содержимого аккумулятора имеет код больший 1001 или если флаг CY=1, то к содержимому аккумулятора прибавляется число 0110 0000.
Команды логических операций
Признаки результата: S Z AC P CY
Команда побитной конъюнкции: ANA r; (A) & (r) ® A. Команда побитной дизъюнкции: ORA r; (A) v (r) ® A. Команда побитного сложения по модулю два: XRA r; (A) Å (r) ® A. В этих командах r: B, C, D, E, H, L, M, A. Рассмотрим выполнение команды ANA E (рис.2.14).
Логические команды с непосредственной адресацией (непосредственным операндом b2). ANI , b2; (A) & b2 ® A. ORI , b2;(A) v b2 ® A. XRI , b2;(A) Å b2 ® A.
Команды сдвига в аккумуляторе на 1 разряд Признаки результата: S Z AC P CY Сдвинуть циклически влево:
Сдвинуть циклически вправо:
Сдвинуть циклически влево через бит CY:
Сдвинуть циклически вправо через бит CY: RAR; Команды передачи управления
Признаки результата: S Z AC P CY После выборки кода команды из памяти в программном счетчике РС формируется адрес следующей по порядку команды методом автоматического увеличения содержимого РС на единицу. Такой механизм ведения по программе имеет место на линейных ее участках. В разветвляющихся или циклических программах и при использовании подпрограмм имеют место переходы, когда выполняется не следующая по порядку команда, а команда, находящаяся в другом месте программной памяти. Команды, выполняющие такие переходы, называют командами передачи управления. Команды передачи управления осуществляют перезагрузку РС адресом передачи управления, который указывается в кодах этих команд. Команды безусловной передачи управления: PCHL; (H) ® PCH, Перейти без условия по адресу, находящемуся в HL. (L) ® PCL. JMP b3b2; b2 ® PCL, Перейти без условия по адресу b3b2. b3 ® PCH. Команды передачи управления по условиювыполняют передачу управления, если условие выполняется, и не выполняют перехода, если указанное условие не выполняется. Условия определяются по значениям признаков в регистре флагов CY, P, Z, S по их единичному или нулевому значению. Восемь команд передачи управления приведены в табл.2.1. В общем виде все восемь команд передачи управления по условию можно представить в виде одного мнемокода Jcon b3b2 иодного кода команды 11ССС010, где conпеременная часть мнемокода, ССС - код условия передачи управления (см. табл.2.1.).
Таблица 1.1
Рассмотрим выполнение МП одной команды передачи управления по условию Z=1 (рис.2.15).
Вызов подпрограмм(команда CALL b3b2). Команда вызова подпрограмм CALL b3b2 состоит из первого байта (код операции) и адреса вызываемой подпрограммы (b3b2). При выполнении этой команды текущее содержимое РС (т.е. адрес команды, следующей за CALL) автоматически запоминается в стеке. Этот адрес (называемый адресом возврата) возвращается в РС командой возврата RET, которой должно завершаться выполнение вызванной подпрограммы. Для запоминания адресов возврата необходима магазинная память (стек), работающая по принципу: первый записанный в нее адрес возврата извлекается последним. При выполнении команды CALL b3b2 выполняются следующие действия: (РС) ® в стек, т.е. адрес возврата загружается в стек, b3b2 ® PC, т.е. адрес подпрограммы загружается в РС. Рассмотрим выполнение команды CALL 86 A4 (рис.2.16) При выполнении команды CALL 86A4 реализуются следующие действия: программный счетчик, ведя по программе, считывает из нее команду CALL 86A4. Содержимое РС после считывания последнего байта команды CALL увеличивается на единицу и равно 856Dh. Далее начинается выполнение считанной в МП команды CALL 86A4. Содержимое РС=856D заносится в стек. РС загружается начальным адресом подпрограммы РС=86А4 и МП приступает к выполнению подпрограммы.
1) (PCH) ® ((SP)-1) (PC) ® в стек. 2) (PCL) ® ((SP)-2) 3) (SP-2) ® SP новое содержимое SP. 4) b2 = A4 ® PCL начальный адрес подпрограммы загружен в РС. 5) b3 = 86 ® PCH
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-07-22 lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда... |