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

Ход работы

1. Составить десятичное число в формате 1122,33, где 11, 22 и 33 – номера первых трех букв фамилии в русском алфавите.

А – 01

Б – 02

В – 03

Г – 04

Д – 05

Е – 06

Ё – 07

Ж – 08

З – 09

И – 10

Й – 11

К – 12

Л – 13

М – 14

Н – 15

О – 16

П – 17

Р – 18

С – 19

Т – 20

У – 21

Ф – 22

Х – 23

Ц – 24

Ч – 25

Ш – 26

Щ – 27

Ъ – 28

Ы – 29

Ь – 30

Э – 31

Ю – 32

Я – 33

Преобразовать полученное десятичное число в шестнадцатеричное и двоичное формата AABB,CC, где АА и BB старший и младший байты целой части соответственно, СС – байт дробной части.

Например, для фамилии Петров:

1706,2010 = 06АА,3316 = 0000 0110 1010 1010,0011 00112.

2.1. Вычислить сумму чисел АА и ВВ и указать значения признаков переполнения, переносов.

2.2. Вычислить разность чисел ВВ и СС, указать значения признаков заема для каждого бита, тип числа результата.

2.3. Вычислить разность чисел ВВ и СС, предварительно преобразовав СС в дополнительный код.

2.4. Вычислить значение логического выражения:

Q = NOT (АА OR BB AND CC)

3. Программа, текст которой приведен ниже, осуществляет загрузку чисел AA, ВВ и СС в регистры процессора и обеспечивает последовательное выполнение пп.2.1…2.4.

В программе необходимо заменить AA, ВВ и СС рассчитанными значениями в шестнадцатеричной системе счисления.

list p=16f77 ; указание типа процессора

include p16f77.inc ; подключение файла с описанием процессора

CBLOCK 0x20 ; объявления имен переменных

c_a ; переменная для хранения АА

c_b ; переменная для хранения ВВ

c_c ; переменная для хранения СС

c_r1 ; переменная для хранения результата операции п.2.1

c_r2 ; переменная для хранения результата операции п.2.2

c_r3 ; переменная для хранения результата операции п.2.3

c_r4 ; переменная для хранения результата операции п.2.4

ENDC

MOVLW 0хAA

MOVWF c_a

MOVLW 0хBB

MOVWF c_b

MOVLW 0хCC

MOVWF c_c

m_1 MOVF c_a, w ; п.2.1 – сумма АА и ВВ

ADDWF c_b, w

MOVWF c_r1

m_2 MOVF c_c, w ; п.2.2 – разность ВВ и CC

SUBWF c_b, w

MOVWF c_r2

m_3 COMF c_c, w ; п.2.3 – разность ВВ и CC

ADDLW 1

ADDWF c_b, w

MOVWF c_r3

m_4 MOVF c_a, w ; п.2.4 – расчет логического выражения

IORWF c_b, w

ANDWF c_c, w

MOVWF c_r4

COMF c_r4, f

m_end NOP

END

7. Выполнить компиляцию программы и проверить работу в пошаговом режиме.

8. Сопоставить результаты выполнения каждой команды и блоков программы с ожидаемыми и сделать соответствующие выводы.

9. Оформить протокол работы, включающий в себя исходные численные данные, а также таблицу, включающую текст программы с собственными данными, численные значения переменных после выполнения каждой команды и ожидаемый результат.

Программа

Результат исполнения команды

Численные значения переменных после выполнения команды

РС

W

File

m_1 MOVF c_a, w ADDWF c_b, w

MOVWF c_r1

06

07

08

06

BO

-

-

-

c_r1=BO

ВО

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