46. Команды обмена данными
Команды обмена данными осуществляют обмен данными и адресами между регистрами и ячейками памяти или портами ввода-вывода.
1) Команды ввода-вывода в порт
In аккумулятор, порт
Out порт, аккумулятор
Аккумуляторы: al – byte, ax - word
2) Команды работы со стеком
Стек – область памяти для временного хранения данных
Обмен производится словами.
Push источник – запись значения источника в стек
Pop назначение – извлечение из стека
Pusha/Popa – групповая записи/извлечение в/из стека значения регистров
3) Команды работы с адресами и указателями
Adr dw <имя переменной > - определение короткого адреса (смещение)
Adr_full dd <имя переменной> - определение полного адреса
4) Команды работы с операторами
Seg <имя переменной > – позволяет получить в программе сегментной части адреса переменной
Offset <имя переменной > – смещение переменной
5) Команды работы с адресами
Lea регистр, источник - команда загружает смещение источника в регистр
6) Команды загрузки полного адреса в регистр
Lds регистр, источник – сегментная часть в регист ds, смещение – в регистр
Les, Lss
7) Команды преобразования данных
Xlat [адрес_таблицы_перекодировки]
Она замещает значение в регистре al, другим байтом из таблицы перекодировки(состоит из строк байт)
Адрес байта в строке, который будет замещать= (bx)+(al)