
отчетЭвм (АС) / Lab_2
.docЛабораторная работа №2
Подсистема статического дискретного ввода-вывода.
Цель работы:
Изучение принципов построения подсистем статического дискретного ввода-вывода; приобретение навыков написания и отладки программ для устройств этого типа.
Задание:
Написать программу, выполняющую выражение P0 = P2/P1-P3, где P1=1716, P2=91, P3=248. Записать полученное значение в ячейку #14ah.
Листинг:
org 0h
jmp start
org 100h
start:
mov P1,#17h
mov P2,#91
mov P3,#24o
mov a,P2
mov b,P1
Div ab
mov b,P3
SUBB a,b
mov P0,a
mov dptr,#14ah
MOVx @DPTR,a
End
Описание:
Программа записывает значения входных сигналов портов P2 и P1 в аккумулятор A и регистра B соответственно, делит числа из аккумулятора A и регистра B, вычитает от них данные из порта P3, заносит результат в порт P0, загружает указатель данных DPTR на ячейку #4bh и пересылает данные между аккумулятором и байтом внешней памяти данных.
Таблица 1. Начальные параметры и результаты тестирования программы
P0 |
P1 |
P2 |
P3 |
DPTR |
A (аккумулятор) |
B(регистр) |
X:4bh |
0x00 |
0x17 |
0x5B |
0x14 |
0x0000 |
0x00 |
0x00 |
00 |
0x00 |
0x17 |
0x5B |
0x14 |
0x0000 |
0x5B |
0x17 |
00 |
0x00 |
0x17 |
0x5B |
0x14 |
0x0000 |
0x03 |
0x16 |
00 |
0x00 |
0x17 |
0x5B |
0x14 |
0x0000 |
0x03 |
0x14 |
00 |
0x00 |
0x17 |
0x5B |
0x14 |
0x0000 |
0xEF |
0x14 |
00 |
0xEF |
0x17 |
0x5B |
0x14 |
0x014a |
0xEF |
0x14 |
00 |
0xEF |
0x17 |
0x5B |
0x14 |
0x014a |
0xEF |
0x00 |
EF |
Рис 1. Запись значения входных сигналов портов P1, P2, P3
Рис 2. Конечное состояние портов и вывод данных
во внешнюю память в ячейку 14ah
Вывод:
В данной лабораторной работе было проведено ознакомление с работой портов ввода-вывода. Были получены основные навыки по работе с портами и арифметическими действиями на ассемблере.
Выполнил: |
Губарев Роман Юрьевич |
Проверил: |
Шайхутдинов Данил Вадимович |
Дата: |
|
Подпись: |
|