- •1. Теоретическая часть.
- •1.1.Форматы команд.
- •1.2.Способы адресации.
- •Неявная адресация.
- •Непосредственная адресация.
- •Прямая адресация.
- •Прямая расширенная адресация.
- •Косвенная адресация.
- •Пример выполнения команды с косвенной адресацией:
- •Индексная адресация со смещением 1 байт.
- •Пример выполнения команды с индексной адресацией со смещением 1 байт:
- •Индексная адресация со смещением 2 байта.
- •Пример выполнения команды с индексной адресацией со смещением 2 байта:
- •Относительная адресация.
- •1.3. Группа команд передачи данных.
- •200 Lda #44h ; Загрузить в a число 44h
- •Программа с ветвлением
- •2. Практическая часть.
- •2.1. Исследование отдельных команд.
- •Команды загрузки регистров а и х данными из памяти.
- •Команды модификации памяти.
- •Команды межрегистровой пересылки.
- •Команды передачи управления.
- •2.2. Примеры использования команд передачи данных.
- •Incx ;Увеличить на 1 содержимое X
- •Incx ; Увеличить содержимое X на 1
- •Задания.
- •Контрольные вопросы.
Микроконтроллер MC68HC705K1, лабораторная
работа 2
1. Теоретическая часть.
В данной работе изучаются:
способы адресации микроконтроллеров семейства MC68HC05;
· группа команд пересылки данных;
· группа команд условных и безусловных переходов.
1.1.Форматы команд.
Система команд центрального процессора семейства М68НС05 включает 210 команд. Длина кода команды в байтах определяется типом инструкции и способом адресации. Различают однобайтовые, двухбайтовые и трехбайтовые команды.
Однобайтовые команды состоят только из кода команды:
ADR0 1 байт
D7 D6 D5 D4 D3 D2 D1 D0 - код операции
Двухбайтовые команды в первом байте команды содержат код операции, а во втором байте - операнд или адрес операнда:
ADR0 1 байт
D7 D6 D5 D4 D3 D2 D1 D0 - код операции
ADR0+1 2 байт
D7 D6 D5 D4 D3 D2 D1 D0 - операнд или адрес операнда
Трехбайтовые команды в первом байте содержат код операции, во втором и третьем байтах - двухбайтовый адрес операнда:
ADR0 1 байт
D7 D6 D5 D4 D3 D2 D1 D0 - код операции
ADR0+1 2 байт
D7 D6 D5 D4 D3 D2 D1 D0 - байт адреса операнда
ADR0 +2 3 байт
D7 D6 D5 D4 D3 D2 D1 D0 - байт адреса операнда
Все байты одной команды расположены в памяти программ в порядке возрастания номера байта в ячейках памяти с последовательно возрастающими адресами: ADR0, ADR0+1, ADR0+2.
1.2.Способы адресации.
Способ адресации - это правило, по которому АЛУ определяет адрес одного из операндов арифметической, логической или иной операции при чтении кода команды из памяти программ. Если команда выполняет действие над двумя операндами, то второй операнд обязательно находится в аккумуляторе A.
Система команд центрального процессора семейства М68НС05 использует 8 способов адресации:
Неявную (Inherent)
Непосредственную (Immediate)
Прямую (Direct)
Прямую расширенную (Extended)
Косвенную (Deffered)
Индексную со смещением 1 байт (Indexed 8 bit offset)
Индексную со смещением 2 байта (Indexed 16 bit offset)
Относительную (Relative)
Неявная адресация.
К инструкциям с неявной адресацией относятся команды, которые не требуют для своего выполнения каких либо операндов, например, команда STOP. Неявную адресацию имеют инструкции, которые содержат адрес операнда в коде команды, например, команда инкремента аккумулятора INCA или команда установки бита переноса SEC. Все команды с неявной адресацией имеют длину в 1 байт и состоят только из кода операции.
Непосредственная адресация.
Код операции команды с непосредственной адресацией размещается в первом байте. Сразу же за кодом операции следует 1 байт данных. Эти данные не могут быть переменными в ходе выполнения программы, так как они берутся не из памяти, а их предоставляет центральному процессору программист при записи программы.
Все команды с непосредственной адресацией имеют длину в 2 байта. Условное обозначение операнда в мнемонике команды - #opr: ADD #opr.
Например:
ADD # 03h; сложить содержимое аккумулятора А с числом 3,
; результат записать в А {А <--- (A) + 3}
ORA #0Ah ; выполнить операцию поразрядного ИЛИ над содержимым А и
; шестнадцатеричным числом 0Ah. Результат записать в А
; {A <--- (A) Ú0Ah}