ANIFF ; В аккумуляторе остается содержимое аккумулятора.
Б1 | ANA r |
(A)←(A)^(r)
Б1 | ANA M |
(A)←(A)^([H-L])
3.2. Логическое сложение
Б1 Б2 | ORI |
константа |
(A)←(A)V(<Б2>)
Пример:
ORI FF; (A)←(FF)V(A)
ORI 0 (A)←(A)V0
Б1 | ORA r |
(A)←(A)V(r)
Б1 | ORA M |
(A)←(A)V([H-L])
3.3. Инверсия содержимого всехразрядов аккумулятора
Б1 | CMA |
(A)←( )
Пример: Пусть А=0. Что будет в аккумуляторе после выполнения команды CMA?
3.4. Сложение по модулю два константы с аккумулятором
Б1 Б2 | XRI |
константа |
(A)←(A) (< Б2>)
Б1 | XRA r |
(A)←(A) (r)
Например:
XRAA ; (A)←(A) (A) В аккумулятор записывается ноль.
3.5. Логическое сравнение аккумулятора с регистром
Команды логического сравнения применяются передвыполнением команд условного перехода.
Б1 | СMP r |
(A)–(r) , (S, Z, P, AС )
Арифметическое вычитание и формирование только признаков в регистре признаков (S, Z, P и др.).
Логическое сравнение аккумулятора с константой
Б1 Б2 | СРI |
константа |
(А) – (<Б2>), (S, Z, P, AС )
Помни:
Команды логического сравнения применяются, чтобы сформировать только признаки (S, Z, P, AС ) в регистре признаков перед выполнением команд условных переходов. Содержимое аккумулятора при этом не изменяется!
Команды управления (безусловный и условные переходы)
Команда безусловного перехода
Б1 Б2 Б3 | JMP |
младшие разряды | Адрес перехода |
старшие разряды |
(Счетчик команд РС)←(< Б3>< Б2>)
Пример: JMP8105h ; (Счетчик команд РС)←8105h
4.2.Команды условных переходов (JM, JNM,JZ, JNZ)
Все команды условного перехода 3-х байтные: в 1-м байте КОП, в 3- м и 2-м байтах команды адрес перехода.
Последовательность выполнения команды условного перехода: если условие КОП выполняется, то в PC заносится адрес перехода из 3-го и 2-ого байтов команды. Если условие КОП не выполняется, то к значению PC прибавляется 3, т.е. МР переходит к выполнению очередной команды.
Команда перехода, если минус:
Б1 Б2 Б3 | JM |
младшие разряды | адрес перехода |
старшие разряды |
(РС)←(< Б3>< Б2>), если S=1
(PC)←(РС)+3, если S=0
Команда перехода, если минус, т.е. если предыдущий результат отрицательный (S=1), то в PC заносится адрес 3- и 2- ого байтов команды и происходит переход по этому адресу. Если условие КОП не выполняется (S=0), то к значению PC прибавляется 3, т.е. МР переходит к выполнению очередной команды.
Пример команды:
Команда перехода, если ноль:
Б1 Б2 Б3 | JZ |
младшие разряды | адрес перехода |
старшие разряды |
(РС)←(< Б3>< Б2>), если Z=1
(PC)←(РС)+3, если Z=0
Команда перехода, если не ноль:
Б1 Б2 Б3 | JNZ |
младшие разряды | адрес перехода |
старшие разряды |
(РС)←(<Б3>< Б2>), если Z=0
(PC)←(РС)+3, если Z=1
Команды ввода и вывода данных.
Ввод и вывод данных организуется двумя способами:
1) Ввод и вывод данных только через аккумулятор. Данный способ обычно используется в восьмиразрядных системах. Он прост в технической реализации МП. В изучаемом нами МП применяется данный способ обмена.
Прямой доступ к памяти (ПДП). Тогда обмен информации между устройствами ввода, вывода и запоминающего устройства может осуществляться напрямую, минуя аккумулятор. Все персональные компьютеры и многие микроконтроллеры используют этот принцип. Он сложен в технической реализации, но обеспечивает большую пропускную способность.
Команда ввода данных
Б1 Б2 | IN |
Адрес устройства ввода |
(А)←([< Б2>])
Пример команды:
ININPORT1; (A)←([INPORT1]), где INPORT1символический адрес порта ввода.
5.2. Команда вывода данных
Б1 Б2 | OUT |
Адрес устройства вывода |
([<Б2>])←(A)
OUT OUTPORT2 ; ([OUTPORT2])←(A)
Другие команды