Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
labrabmo-peresilki.doc
Скачиваний:
25
Добавлен:
10.02.2015
Размер:
1.54 Mб
Скачать

2.1 Команды пересылки

Команды пересылки (табл.2) осуществляют пересылку операндов между регистрами и ячейками памяти. Команды LDA, LDX, производящие загрузку операнда в регистрыA, X,используют все способы адресации, кроме относительного и индексного с пост-инкрементом. При записи содержимого регистровA, Xв память командамиSTA, STXне используется также непосредственная адресация. КомандаLDHXпозволяет записать в индексный регистрH:Xдвухбайтовый непосредственный операнд #Im, который содержится во втором и третьем байте команды, или загрузить в этот регистр содержимое двух рядом расположенных ячеек памяти. КомандаSTHXпроизводит запись содержимогоH:Xв две рядом расположенные ячейки памяти. При обращении к памяти в командахLDHX,STHXзадается адрес первой ячейки памяти с помощью 8-разрядной прямой адресации.

Таблица 2. Команды пересылки.

Мнемокод

Команда

Операция

LDA (opr)

Загрузка A

M  A

LDX (opr)

Загрузка X

M  X

LDHX (opr)

Загрузка H:X

M:M  H:X

STA (opr)

Запись A в память

A  M

STX (opr)

Запись X в память

X  M

STHX (opr)

Пересылка H:X в память

H:X  M:M

MOV (opr),(opr)

Пересылка «память-память»

M1  M2

TAX

Пересылка A в X

A  X

TXA

Пересылка X в A

X  A

TAP

Пересылка A в CCR

A  CCR

TPA

Пересылка CCR в A

CCR  A

TSX

Пересылка SP+1 в H:X

SP+1  H:X

TXS

Пересылка H:X-1 в SP

H:X -1  SP

CLR (opr)

Запись 0 в M

$00  M

CLRA

Запись 0 в A

$00  A

CLRX

Запись 0 в X

$00  X

CLRH

Запись 0 в H

$00  H

NSA

Перестановка тетрад в A

(A7-4) <-> (A3-0)

PSHA

Запись A в стек

A  (SP), SP-1  SP

PSHH

Запись H в стек

H  (SP), SP-1  SP

PSHX

Запись X в стек

X  (SP), SP-1  SP

PULA

Загрузка A из стека

SP+1  SP, (SP) A

PULH

Загрузка H из стека

SP+1  SP, (SP) H

PULX

Загрузка X из стека

SP+1  SP, (SP) X

Команда MOV обеспечивает пересылку содержимого между двумя ячейками памяти. При этом возможны четыре варианта выполнения команды:

MOV #Im, addr8- пересылка непосредственного операнда Im в прямо адресуемую ячейку памяти;

MOV addr8-s, addr8-d- пересылка между двумя прямо адресуемыми ячейками памяти: источником (адрес addr8-s) и приемником (адрес addr8-d);

MOV addr8, X+- пересылка содержимого прямо адресуемой ячейки в ячейку, адресуемую с помощью регистраH:X, после пересылки производится инкремент содержимогоH:X;

MOV X+, addr8- пересылка содержимого ячейки, адресуемой с помощью регистраH:X, в прямо адресуемую ячейку памяти; после пересылки производится инкремент содержимогоH:X.

Во всех вариантах команды MOVиспользуется только 8-рязрядная прямая адресация.

Команды TAX, TXA выполняют пересылку операндов между регистрамиA и X. КомандыTAP и TPAпозволяют соответственно считать в аккумулятор содержимое регистра признаковCCR для последующего анализа или сохранения и загрузить в этот регистр новое содержимое из аккумулятора.

К этой же группе относятся команды CLRA, CLRX, CLRH, CLR (opr), производящие запись 0 в регистрыA, X, Hи ячейку памяти. В командеCLR (opr) могут использоваться следующие способы адресации: индексная, индексная по указателю стека с 8-разрядным смещением или прямая с 8-разрядным адресом.

Команда NSAменяет местами старшую (биты A7-4) и младшую (биты A3-0) тетрады содержимого аккумулятора.

Отдельную подгруппу составляют команды сохранения в стеке содержимого регистров A, H, Xи загрузки этих регистров из стека. Команды сохраненияPSHA, PSHH, PSHX пересылают содержимое соответствующих регистров в ячейку памяти, адресуемую содержимым регистраSP, затем содержимое этого регистра уменьшается на 1, адресуя следующую свободную ячейку стека. Команды загрузки увеличивают на 1 содержимоеSP, адресуя верхнюю заполненную ячейку стека, после чего содержимое ячейки загружается в соответствующий регистр.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]