- •Микроконтроллер mc68hc908gp32 регистровая структура, способы адресации, команды пересылки
- •Структура микроконтроллераMc68hc908gp32
- •1.1. Общая структура микроконтроллера 68hc908gp32.
- •1.2. Организация и адресация памяти
- •1.3 Регистровая модель
- •1.4 Типы данных
- •2. Способы адресации
- •2.1 Команды пересылки
- •3. Создание программы в среде проектированияWinIdEи её ассемблирование
- •3.1. Интегрированная средаWinIde
- •3.2. Структура ассемблерной строки и ассемблерной программы
- •Упражнения
- •Варианты заданий: Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Пример составления программы:
- •Список литературы:
Упражнения
I. Для каждого из приведённых ниже заданий написать программу на ассемблере, используя средуWinIDE. Отладить программу с помощью программыSimulator. Убедиться в правильности выполнения программы. Объяснить полученные результаты и содержимое регистра признаков.
Варианты заданий: Вариант 1
Используя непосредственныйспособ адресации, заслать число 3Е в ячейку памяти 42 и в ячейку памяти А0. Число из ячейки А0 загрузить в аккумулятор, используяпрямойспособ адресации. Из аккумулятора число переслать в ячейку памяти 205, используяиндексныйспособ адресации. Обменять содержимое регистров АСС и Х. Завершить программу командойSTOP.
Используя непосредственныйспособ адресации, заслать десятичное число 23 в ячейки памяти 45 и 51, а в регистр Х – число 50. Используяиндексный способ адресации с пост - инкрементом, переслать число из ячейки памяти 45 в ячейку 50. Число из ячейки 51 переслать в регистр АСС, используяиндексныйспособ адресации. Обменять содержимое регистра Х и АСС. Завершить программу командойSTOP.
Очистить регистры АСС и Х. Используя непосредственный способ символьной адресации, заслать число 2A в аккумулятор и переслать его, используяпрямое задание символьного адреса в ячейку памяти 19E. Загрузить в аккумулятор, используянепосредственныйспособcимвольной адресации, число 7D. Из аккумулятора число переслать в ячейку памяти 19E, используяиндексный способ адресации с двухбайтовым смещением. В регистре АСС поменять местами тетрады числа. Завершить программу командойSTOP.
Используя непосредственныйспособ адресации, заслать число E7 в ячейку памяти 6A, и в ячейку памяти F9, используяиндексныйспособ адресации. Число из ячейки F9 загрузить в аккумулятор, используяпрямойспособ адресации. Из аккумулятора число переслать в ячейку памяти 12F, используяиндексный способ адресации с однобайтовым смещением. Однобайтовое смещение вычисляется с учётом уже имеющегося значения индексного регистра. Переслать содержимое индексного регистра Н:Х, уменьшенное на 1, в регистрSP. Записать в стек содержимое регистра АСС. Завершить программу командойSTOP.
Используя непосредственныйспособ адресации, заслать число 62 в ячейку памяти DB. Переслать содержимое ячейки памятиDBв регистр АСС. Сформировать в регистреSPзначение 200. Записать содержимое АСС в стек. Загрузить в регистр Н содержимое вершины стека. Завершить программу командойSTOP.
Вариант 2
Используя непосредственныйспособ адресации, заслать число 4A в ячейку памяти 53 и в ячейку памяти 1D4. Число из ячейки 1D4 загрузить в аккумулятор, используяпрямойспособ адресации. Из аккумулятора число переслать в ячейку памяти 113, используяиндексныйспособ адресации. Обменять содержимое регистров АСС и Х. Завершить программу командойSTOP.
Используя непосредственныйспособ адресации, заслать десятичное число 75 в ячейки памяти 56 и 62, а в регистр Х – число 61. Используяиндексный способ адресации с пост - инкрементом, переслать число из ячейки памяти 56 в ячейку 61. Число из ячейки 62 переслать в регистр АСС, используяиндексныйспособ адресации. Переслать содержимое регистра Х в регистр АСС. Завершить программу командойSTOP.
Очистить регистры АСС и Х. Используя непосредственный способ символьной адресации, заслать числоCEв аккумулятор и переслать его, используяпрямое задание символьного адреса в ячейку памяти 20A. Загрузить в аккумулятор, используянепосредственныйспособcимвольной адресации, число 88. Из аккумулятора число переслать в ячейку памяти 13F, используяиндексный способ адресации с двухбайтовым смещением. В регистре АСС поменять местами тетрады числа. Завершить программу командойSTOP.
Используя непосредственныйспособ адресации, заслать число 57 в ячейку памяти 6A и в ячейку памяти Е3, используяиндексныйспособ адресации. Число из ячейки F9 загрузить в аккумулятор, используяпрямойспособ адресации. Из аккумулятора число переслать в ячейку памяти 130, используяиндексныйспособ адресации. Однобайтовое смещение вычисляется с учётом уже имеющегося значения индексного регистра. Переслать содержимое индексного регистра Н:Х в регистрSP. Записать в стек содержимое регистра АСС. Завершить программу командойSTOP.
Используя непосредственныйспособ адресации, заслать числоF2 в ячейку памяти AB. Переслать содержимое ячейки памятиABв регистр АСС. Сформировать в регистреSPзначение 17D. Записать содержимое АСС в стек. Загрузить в регистр Н содержимое вершины стека. Завершить программу командойSTOP.