Содержание отчета
Задание
по лабораторной работе;
Блок-схема
алгоритма;
Текст
программы с комментариями;
Контрольный
просчет задания.
Ответы
на вопросы:
Краткая
характеристика арифметических команд.
Краткая
характеристика логических команд.
Влияние
арифметических и логических команд на
флаги.
6. Пример выполнения задания.
Пусть
в
памяти
программ,
начиная
с
ячейки
ADR2 = 0431h расположена
таблица
кодов
длиной
N=Eh (20h, 44h, 6h, 28h, 3Ah, 1Ch, 1Eh, 10h, 12h, 14h, 16h, 18h,
1Ah, 1Ch).
Необходимо
составить и отладить программу, которая
вычисляет сумму этих кодов, деленную
на N,
результат поместить в регистр
B.
Программа должна начинаться с ячейки
ADR1= 0714h.
org 0
jmp
Start
org 0714h
db
20h, 44h, 6h, 28h, 3Ah, 1Ch, 1Eh, 10h, 12h, 14h, 16h, 18h, 1Ah, 1Ch
org 0431h;
Start:
mov R2,#0Eh ;
задаем счетчик циклов
mov R3,#0 ;
задаем начальное значение суммы
mov DPTR,#0714h ;
задаем базу массива
mov R4,#0 ;
задаем индекс элемента
cycle:
mov A,R0 ;
заносим в А индекс элемента массива
movc A,@A+DPTR ;
извлекаем в А текущий элемент массива
add A,R3 ;
текущая сумма плюс текущий элемент
массива
mov R3,A ;
новая сумма
djnz R2,
cycle ;
если не все элементы процесс повтори
mov A,R3 ;
в А заносим сумму
mov B,#0Eh ;
в В число элементов
div AB ;
вычисляем значение функции F
mov B,A ;
пересылка значения функции F
в регистр В
jmp $ ;
останов
программы
end
4