MOV TEMP, BL ;Байт, регистр-память
МOV [ DI], BX ;Слово, регистр-память
MOV DX, [ BP][ SI] ;Слово, память-регистр
Примечание. Для лучшего усвоения кодирования команд рекомендуется самостоятельно построить машинные команды, реализующие приведенные выше операторы языка ассемблера. Символическим именам, например, GAMMA, TEMP, можно присваивать произвольные 16-битные значения. Такие же упражнения целесообразно выполнять для всех ассемблерных операторов, которые приводятся в качестве примеров.
Команда MOV mem / reg , data позволяетпередатьв регистр или ячейку памяти непосредственные данные. Она также допускает большинство режимов адресации и передачу байт или слов.
Длина команды в зависимости от режима адресации варьирует от 3 до 6 байт, а выполняется за (10+.ЕА) тактов синхронизации.
Пример 3.
(DI)=1000 MOV [DI], 8400H ([A4450])=8400
( DS)= A345
Примеры записи на языке ассемблера приведены ниже.
MOV [ BX], 3450 H ;Слово в память
MOV [ BP][ SI], 2 CH ;Байт (или слово) в память
MOV CX, 1000 H ;Слово и регистр
В этой команде нельзя определять сегментные регистры. Отсутствие команды загрузки непосредственных данных в сегментные регистры считается недостатком системы команд МП К1810, т. к. при инициализации системы в сегментные регистры приходится загружать константы. Решение этой проблемы приведено ниже.
Команда MOV reg , data представляет собой более короткий вариант предыдущей команды и осуществляет загрузку констант в общие регистры МП. Длина этой команды составляет 2 или 3 байта, а время выполнения равно 4 тактам синхронизации. Она эквивалентна командам MVI r, data и LXI rp, МП К580.
|
|
Примечание. Выше в примерах записи команды MOV mem / reg , data, на языке ассемблера была приведена команда MOV CX, 1000 H. Возможно, естественно, закодировать ее 4 байтами в формате команды MOV mem / reg , data, однако программа-ассемблер выберет более короткий 3-байтный вариант команды и формате MOV reg, data.
Команды MOV ac, mem и MOV MEM, ac предназначены для загрузки и запоминания содержимого аккумуляторов. Например, команда MOVAL, BETA передаст и аккумулятор AL байт с адресом BETA, а команда MOV ALPHA, AX запоминает содержимое аккумулятора AX в слове памяти с адресом ALPHA. При выполнении последней команды содержимое регистра AL оказывается в байте с адресом ALPHA, а содержимое регистра AH – в байте с адресом ALPHA+1. Напомним, что оба байта находятся в текущем сегменте данных (если специально не определен другой сегмент) и указанные адреса представляют собой смещения в этом сегменте. Обе команды имеют длину 3 байта и выполняются за десять тактов синхронизации.
Команды MOV sreg , mem / reg и MOV mem / rrg , sreg осуществляют передачи между сегментными регистрами и регистрами/памятью. В них передаются только слова, а ячейка памяти может быть определена с помощью любого допустимого режима адресации. Отметим, что в команде MOV sreg , mem / reg нельзя указывать сегментный регистр кода CS, т. к. при этом результат операции не определен.
|
|
Обе команды имеют длину 2-4 байта в зависимости от режима адресации. Время выполнения в формате регистр-регистр составляет два такта синхронизации: при задании памяти первая команда выполняется за (84-EA), а вторая – за (9+EA) тактов синхронизации.
Команда MOV sreg, mem/reg применяется для инициализации сегментных регистров, т.е. для определения сегментов. Если, например, в сегментный регистр DS необходимо загрузить F000, то потребуются команды
MOV AX, 0 F000 H ; Инициализация
MOV DS, AX ; регистра DS на F000
При такой инициализации почти всегда как промежуточный используется регистр AX, т.к. команда MOV ac, data короче более общей команды MOV mem/reg, data.
Первый формат позволяет обменять содержимое любого общего регистра и ячейки памяти, а также любой пары общих регистров. Память адресуется в любом допустимом режиме адресации. Однобайтная команда XCHG предназначена для обмена любого общего регистра и аккумулятора AX. Первая команда имеет длину 2-4 байта и выполняется за четыре (регистр-регистр) или (17+EA) (регистр-память) тактов синхронизации.
|
|
Примеры использования команд обмена в ассемблерных операторах приведены ниже.
Дата добавления: 2022-12-03; просмотров: 24; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!