Книга: Цифровые вычислительные устройства и микропроцессоры приборных комплексов

ADD A,R2 ; прибавление множимого

RESULT: DJNZ R3,SHIFT ; декремент счетчика и проверка

; окончания операции (R3 = 0)

RRC A ; сдвиг аккумулятора

XCH A,R1 ; обмен

RRC A ; сдвиг содержимого R1

XCH A,R1 ; обмен

Пример 1.9 . Умножить аккумулятор на число 2 в степени X, где X – число (не более 8), хранящееся в R2. Умножение на 2 заменяется арифметическим сдвигом влево аккумулятора и расширителя R1:

MOV R1,#0 ; сброс R1

CLR С ; сброс флага переноса

LOOP: RLC A ; арифметический сдвиг влево объединенного

XCH A,R1 ; 16-битного результата в

RLC A ; регистровой паре (R1) (A)

XCH A,R1 ;

DJNZ R2,LOOP ; цикл

3.4.2. Изучение команд манипуляции флажками и передачи управления

1) Изучить организацию стека микроконтроллера ВЕ48;

2) Рассмотреть систему команд манипуляции флажками, условных и безусловных переходов, вызова подпрограмм;

3) Ознакомиться с приведенными ниже примерами программ на языке ассемблера;

4) Произвести ввод, отладку и трансляцию в объектный код этих программ;

5) Выполнить программы по шагам с просмотром результатов выполнения в регистрах и оперативной памяти.

Пример 2.1 . Определить четность числа единиц в аккумуляторе. После выполнения программы аккумулятор сохранит свое значение, флаг 0 будет установлен, если число единиц в аккумуляторе было нечетно. Флаг F0 входит в состав PSW и в данном примере специфицирован пользователем для выполнения функций флага паритета.

CLR F0 ; сброс F0

MOV R7,#8 ; число повторов

LOOP: RRC A ; пересылка бита A.0 в перенос

JNC NEXT ; пропустить, если бит равен 0

CPL F0 ; подсчет паритета

NEXT: DJNZ R7,LOOP ; повторить 8 раз

Пример 2.2 . Передать управление по метке LL, если переключатель банка регистров (бит PSW.4) установлен:

К-во Просмотров: 391
Бесплатно скачать Книга: Цифровые вычислительные устройства и микропроцессоры приборных комплексов