Курс лекций по программированию на языке ассемблера. Макурина Т.А. - 17 стр.

UptoLike

Составители: 

17
PUSH – сохранения регистров флагов в стеке.
PUSHFW – сохраняет в стеке регистр флагов flags или eflags
POPF и POPFW – обратная предыдущим операция извлечения регистра флагов из стека.
Команда обмена XCHG
Двунаправленная пересылка данных. Команда меняет между собой значения двух регистров или
регистра и ячейки памяти.
XCHG ax,bx
XCHG al,bl
Работа с адресами и указателями
lea приемник, источник - загрузка исполнительного адреса. удобна для работы со строками.
В отличие от команды mov с операцией OFFSET операнд источник может быть
индексированным.
Например,
mov di, 5
lea bx, tab[di]
lds приемник, источник - регистр указателя в регистр сегмента данных ds. Это загрузка
указателя и регистра сегмента данных( загрузка указателя с использованием регистра ds)
Например,
h_f dd here
……
lds bx, h_f
аналогично операции
mov bx, offset h_f
mov ax,seg here
mov ds, ax
где SEG - операция, которая возвращает номер блока адреса переменной.
В этой операции исключается использование дополнительного третьего регистра.
les приемник, источник -загрузка указателя в регистр дополнительного сегмента данных es/
lgs приемник, источник загрузка указателя в регистр дополнительного сегмента данных gs.
lfs приемник, источник - . загрузка указателя в регистр дополнительного сегмента данных fs.
lss приемник, источник - . загрузка указателя в регистр сегмента
стека ss.
Команда Lea похожа на команду mov тем, что также производит пересылку. Однако эта команда
производит пересылку не данных, а эффективного адреса (т.е. смещения данных относительно
начала сегмента данных) в регистр, указанный операндом назначения.
Команды ввода-вывода в порт
В этом случае ввод-вывод осуществляется на уровне BIOS напрямую с оборудованием.
in аккумулятор, порт
out порт, аккумулятор
где аккумуляторрегистр al при обмене байтами или регистр ax при обмене словами.
порт десятичное значение от 0 до 256
В качестве операнда «порт» можно использовать регистр dx.
PUSH – сохранения регистров флагов в стеке.
PUSHFW – сохраняет в стеке регистр флагов flags или eflags
POPF и POPFW – обратная предыдущим операция извлечения регистра флагов из стека.

                                 Команда обмена XCHG
Двунаправленная пересылка данных. Команда меняет между собой значения двух регистров или
регистра и ячейки памяти.
XCHG ax,bx
XCHG al,bl

                              Работа с адресами и указателями

lea приемник, источник - загрузка исполнительного адреса. удобна для работы со строками.
В отличие от команды mov с операцией               OFFSET операнд источник может быть
индексированным.
Например,
mov di, 5
lea bx, tab[di]
lds приемник, источник - регистр указателя в регистр сегмента данных ds. Это загрузка
указателя и регистра сегмента данных( загрузка указателя с использованием регистра ds)
Например,
h_f dd here
  ……

lds bx, h_f
аналогично операции
mov bx, offset h_f
mov ax,seg here
mov ds, ax
где SEG - операция, которая возвращает номер блока адреса переменной.
В этой операции исключается использование дополнительного третьего регистра.

les приемник, источник -загрузка указателя в регистр дополнительного сегмента данных es/
lgs приемник, источник – загрузка указателя в регистр дополнительного сегмента данных gs.
lfs приемник, источник - . загрузка указателя в регистр дополнительного сегмента данных fs.
lss приемник, источник - . загрузка указателя в регистр сегмента стека ss.

Команда Lea похожа на команду mov тем, что также производит пересылку. Однако эта команда
производит пересылку не данных, а эффективного адреса (т.е. смещения данных относительно
начала сегмента данных) в регистр, указанный операндом назначения.

                                 Команды ввода-вывода в порт
В этом случае ввод-вывод осуществляется на уровне BIOS напрямую с оборудованием.
in аккумулятор, порт
out порт, аккумулятор
где аккумулятор – регистр al при обмене байтами или регистр ax при обмене словами.
порт десятичное значение от 0 до 256
В качестве операнда «порт» можно использовать регистр dx.




                                              17