|
START: mov PSW,#011000b; выбор банка регистров 3
LOOP clr C; сброс флага переноса
mov R1,#first; загрузка в регистр R1 числа 0xF0
inc R1; инкремент содержимого R1
mov A,#first; загрузка в аккумулятор числа 0xF0
swap A; обмен местами тетрад в
; аккумуляторе
xch A,R1; обмен содержимого аккумулятора и
; R1
add A,R1; сложение содержимого
; аккумулятора и R1
jc LOOP; переход на метку LOOP, если
; возник перенос
END
Текст программы записать в файл sample. a51.
4. Произвести компиляцию программы с отладочной директивой DEBUG: \а51 sample. a51 DEBUG. Убедиться в отсутствии ошибок. Просмотреть созданные компилятором файлы sample. lst и sample. obj.
5. Произвести компоновку программы: \151 sample. obj. Убедиться в создании абсолютного объектного модуля - файл sample..
6. Просмотреть map-файл sample. m51.
7. С помощью отладчика DS51 произвести запуск программы в пошаговом режиме и убедиться в правильном выполнении контроллером всех команд созданной программы. Оценить результаты выполнения программы.
Рассмотрим выполнение программы, суммирующей элементы массива из памяти программ с константой и заносящей результат в массив памяти данных.
Исходный текст программы представлен ниже.
CONST EQU 5; Определение константы
N EQU 10; Определение размера массива (счетчик)
DSEG AT 30H
Дата добавления: 2015-07-11; просмотров: 83 | Нарушение авторских прав