Команды передачи данных.

С помощью таких команд можно осуществить передачу данных от одного из регистров А, В, С, D, E, H и L к одному из регистров А, В, С, D, E, H и L. Кроме того, можно выбрать ячейку памяти М (1байт) микропроцессора, адресуясь к ней, как к одному из регистров. При этом для адресации памяти используется содержимое регистровой пары HL.

Есть еще одна возможность задать содержимое регистров: загрузить непосредственный операнд в выбранный регистр. Эти команды, однако, не позволяют выполнять запоминание в обратном направлении (не существует команд, по которым содержимое регистра могло бы быть помещено в поле операндов команды).

Формат команд:

 

(Метка:) MOV r1, r2 ; Комментарий r1 = A,B,C,D,E,H,L,M r2 = A,B,C,D,E,H,L,M.   Move data – передать данные

При этом r1 определяет регистр или ячейку памяти, в которую производится запись, а r2 – регистр или ячейку памяти, из которых извлекается число или непосредственный операнд.

Если r1=r2 то команда является пустой. Вместо этой команды можно использовать команду NOP. Пустая команда ни при каких обстоятельствах не изменяет содержимого регистров, памяти и состояния МП.

 

(Метка:) MVI r,число ; Комментари) r = A,B,C,D,E,H,L,M Move immediate data - Передать непосредственный операнд.

По этой команде число, расположенное в поле операндов, заносится в регистр r.

 

Примеры:

M1: MOV A,B; <B>®<A>

M2: MOV M,A; <A>®<M> или <A>®<<HL>>

MOV B,M; <M>®<B> или <<HL>>®< B >.

MVI M, 12Q; 12Q®<M> или 12Q® <<HL>>.

Q – обозначает, что число в восьмеричной системе.

 

Пример: Передать содержимое ячейки 9В 73Н в регистр А; содержимое регистров Н и L не определено.

Выполнение:

MVI Н,9ВН ; <9B>® H

MVI L,73Н ; <73>®L

MОV А, М ; Выборка из памяти <HL>.

 

Команды регистровых операций

Команды регистровых операций занимают в памяти один байт. Они используются для того, чтобы содержимое того или иного регистра увеличить или уменьшить на единицу. Это относится к регистрам:

r = B, C, D, E, H, L.

Данные команды изменяют Z-, P- и S–биты состояния, хотя регистр А не участвует в операциях. Благодаря этому можно использовать названные регистры для организации программных циклов. Формат команд имеет следующий вид:

 

(Метка:) INR r ; Увеличить содержимое регистра на единицу (Increment register)

Пример:

INR C ; <C> + 1 ® <C>

DCR r ; Уменьшить содержимое регистра на 1 (Decrement register)

Для загрузки аккумулятора А содержимым ячейки памяти используются команды LDAX B и LDAX D.

LDAX B ; Загрузить Акк. Содержимым ячейки памяти, адрес

; которой находится в регистровой паре В,С (Load Akkumulator)

 

LDAX D ; <<D,E>> ® A. Обе эти команды однобайтные.

Команда LDA адрес загружает в Акк. Содержимое ячейки памяти, адресуемой вторым и третьим байтами команды.

[<B3> <B2>] ® A.

Команда запоминания STA адрес производит противоположную передачу:

A ® [<B3> <B2>] .

 








Дата добавления: 2016-02-09; просмотров: 1734;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.