Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPSS Lab.rab.(ru) 2011-07-16 EP.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.79 Mб
Скачать

Ход работы

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)

Явная прямая,

неявная прямая

Контрольные вопросы.

  1. Как организовать прямую и косвенную адресацию к регистру области памяти данных, адрес которого ACC образован из младшего бита AA и байта CC? Укажите номера активной страницы и сектора обрасти памяти данных.

  2. Как организовать абсолютную и явную индексную адресацию к команде, адрес которой ABB образован из младших пяти битов AA и байта BB? Укажите номера банка и сегмента области памяти программ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]