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

Пример:


Информация о работе «Motorola MC68HC705C8»
Раздел: Радиоэлектроника
Количество знаков с пробелами: 33580
Количество таблиц: 9
Количество изображений: 3

0 комментариев


Наверх