Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 2.5 Асемблер для студ. КС 230115.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
61.28 Кб
Скачать

6.2 Команды ввода-вывода

Для обмена данными с процессором внешние устройства имеют на своих входах и выходах регистры, называемые портами ввода-вывода. Оказывают влияние на флаги

2-х байтовые

IN PORT - команда ввода данных предназначена для ввода данных из входного порта в А. Команда двухбайтовая. А  (PORT)

OUT PORT - команда вывода данных предназначена для вывода данных из А в выходной порт. Команда двухбайтовая. (PORT)  А.

6.3 Команды работы со стеком

Однобайтовые

PUSH RP – загрузка в стек содержимого пары регистров

PUSH PSW - загрузка в стек слово состояния программы.

POP RP – считать из стека содержимое пары регистров.

POP PSW - считать из стека слова состояния программы.

XTHL – обмен содержимого верхушки стека и содержимого регистров H и L.

(L) ↔ (SP)

(H) ↔ (SP) + 1

SPHL – пересылка содержимого регистров H и L в указатель стека.

(SP) ↔ (H)(L).

7 Команды обработки данных

К этим командам относятся команды выполнения арифметических операций и команды выполнения логических операций.

    1. Арифметические команды

Команды этой группы выполняют арифметические операции над данными в регистрах и памяти. Эти команды воздействуют на флаги состояний стандартным образом.

Однобайтовые

ADD R – команда сложения содержимого А с содержимым регистра. А  А + R

ADD M – команда сложения содержимого А с содержимым ЯП, адрес которой находится в регистровой паре HL. А  A + (HL)

2-х байтовые

ADI DATA – непосредственное сложение. А  А + (ВYTE2).

Однобайтовые

ADC R - сложение содержимого регистра с А с переносом. A  A + R + (CY)

ADС M - сложение содержимого памяти с А переносом.

ACI - сложение константы с А с переносом АА + (ВYTE2) + (CY)

SUB R – команда вычитания содержимого регистра из содержимого А. А  А - R

SUB M – команда вычитания содержимого ЯП из содержимого А. A  A - (HL)

2-х байтовые

SUI DATA – непосредственное вычитание. А  А - (ВYTE2).

Однобайтовые

SBB R – вычитание содержимого регистра и бита переноса. A  A – R - (CY).

SBB M – вычитание содержимого ЯП и бита переноса. A  A – (HL) – (CY).

SBB R - вычитание регистра с заёмом (уменьшаемое меньше вычитаемого).

A  A - R - (CY)

SBB М - вычитание памяти с заёмом. А  А - (HL) - (CY)

2-х байтовые

SBI DATA – непосредственное вычитание с заёмом. A  A - (BYTE2) – (CY).

Однобайтовые

INR R – увеличение содержимого регистра на 1. R  R + 1.

INR M – увеличение содержимого памяти на 1. (НL)  (НL) + 1.

DCR R – уменьшение содержимого регистра на 1. R  R – 1.

DCR M – уменьшение содержимого памяти на 1. (HL)  (HL) – 1.

INX RP – увеличение содержимого регистровой пары на 1.

[(RH)(RL)] [(RH)(RL)] + 1.

DCX RP – уменьшение содержимого регистровой пары на 1.

[(RH) (RL)]  [(RH) (RL)] – 1.

DAD RP – сложение содержимого пары регистров с содержимым регистров H и L.

[(H)(L)]  [(H)(L)] + [(RH)(RL)].

Команды сложения и вычитания с учётом переносов (заёма) позволяют организовать обработку многобайтовых чисел последовательно по байтам, которые хранятся в смежных ячейках памяти и адресуются, начиная с младшего.