
- •Содержание
- •Отладчик/симулятор WinSim51
- •Начало работы
- •Лабораторная работа №1
- •Форма представления данных в микропроцессорных системах
- •1.2. Методы адресации, команды пересылки и арифметических операций
- •1.3. Логические операции
- •Логическое «не», логическое отрицание, инверсия, «х».
- •Лабораторная работа № 2
- •2.1. Общие сведения
- •2.2. Порядок выполнения работы
- •Лабораторная работа № 3
- •3.1. Общие сведения
- •Регистры-указатели
- •Команда выгрузки из стека: pop ad
- •Команда загрузки стека: push ad
- •2.2. Порядок выполнения работы
- •Список литературы
2.2. Порядок выполнения работы
2.1. Используя программную среду Franclin Software выполнить следующие обязательные задания:
Задание 1: Написать программу для решения следующего математического задания
Найти количество чисел, находящихся в пределах: 05<X<10H из массива целых чисел в ячейках памяти (20H), (21H), … ,(29H). Результат поместить в ячейке (2AH).
Листинг программы с подробными комментариями приведён ниже.
ORG 0
MOV R0 , #20H ; 20H R0 – базовый адрес массива;
MOV R1 , #0AH ; 0AH R1– счётчик количества циклов;
MOV R2 , #0 ; 0H R2 – обнуляем счётчик количества чисел;
L0: MOV A , @R0 ; ( (R0)) A
CLR C ; C=0(см. пояснения после примера)
SUBB A , #05H ; A – 05H – C A
JZ L1 ; если А=0 (Х=05), то перейти на метку L1(1 на рис.1)
JC L1 ; если С=1 (Х<05), то перейти на метку L1(2 на рис.1)
MOV A , @R0 ; ( (R0)) A
CLR C ; C=0
SUBB A ,#10H ; A – 10H – C A ;
JZ L1 ; если А=0 (Х=10H), то переход на L1(3 на рис.1)
JNC L1 ; если С=0 (Х>10H) , то переход на L1(4 на рис.1)
INC R2 ; R2 + 1 R2 увеличить счётчик чисел на 1
L1: INC R0 ; R0 + 1 R0 увеличить адрес на 1
DJNZ R1, L0 ; R1-1 R1; если R1 ≠0 , то переход на метку L0
MOV 2AH , R2 ; R2 (2AH)
L3: JMP L3 ; переход на L3
END
0 05H 10H FFH
Рис.1 Пояснение к заданию 1
Чтобы сравнить числа X и Y нужно вычесть X- Y и проанализировать результаты:
Условия и результат |
А=0 (А-Zero, Да-1, Нет-0) |
Бит С(Есть заём-1, Нет заёма-0) |
X>Y |
0 |
0 |
X=Y |
1 |
0 |
X<Y |
0 |
1 |
Задание 2: Самостоятельно написать программу для решения следующего математического задания.
Найти минимум из массива целых чисел, расположенных в ячейках с адресами (20Н) … (29Н). Результат поместить в ячейку (2АН).
3. Содержание отчёта
3.1. Тема и цель работы
3.2. Листинги сделанных самостоятельно программ.
3.3. Выводы
4. Контрольные вопросы
4.1 Реализация безусловных переходов.
4.2 Реализация условных переходов.
4.3 Реализация сравнения чисел с использованием команд условного перехода.
4.4 Организация циклов
4.5 Написать программу для решения задания, заданного преподавателем.
Лабораторная работа № 3
Тема: «Работа со стеком»
Цель работы: Научиться разрабатывать программы для роботы со стеком. Ознакомится с основными командами для работы со стеком.