assem / Ответы по пунктам / 022
.docx-
Команды пересылки данных общего назначения
Команда пересылки данных осущ-ют обмен данными и адресами м/у регистрами и ячейками памяти или портами вв\выв.
Основная команда общего назначения MOV может переслать байт или слово между регистром и ячейкой памяти или двумя регистрами
Общая форма команды mov:
mov <приёмник>, <источник>
Примеры; MOV AX,TABLE ;
MOV TABLE,AX;
MOV DS,AX.
Команда PUSH и POP. Для работы со стеком. Команда PUSH помещает содержимое регистра или ячейки памяти размером в 16 битовое слово на вершину стека. А POP снимает слово с вершины стека и помещает его в ячейку памяти или регистр. PUSH источник, POP приемник.
Пример: PUSH SI; PUSH DS; PUSH TABLE[BX][DI] (ячейка памяти). Под вершиной стека мы понимаем ячейку в сегменте стека, адрес которой хранится в указателе SP. Если надо вытащить из стека то SP=SP+2 и вытаскиваем.
Команда XCHG. (обменять) меняет между собой значения двух регистров или ячейки памяти. Однако он не может выполнить обмен значений регистров сегмента. Пример:[XCHG AX,BX (СЛОВА ИЛИ БАЙТЫ), XCHG AL,BH], XCHG WORD_LOC,DX(ячейки памяти).
Команда XLAT. Извлекает элементы таблицы XLAT выбирает значение из таблицы байтов и загружает его в регистр AX. Таблица до 256 сим
Общая формула. XLAT таблица_источник. Перед исполнением команды надо начальный адрес таблицы загрузить в BX.
Пример: MOV AL,10 ; загрузить номер байта
MOV BX,OFFSET S_TAB ; загрузить смещение адреса в BX
XLAT S_TAB ;и извлечь значение байта.