Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
133.doc
Скачиваний:
14
Добавлен:
30.04.2022
Размер:
970.75 Кб
Скачать

7.6.3. Примеры команд языка Ассемблер

Примеры команд Таблица 3.1

Команда

Операция

mov ax,dx

Пересылка данных из регистра dx в регистр ax

mov ax,12Н

Загрузка регистра ax шестнадцатеричным числом 12

mov ax,(dat)

Пересылка в ax содержимого ячейка, адрес которой находится в переменной dat.

mov ax, word ptr x

Пересылка в ax операнда x с прямым указанием типа Word. Word – тип данных,

xor ax,dx

Исключающее ИЛИ

out dx,al

Вывод содержимого регистра al во внешний порт, адрес которого содержится в dx

in al,dx

Ввод содержимого порта, адрес которого содержится в dx, в регистр al

shl al,4

Сдвиг содержимого регистра al влево на 4 бита. Освобожденные биты заполняются 0.

shr al,4

Сдвиг содержимого регистра al вправо на 4 бита. Освобожденные биты заполняются 0.

mov es,ax

Пересылка содержимого регистра ax в дополнительный сегментный регистр данных es

Команда

Операция

mov ax,es:[a]

Пересылка в ax содержимого ячейки памяти с адресом 4*es+a

cmp bx,cx

Сравнение, второй операнд вычитается из первого и устанавливаются признаки. Операнды не изменяются.

and bx,cx

Логическое умножение «И»

dec cx

Вычитает 1 из байта или слова в регистре или памяти

Inc cx

Добавляеь 1 к байту или слову в регистре или памяти

Sub cx,dx

Вычитает байт или слово в регистре, памяти из регистра, памяти.

Add cx,dx

Прибавляет один байт или слово в регистре . памяти или непосредственно к содержимому регистра или ячейки памяти

jmp loop

Безусловный переход. Для указания адреса перехода обычно используется метка. Существует 5 типов команды (форматов) для передачи управления внутри сегмента и между сегментами.

Je/Jz loop

Используется для проверки знаковых и без знаковых данных. Если флаг нуля установлен, то к указателю команд добавляется смещение (происходит переход по метке внутри сегмента).

Jne/Jnz loop

Используется для проверки знаковых и без знаковых данных. Если флаг нуля не установлен (не равно 0), то к указателю команд добавляется смещение (происходит переход по метке внутри сегмента).

Jg loop

Переход по «больше» для знаковых данных

Jl loop

Переход по «Меньше» для знаковых данных

Jnle loop

Переход по «не меньше или равно» для знаковых данных

Jnge loop

Переход по «не больше или равно» для знаковых данных

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]