
- •СведенИя о процессоре pic16. Система команд Архитектура процессоров семейства pic16
- •Распределение областей памяти процессоров pic16
- •Система команд процессоров pic16
- •Программирование на Ассемблере
- •Синтаксис числовых значений в различных системах счисления
- •Практическая часть Процесс подготовки программ для процессоров pic16 Методические указания
- •Ход работы
- •Лабораторная работа № 1
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 2.
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 3.
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 4
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 5
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 6
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 7
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 8
- •Теоретические сведения
- •Ход работы
- •Список литературы
Ход работы
1. Записать полученные в лабораторной работе №1 числа AA, BB и СС в шестнадцатеричной форме.
Примечание: если полученное число CC<0x23, то к нему необходимо добавить 0x20 и в дальнейшем использовать скорректированное число.
2. Составить программу, используя полученные AA, BB и CC в шестнадцатеричной форме:
list p=16f77 ; указание типа процессора
include p16f77.inc ; подключение файла с описанием процессора
c_a EQU 0x20 ; объявление имен переменных
c_b EQU 0x21
c_res EQU 0x22
c_indf EQU CC
EX MACRO a, b ; создание макроса для обмена данных
MOVF a, w
MOVWF b
ENDM ; окончание макроса
ORG 0 ; указание адреса начала программы
start GOTO next
ORG CC
next MOVLW AA
MOVWF c_a
MOVLW BB
MOVWF c_b
EX c_a, c_res
EX c_b, c_a
EX c_res, c_b
MOVLW CC
MOVWF FSR
MOVLW BB
MOVWF INDF
ADDWF c_a, w
BTFSS STATUS, C
NOP
MOVLW CC
MOVWF PCL
END
3. Выполнить ее компиляцию и получить листинг программы с указанием шестнадцатеричного кода и адреса каждой команды.
4. Выполнить проверку программы в пошаговом режиме, фиксируя результаты исполнения каждой команды. По полученным данным указать в комментариях к каждой команде тип адресации и описать выполненные действия.
5. Оформить протокол работы, включающий в себя исходные численные данные, а также таблицу с листингом программы, результатами исполнения команд и комментариями о типе адресации каждой команды.
Листинг |
Программа |
Результат исполнения команды |
Тип адресации |
|
Адрес команды |
Код команды |
|||
0000 …
|
2833 … |
list p=16f77 include p16c74.inc c_a EQU 20 c_b EQU 21 c_indf EQU CC c_res EQU 22 EX MACRO a, b MOVF a, w
MOVWF b ENDM ORG 0 start GOTO next ORG 33 next MOVLW AA MOVWF c_a MOVLW BB MOVWF c_b EX c_a, c_res EX c_b, c_a EX c_res, c_b MOVLW CC MOVWF FSR MOVLW AA MOVWF INDF MOVLW CC MOVWF PCL END |
(File)a→(W)
… |
Явная прямая, неявная прямая … |
Контрольные вопросы.
Как организовать прямую и косвенную адресацию к регистру области памяти данных, адрес которого ACC образован из младшего бита AA и байта CC? Укажите номера активной страницы и сектора обрасти памяти данных.
Как организовать абсолютную и явную индексную адресацию к команде, адрес которой ABB образован из младших пяти битов AA и байта BB? Укажите номера банка и сегмента области памяти программ.