Регистр состояния программы МК51. Назначение отдельных битов PSW. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Регистр состояния программы МК51. Назначение отдельных битов PSW.

Поиск

10. Регистр состояния программы МК51. Назначение отдельных битов PSW.

Слово состояния программы PSW включает в себя четыре флага: С -перенос, АС - вспомогательный перенос, OV - переполнение и Р - паритет. Флаг OV устанавливается, если результат операции сложения/вычитания не укладывается в семи битах и старший бит результата не может интерпретироваться как знаковый. При выполнении операции деления флаг OV сбрасывается, а в случае деления на нуль - устанавливается. При умножении флаг OV устанавливается, если результат больше 255. Флаг Р равен 0, если число единиц аккумулятора четное.

11. Разработайте программу перестановки элементов массива резидентной памяти данных МК51 в обратном направлении.

 Так как изначальные данные не заданы, то выберем их самостоятельно. Выберем начальный адрес исходного массива 20Н, длина массива 16 байт (т.е. 10Н). пример программы:

MOV R3, #20H             ; присваиваем регистру начальный                    адрес массива

MOV R4, #10H             ; присваиваем регистру количество                    элементов для перестановки

MOV A, R4                                      ; считаем количество

MOV B,#2                     ; необходимых

DIV AB                       ; перестановок

MOV    R5,A                    ; сохраняем количество                                         перестановок в регистре

MOV A, R4                                      ; считаем

ADD A, R3                                      ; конечный

MOV R4, A                                      ; адрес массива

M1: MOV A, @R4        ; копируем значение последнего                                       элемента хранящегося в регистре

MOV R6, A                                      ; сохраняем значение последнего                         элемента (буфер)

MOV A, @R3                ; берем значение первого элемента

MOV @R4, A                ; записываем значение первого                                       элемента в последнюю ячейку

MOV A, R6                                      ; извлекаем значение последнего                         элемента

MOV @R3, A                ; записываем значение последнего                    элемента в первую ячейку

INC R3                         ; увеличиваем начальный адрес

DEC R4                         ; уменьшаем конечный адрес

DJNZ R5, M1                ; уменьшаем R5 на 1, пока не                                          «0» переходим на М1

 



Поделиться:


Последнее изменение этой страницы: 2024-06-17; просмотров: 66; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.)