Motorola MC68HC705C8

Пример:

0200 А6 02 LDA #$02 Загрузить аккумулятор константой $02

Производимые действия:

$0200 $A6 [1]

$0201 $02 [2]

Объяснение:

[1] ЦП читает код операции $A6 - загрузить аккумулятор константой, следующей за кодом операции

[2] ЦП читает константу $02 по адресу $0201 и записывает ее в аккумулятор.

Команды с прямой адресацией имеют доступ к первым 256 ячейкам памяти и имеют длину два байта. Первым байтом является код команды, второй байт представляет собой младший байт адреса операнда. При использовании прямой адресации ЦП автоматически устанавливает в $00 старший байт адреса операнда. Исключение составляют команды BRSET и BRCLR, занимающие три байта и использующие прямую адресацию для доступа к операнду и относительную адресацию для определения точки перехода. В Таблице 1-3 представлены команды, которые используют режим прямой адресации к памяти.

Таблица 1-3. Команды, использующие прямую адресацию к памяти.

Команда

Мнемоника

Сложение с флагом переноса

ADC

Сложение

ADD

Логическое И

AND

Арифметический сдвиг влево

ASL

Арифметический сдвиг вправо

ASR

Сбросить бит в ячейке памяти

BCLR

Битовое сравнение ячейки памяти и аккумулятора

BIT

Переход, если бит n установлен

BRCLR

Переход, если бит n сброшен

BRSET

Сбросить бит в памяти

BCLR

Установить бит в памяти

BSET

Очистить

CLR

Сравнение аккумулятора и ячейки памяти

CMP

Дополнение

COM

Сравнение индексного регистра и ячейки памяти

CPX

Декремент на 1

DEC

Исключающее ИЛИ ячейки памяти и аккумулятора

EOR

Инкремент на 1

INC

Безусловный переход

JMP

Вызов подпрограммы

JSR

Загрузить аккумулятор содержимым ячейки памяти

LDA

Загрузить индексный регистр содержимым ячейки памяти

LDX

Логический сдвиг влево

LSL

Логический сдвиг вправо

LSR

Изменение знака

NEG

ИЛИ

ORA

Циклический сдвиг влево через флаг переноса

ROL

Циклический сдвиг вправо через флаг переноса

ROR

Вычитание с флагом переноса

SBC

Записать содержимое аккумулятора в ячейку памяти

STA

Записать содержимое индексного регистра в ячейку памяти

STX

Вычитание

SUB

Проверка знака и равенства нулю

TST

Пример:

0200 В6 50 LDA $50 Загрузить аккумулятор содержимым ячейки с адресом $50

Производимые действия:

$0200 $B6 [1]

$0201 $50 [2] и [3]

Объяснение:

[1] процессор читает код операции $В6 - загрузить аккумулятор, используя прямую адресацию.

[2] процессор считывает $50 по адресу $0201. $50 интерпретируется как младший байт 16-ти разрядного адреса.

[3] процессор считывает содержимое ячейки $0050 и помещает его в аккумулятор.

Команды, использующие расширенную адресацию, имеют доступ к любому адресу памяти и представлены в табл. 1-4. Длина таких команд составляет три байта, первый из которых является кодом операции, второй и третий байт - соответственно старшим и младшим байтом адреса операнда.

Таблица 1-4. Команды, использующие расширенный способ адресации.

Команда

Мнемоника

Сложение с флагом переноса

ADC

Сложение

ADD

Логическое И

AND

Битовое сравнение ячейки памяти и аккумулятора

BIT

Сравнение аккумулятора с ячейкой памяти

CMP

Сравнение индексного регистра с ячейкой памяти

CPX

Исключающее ИЛИ ячейки памяти и аккумулятора

EOR

Безусловный переход

JMP

Вызов подпрограммы

JSR

Загрузка аккумулятора содержимым ячейки памяти

LDA

Загрузка индексного регистра содержимым ячейки памяти

LDX

ИЛИ

ORA

Вычитание с флагом переноса

SBC

Записать содержимое аккумулятора в память

STA

Записать содержимое индексного регистра в память

STX

Вычитание

SUB


Страница: