- •1. Теоретическая часть.
- •1.1.Группа команд арифметических операций
- •Группа команд логических операций.
- •2. Практическая часть.
- •2.1. Примеры использования арифметических команд.
- •Команды загрузки регистров а и х данными из памяти.
- •Команды вычитания.
- •Команды инкремента и декремента.
- •0050 80 7E 7c 7a 78 76 74 72 70 6e 6c 6a 68 66 64 62
- •0060 60 5E 5c 5a 58 56 54 52 50 4e 4c 4a 48 46 44 42 ' Команды умножения и арифметического дополнения.
- •2.2.Примеры использования команд байтовой логики.
- •2.3.Примеры использования команд сдвига.
- •Команды логического (или последовательного) сдвига.
- •Команды арифметического сдвига.
- •Команды циклического сдвига.
- •2.4. Примеры использования команд сравнения и тестирования. Команды сравнения.
- •0050 00 01 02 03 04 05 06 07 08 09 0A 0b 0c 0d 0e 0f ................
- •0060 00 01 02 03 04 05 06 07 08 09 0A 0b 0c 0d 0e 0f ................
- •0050 00 Ff fe fd fc fb fa f9 f8 f7 f6 f5 f4 f3 f2 f1 ................
- •0060 Ff fe fd fc fb fa f9 f8 f7 f6 f5 f4 f3 f2 f1 f0 ................
- •Команды тестирования.
- •0050 00 01 02 03 04 05 06 00 00 00 00 00 00 00 00 00 ................
- •0050 06 01 02 03 04 05 06 00 00 00 00 00 00 00 00 00 ................
- •Контрольные вопросы.
- •Задания.
Группа команд логических операций.
Данную группу образуют 74 команды, выполняющие операции логического И, ИЛИ, Исключающего ИЛИ, различные операции сдвига, операции взятия обратного и дополнительного кода, а также специальные команды установки признаков TST и BTT без изменения содержимого тестируемых регистров и ячеек памяти. Все логические команды модифицируют флаги в регистре признаков. Типы инструкций данной группы приведены в табл.2.
Таблица 2. Команды логических функций.
Мнемокод |
Выполняемое действие |
Полное название |
AND |
Поразрядное логическое И над содержимым А и байтом данных. Результат поместить в А. {A <--- (A) Ù (M)} |
AND Accumulator with Memory Byte |
ORA |
Поразрядное логическое ИЛИ над содержимым А и байтом данных. Результат поместить в А. {A <--- (A) Ú (М)} |
OR Accumulator with Memory Byte |
EOR |
Поразрядное Исключающее ИЛИ над содержимым А и байтом данных. Результат поместить в А. (Функция неравнозначности) {A <--- (A) Å (M)} |
Exclusive Or Accumulator with Memory Byte |
CLR |
Очистить (установить в 00) А или индексный регистр, или байт памяти. {A <--- 00h; X <--- 00h; M <--- 00h}
|
Clear |
COM |
Инверсия содержимого А, или индексного регистра или байта памяти. {A <--- (); X(); M <--- ()} |
Complement (One’s Complement) |
NEG |
Получение дополнительного кода А, или индексного регистра Х, или байта памяти. {A <--- () + 1} или { X() + 1} или { M <--- () + 1}
|
Negate (Two’s Complement) |
BIT |
Выполняет операцию поразрядного логического И над содержимым А и байта памяти. Результат никуда не записывается. Устанавливаются признаки Z и N. {(A) Ù (M)}
|
Bit Test Accumulator |
TST |
Устанавливает признаки N и Z по содержимому А, или индексного регистра Х, или байта памяти. Содержимое последних не изменяется.
|
Test for Negative or Zero |
ASL |
С b7 b0 0
Сдвиг влево содержимого А, или Х, или байта памяти. Вбит b0 загружается 0, бит b7 загружается в бит переноса С. |
Arithmetic Shift Left |
ASR |
b7 b0 C
Сдвиг вправо содержимого А, или Х, или байта памяти. Бит b7 не изменяется, бит b0 загружается в бит переноса С. |
Arithmetic Shift Right |
LSL |
С b7 b0 0
Сдвиг влево содержимого А, или Х, или байта памяти. В бит b0 загружается 0, бит b7 загружается в бит переноса С. |
Logic Shift Left |
LSR |
0 b7 b0 C
Сдвиг вправо содержимого А, или Х, или байта памяти. В бит b7 загружается 0, бит b0 загружается в бит переноса С. |
Logic Shift Right |
ROL |
С b7 b0 C
Циклический сдвиг влево содержимого А, или Х, или байта памяти через бит переноса С. |
Rotate Left throngh Carry Bit |
ROR |
С b7 b0 C
Циклический сдвиг вправо содержимого А, или Х, или байта памяти через бит переноса С. |
Rotate Right through Carry Bit |