- •Команды обработки данных и передачи управления для микроконтроллера mc68hc908gp32
- •Удк 621.375(03)
- •1. Команды арифметических операций
- •2. Команды логических операций
- •3. Команды сдвигов
- •4. Команды битовых операций
- •5. Команды управления программой и процессором
- •6. Маскирование данных и организация условных переходов
- •Упражнения
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Список литературы:
Вариант 2
Используя непосредственный способ адресации, перешлите десятичные числа 67 и 94 в ячейки памяти 50 и 51 соответственно. Результат сложения этих чисел запишите в ячейку памяти 52, используя прямой способ адресации. Посмотрите содержимое ячеек памяти 50, 51, 52.
Сложите два числа 06 и 03, используя непосредственный способ адресации. Результат запишите в ячейку памяти с адресом 201. Из полученного результата вычтите число 05, хранящееся по адресу 210, используя прямой способ адресации. Результат запишите в ячейку памяти 202, используя индексный способ адресации. Полученный результат помножьте на число 04. Результат запишите в ячейку памяти 203, используя индексный способ адресации со смещением. Очистите регистр АСС. Полученный результат поделите на число 6. Результат запишите в ячейку памяти 204. Посмотрите и объясните результаты, полученные в ячейках памяти 201, 202, 203, 204, регистрах АСС, Н:Х.
Запишите в аккумулятор число 55. Увеличьте в два раза содержимое аккумулятора. Перешлите результат из аккумулятора в ячейку памяти 115, используя индексную адресацию со смещением. Посмотрите содержимое регистров А, Н, Х и ячейки памяти.
Проверьте наличие 1 в нулевом и в седьмом разрядах числа, записанного в регистр X (число задаётся преподавателем). Запишите в регистр Н число FF, если в этих разрядах установлена единица, и запишите в регистр Н число 00 в любом другом случае.
Запишите в регистр Х код ВВ, если число в регистре А меньше 3 или больше 8. В другом случае запишите в регистр Х код 00. Число в регистре А задаётся преподавателем.
Запишите в ячейку памяти с адресом 60 число СС. Выполните над этим числом различные варианты сдвигов вправо(ASR, LSR, ROR), записывая результат каждой операции сдвига в последующие ячейки памяти (61, 62, 63). Полученные числа сложите и результат запишите в ячейку памяти с адресом 64. Посмотрите и объясните содержимое ячеек памяти 61, 62, 63, 64.
Сделайте проверку наличия 0 в каком-либо разряде аккумулятора (число в аккумуляторе задаётся преподавателем) и запишите в регистр Х номер этого разряда. Если установлены несколько разрядов в 0, то определите их количество (регистр Н) и номера разрядов (в ячейках памяти, начиная с адреса 50). Посмотрите содержимое регистров АСС, Х и использованных ячеек памяти.
Запишите в регистр А число F0. Сделайте 4 циклических сдвига вправо. Результат запишите в ячейку памяти с адресом 110. Произведите в аккумуляторе циклический сдвиг влево до тех пор пока не инвертируется содержимое флага С. Посмотрите содержимое аккумулятора и регистра признаков.
Из двух однобайтовых чисел А9 и 4В составьте последовательность чисел А4, АВ, 94, 9В и запишите их в ячейки памяти, начиная с адреса 70, используя индексную адресацию. Посмотрите содержимое использованных ячеек памяти.
Запишите в регистр А число 00, в индексный регистр Н:Х – число 1FA. Перешлите число 01 из ячейки памяти с адресом 40 в ячейку памяти 1FA, используя индексную адресацию. Увеличьте содержимое Н:Х на 1. Увеличьте (1FA) на 1. Сравните (А) с (Х). Если числа не равны, повторяйте операции увеличения (Н:Х) и (1FA) на 1 до тех пор пока (А) не станет равным (Х). Посмотрите содержимое регистров АСС, Н:Х и ячейку памяти c адресом 1FA.