лаба2
.pdfМинистерство науки высшего и общего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра безопасности информационных систем (БИС)
Система команд микропроцессоров семейства INTEL MSC-51 Отчет по лабораторной работе №2
по дисциплине «ОЭВМ и ВС»
Вариант 7
Студент гр. 745-1
_________ Ю.А. Булычева
_________ А.С. Малышкова
_________ Ю.С. Юдаева __.__.2025
Принял Старший преподаватель кафедры КИБЭС
_________ Е.О. Калинин __.__.2025
Томск 2025
|
Оглавление |
|
Введение.................................................................................................................. |
3 |
|
1 ХОД РАБОТЫ...................................................................................................... |
4 |
|
1.1 |
Симулятор «EDSim51» и его интерфейс...................................................... |
4 |
1.2 |
Написание программы................................................................................... |
5 |
Заключение............................................................................................................. |
8 |
|
2
Введение
Целью работы является изучение принципов работы системы команд микропроцессора на примере микропроцессора Intel MCS-51, а также разобраться в языке программирования «Assembler», выполняя задание 7 варианта, где необходимо используя систему команд процессора 8051, составьте алгоритм и напишите программу циклического перебора значений от 0 до 99. Числа, делящиеся на 4 без остатка, выводить в порт P0, остальные в порт P1. Оцените период выполнения цикла. Проверьте правильность работы программы на симуляторе.
3
1 ХОД РАБОТЫ
1.1 Симулятор «EDSim51» и его интерфейс
Симулятор «edsim51» представляет собой инструментальную среду, предназначенную для разработки и отладки программного обеспечения для микропроцессоров семейства 8051. Работа в симуляторе ведётся на языке ассемблера, что предоставляет разработчику низкоуровневый контроль над системой. Это позволяет детально анализировать работу процессора, отслеживать состояние регистров и памяти, а также пошагово исполнять код, что особенно ценно для обучения и поиска сложных ошибок (рисунок 1.1).
Рисунок 1.1 — Интерфейс
4
1.2Написание программы
Входе выполнения задания, согласно заданному варианту был продуман и проработан алгоритм (Рисунок 1.2).
Рисунок 1.2 — Блок схема алгоритма
5
Далее согласно алгоритму был написан код для программы (Рисунок
1.3).
Рисунок 1.3 — Код программы Объяснение кода программы:
1.mov r0, #0 - устанавливаем счётчик R0 = 0 для перебора чисел от 0 до 99;
2.step1: - метка начала основного цикла программы;
3.mov a, r0 - загружаем текущее число из R0 в аккумулятор А для вычислений;
4.mov b, #4 - записываем в регистр B число 4 (делитель);
5.div ab - делим A на B (частное в A, остаток в B);
6.mov a, b - перемещаем остаток от деления из B обратно в A для проверки;
7.CJNE a, #0, NOT - сравниваем остаток с нулём:
6
◦если НЕ равен 0 → переходим к метке NOT;
◦если равен 0 → продолжаем дальше.
8.mov P0, r0 - выводим текущее число в порт P0 (числа, кратные 4);
9.sjmp next - переходим к метке next (пропуская блок NOT);
10.NOT: - метка для чисел, НЕ кратных 4;
11.mov P1, r0 - выводим текущее число в порт P1 (числа, НЕ кратные 4);
12.next: - метка объединения;
13.inc r0 - увеличиваем счётчик R0 на 1 (переходим к следующему числу);
14.cjne r0, #100, step1 - проверяем условие окончания цикла:
◦если R0 ≠ 100 → возвращаемся к step1;
◦если R0 = 100 → завершаем цикл.
Результат работы кода представлен ниже (Рисунок 1.4). Программа работала 2ms 541us и исполнила 1816 строк.
Рисунок 1.4 — Результат запуска программы
7
Заключение
В ходе практической работы были освоены осиные системы команд микропроцессора Intel MCS-51. Теоретические знания были применены на практике в процессе разработки и написания программы по варианту.
8
