Команды передачи данных
Команда пересылки MOV применяется для пересылки операндов и имеет пять модификаций. Команда типа MOV R1/M, R2/M служит для пересылки операнда из регистра в регистр, из памяти в регистр и из регистра в память. При выполнении команды содержимое источника сохраняется. Если смещение disp не используется, то команда содержит два байта. Для пересылки типа регистр-регистр запись команды аналогична записи команды MOV R1, R2 МП КР580. Например, команда MOV AL, CL обеспечивает пересылку 8-разрядного операнда из регистра CL в регистр AL, команда MOV AX, CX - пересылку 16-разрядного операнда из регистра СХ в регистр AX. Для передачи операнда из регистра в память или из памяти в регистр адрес ячейки памяти следует указать либо в команде (прямая адресация), либо в базовом регистре ВХ, либо в базовом регистре ВХ и в одном из индексных регистров SI, DI. Например, команда MOV CX, 1056Н обеспечивает передачу в регистр СХ 16-разрядного операнда из ячеек памяти с номерами 1056Н и 1057Н относительно содержимого сегментного регистра DS, а команда MOV DX, BX обеспечивает передачу в регистр DХ 16-разрядного операнда из ячеек памяти, адрес которых определяется содержимым регистра ВХ и ВХ+1 относительно DS. В приведенном формате команд пересылка данных в сегментные регистры не применяется. Для работы с сегментными регистрами используются команды MOV RS, R/[M] или MOV R/M, RS. Например, команда MOV SS, DX обеспечивает пересылку содержимого регистра DX в регистр SS, а команда MOV SS, BX передачу содержимого ячейки памяти с адресом ВХ относительно DX в регистр SS. Среди команд пересылок имеются команды загрузки регистров АХ и AL (аккумулятора) содержимым ячейки памяти, адрес которой указан в команде (аналог команд LDA и STA микропроцессора КP580). Соответственно команды записываются как MOV AX (либо AL), М и MOV [M], AX (либо AL).
Команда MOV R,data (аналог команды MVI R,data МП КР580) обеспечивает пересылку непосредственного операнда, записанного в команде, в регистр R (data 8 разрядов при W=0 или 16 разрядов при W=1). Команда XLAT служит для загрузки регистра AL содержимым ячейки памяти, адрес которой равен [(AL)+(BX)]. Команда LDS R,[M] обеспечивает загрузку регистра DS 16-разрядным словом из ячейки памяти, адрес которой равен [DS+M+2], а в регистр DS пересылается содержимое ячейки памяти [(DS)+M]. Команда LEA R/[M] служит для загрузки R смещением ЕА, указанным в команде. Команда LES R,[M] служит для загрузки регистра ES и выполняется аналогично команде LDS. Команда загрузки стека PUSH имеет четыре модификации. Команда PUSH R/[M] служит для загрузки содержимого ячейки памяти или регистра в стек. Старший байт 16-разрядного слова записывается в ячейку памяти с адресом SP-1 (относительно регистра SS). Команды PUSH R и PUSH RS обеспечивает загрузку в стек соответственно содержимого РОН и сегментного регистра. Команда PUSH F -регистра признаков F. Команды выгрузки стека РОР имеют 4 модификации, как и команда PUSH: POP R/[M], POP R, POP RS, POP F. Команда LAHF используется для загрузки регистра АН значением младшего байта регистра F. Команда SAHF используется для пересылки содержимого регистра АН в младший байт регистра F. Команда IN AX,port (IN AL,port) служит для ввода в аккумулятор 16- или 8-разрядного операнда из порта, адрес которого (8 разрядов) указан в команде (аналог команды IN port для МП КР580). Команда IN AX,DX (IN AL,DX) служит для ввода в аккумулятор 16- или 8- разрядного операнда из порта, адрес которого указан в регистре DX. Имеются две аналогичные команды (OUT) для вывода данных из аккумулятора в порт.
Читайте также: B) Процесс передачи за плату или на льготных условиях государственной, муниципальной, коммунальной собственности частным лицам или коллективам. Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|