
Laby_MP / Отчет_семестровая работа
.docМИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФГОУ ВПО «Чувашский государственный университет
имени И. Н. Ульянова»
Факультет энергетики и электротехники
Кафедра электрических и электронных аппаратов
Семестровая работа
Вариант 2
Выполнили студенты
гр. ЭТ-21-10
Гаврилов А.Ю.
Шоглев Р.Г.
Проверил:
Никифоров И.К.
Чебоксары 2014
Семестровая работа
Задание: определить максимальный элемент массива. Задаются начальный адрес массива и его длина.
Блок схема программы
Программа
{Длина массива задается в регистре R1}
$MOD812 {подключение модуля ADuc812}
LCALL PP {вызов подпрограммы PP}
SJMP KONEZ {переход на метку KONEC}
PP: PUSH ACC {начало стека}
M1: CLR A {очищаем аккумулятор}
MOVX A,@DPTR {переносим содержимое регистра DPTR в аккумулятор}
MOV 04H,A {переносим содержимое аккумулятора в ячейку 04H}
SUBB A,02H {разность аккумулятора и регистра R2}
JNC M2 {если С=0 переходим на метку M2}
INC DPTR {увеличиваем содержимое DPTR на +1}
CLR C {очищаем флаг С}
DJNZ R1,M1 {пока R1 не обнулится, переходим на метку M1}
SJMP M3 {переход на метку M3}
M2:MOV 02H,04H {переносим содержимое ячейки 04H в R2}
INC DPTR {увеличиваем содержимое DPTR на +1}
DJNZ R1,M1 {пока R1 не обнулится, переходим на метку M1}
M3:POP ACC {выход из стека}
RET {конец ПП}
KONEZ: END {конец}