![](/user_photo/2706_HbeT2.jpg)
- •Цифровые устройства и микропроцессоры Микроконтроллеры фирмы “Freescale”
- •117454, Москва, просп. Вернадского, 78 предисловие
- •1.1. Основные характеристики микроконтроллера.
- •1.2 Способы адресации
- •Карта памяти микроконтроллера.
- •1.4. Принципы написания программы.
- •Метка, операция, операнд(ы); комментарий
- •2. Исследование команд пересылки данных
- •3. Арифметические команды.
- •5. Команды работы с битовыми полями.
- •7. Содержание отчета
- •8. Контрольные вопросы и задания.
- •Методические указания по выполнению лабораторной работы №2 Изучение команд сдвигов, команд передачи управления и специальных команд.
- •1. Команды сдвигов.
- •Команды передачи управления.
- •2.1. Команды безусловного перехода.
- •2.2. Команды условного перехода.
- •Команды работы с подпрограммами.
- •Команды работы с прерываниями.
- •3. Специальные команды.
- •4. Содержание отчета
- •Контрольные вопросы и задания
- •Методические указания по выполнению лабораторной работы №4. Программирование ацп и фильтрации сигналов.
- •Библиографический список.
3. Арифметические команды.
Список арифметических команд приведён в таблице 2.
Таблица 2.
INCA |
DECA |
NEGA |
CMPA |
SUBA |
ADDA |
ADCA |
DAA |
INCB |
DECB |
NEGB |
CMPB |
SUBB |
ADDB |
ADCB |
MUL |
INC |
DEC |
NEG |
CPD |
SUBD |
ADDD |
|
FDIV |
INX |
DEX |
|
CPX |
SBCA |
ABA |
|
IDIV |
INY |
DEY |
|
CPY |
SBCB |
ABX |
|
|
INS |
DES |
|
CBA |
SBA |
ABY |
|
|
Пример 4. Составить программу сложения содержимого двух ячеек памяти с адресами $2000 и $2001. Результат вывести на семисегментный индикатор порта B.
org $1000
ldab #$FF
stab $0003 ;настройка порта В на вывод
ldaa #$19
staa $2000
ldaa #$32
staa $2001
ldx #$2000
ldab 0,x
addb 1,x
stab $0001
Пример 5. Сложить три числа, находящихся в ячейках $2000, $2001, $2002 (сами числа получить у преподавателя).
Пример 6. Написать программу сложения двух трёхбайтных чисел. Первое число записать в память, начиная с адреса $2000 (младший байт). Второе число записать в память, начиная с адреса $2010 (младший байт), (сами числа получить у преподавателя).
Пример 7. Составить, отладить и выполнить программу умножения MUL двух однобайтных чисел, расположенных в памяти микроконтроллера. Значения чисел, адреса ячеек исходных операндов и результатов операции указаны в таблице 3. Адреса размещения программы в памяти задать самостоятельно.
Таблица 3
Номер бригады |
Значения чисел |
Адреса чисел |
Адрес результата |
||
I число |
II число |
I число |
II число |
||
1 |
8A |
57 |
$2000 |
$2001 |
$2100,$2101 |
2 |
2C |
0C |
$2010 |
$2011 |
$2110,$2111 |
3 |
17 |
B2 |
$2012 |
$2013 |
$2112,$2113 |
4 |
47 |
A6 |
$2020 |
$2021 |
$2120,$2121 |
5 |
0A |
23 |
$2022 |
$2023 |
$2122,$2123 |
6 |
07 |
FA |
$2030 |
$2031 |
$2130,$2131 |
7 |
18 |
4B |
$2040 |
$2041 |
$2140,$2141 |
Пример 8. Составить, отладить и выполнить программу целочисленного деления IDIV двух чисел, расположенных в памяти микроконтроллера. Значения чисел, адреса ячеек исходных операндов и результатов операции указаны в табл. 4. Адреса размещения программы в памяти задать самостоятельно.
Таблица 4
Номер бригады |
Значения чисел |
Адрес частного |
Адрес результата |
|
I число |
II число |
|||
1 |
8F |
12 |
$2000, $2001 |
$2100,$2101 |
2 |
AB |
03 |
$2010, $2011 |
$2110,$2111 |
3 |
C2 |
B3 |
$2012, $2013 |
$2112,$2113 |
4 |
D7 |
AA |
$2020, $2021 |
$2120,$2121 |
5 |
C5 |
21 |
$2022, $2023 |
$2122,$2123 |
6 |
1F |
0A |
$2030, $2031 |
$2130,$2131 |
7 |
D3 |
4B |
$2040, $2041 |
$2140,$2141 |
4. Логические команды.
Список логических команд приведён в таблице 5.
Таблица 5.
COMA |
ANDA |
BITA |
ORAA |
EORA |
COMB |
ANDB |
BITB |
ORAB |
EORB |
COM |
|
|
|
|
Пример 9. Вычислить значение логической функции, указанной в таблице 6.
Таблица 6.
Вариант |
Логическая функция |
1 |
X1&X2&X3~X2&~X3 |
2 |
X1&~X2~X1 &~X3 |
3 |
X1&X3~X2&X3&~X1 |
4 |
X1&X2&X3&X2 |
5 |
X2&X3X2~X1 |
6 |
~X1&X3~X1&~X3X2 |
7 |
~X1&X2&X3~X1 |
Переменная X1 находится в ячейке памяти $2000, переменная X2 – в ячейке $2001, переменная X3 – в ячейке $2002. Значения переменных получить у преподавателя.