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) установлен:

JBSET: MOV A,PSW ; передача PSW в аккумулятор

JB4 LL ; переход, если A.4 = 1

LL: … ;

Пример 2.3. Осуществить переход из нулевого банка памяти программ к программе с именем ROUT, расположенной в первом банке памяти программ:

SEL MB1 ; установка флага MB

JMP ROUT ; переход к программе ROUT

Пример 2.4. Множественное ветвление программы. Допустим, что результатом работы некоторой программы является число X (в пределах от 0 до 15). Необходимо организовать передачу управления 16 различным программам с именами ROUT0–ROUTF в зависимости от вычисленного значения X:

ORG 0 ; задание начального адреса программы

ANL A,0F ; сброс старшей тетрады A

; во избежание ошибки перехода

JMPP @A ; обращение к таблице векторов переходов

; таблица векторов переходов

DB ROUT0 ; начальный адрес программы ROUT0

DB ROUT1 ; начальный адрес программы ROUT1

DB ROUTF ; начальный адрес программы ROUTF

Преобразование чисел из одной системы счисления в другую. Перевод шестнадцатеричных чисел в двоичную систему счисления достигается представлением цифр шестнадцатеричного числа четырехразрядными двоичными числами. Например,

A7B = 1010 0111 1011

A 7 B

Перевод в десятичную систему счисления. Так как перевести числа из двоичной системы в шестнадцатеричную и обратно нетрудно, то для простоты выкладок рассмотрим перевод чисел из шестнадцатеричной системы и обратно.

В качестве примера перевода числа из шестнадцатеричной системы в десятичную систему выберем число 9A5F:

9A5F16 = (9∙163 + 10∙162 + 5∙161 + 15∙160)=(((9∙16+10)∙16+5)∙16+15) = 3951910

9 A 5 F

Здесь путем группировки членов вычисление полиномов представлено в форме так называемой схемы Горнера, обеспечивающей минимальное число выполняемых операций умножения.

Покажем действия по переводу чисел из десятичной системы счисления в шестнадцатеричную на примере преобразования десятичного числа 3951910 в шестнадцатеричную систему счисления

39519 |16

39504 2469 |16

15 2464 154.................................................................. |16

F 5 144 9

 10

 A

Отсюда 3951910 = 9A5F16. Таким образом, последовательно деля на 16 целую часть десятичного числа и образующиеся частные, получаем в последнем частном и остатках цифры всех разрядов шестнадцатеричного представления числа.

Пример 2.5. Преобразование кодов из одной системы счисления в другую. Преобразование кода из одной позиционной системы счисления в другую осуществляется делением исходного числа на основание новой системы счисления. При этом деление должно выполняться по правилам исходной системы счисления. Например, для преобразования двоичного числа в двоично-десятичное исходное двоичное число должно быть поделено на 10 (10102). Деление должно осуществляться по правилам двоичной арифметики.

Пусть требуется выполнить преобразование 8-битного двоичного числа в двоично-десятичное. Исходный двоичный код хранится в аккумуляторе. Результат преобразования состоит из 12 бит: младшие 4 бита – единицы, представляют собой остаток от деления исходного числа на 10; следующие 4 бита – десятки, представляют собой остаток от деления на 10 полученного частного; старшие 4 бита – сотни, являются частным от второго деления:

BBD: CALL DIV10 ; деление исходного кода на 10

MOV R7,A ; сохранение остатка в R7

MOV A,R1 ; загрузка в аккумулятор частного

CALL DIV10 ; деление частного на 10

SWAP A ; передача остатка в старшую тетраду A

ORL A,R7 ; передача R7 в младшую тетраду A

JMP EXIT ; выход из процедуры

; подпрограмма деления на 10

; исходный двоичный код в аккумуляторе

; результат: в R1 – частное, в аккумуляторе – остаток

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

SUB10: ADD A,#(NOT(10)+1) ; вычитание 10 из делимого

INC R1 ; инкремент частного

JC SUB10 ; цикл, если остаток >= 0

DEC R1 ; восстановление частного

ADD A,#10 ; восстановление остатка

RET ; возврат

EXIT: … ;

В результате выполнения процедуры в младшей тетраде R1 хранятся сотни, в аккумуляторе – десятки и единицы двоично-десятичного эквивалента исходного двоичного числа.


Информация о работе «Цифровые вычислительные устройства и микропроцессоры приборных комплексов»
Раздел: Коммуникации и связь
Количество знаков с пробелами: 25576
Количество таблиц: 0
Количество изображений: 9

Похожие работы

Скачать
69323
0
0

еоценить значение МП и микроЭВМ при создании автоматизированных средств измерений, предназначенных для управления, исследования, контроля и испытаний сложных объектов. Развитие науки и техники требует постоянного совершенствования средств измерительной техники, роль которой неуклонно возрастает.   Основные понятия и определения   Понятия и определения, используемые в измерительной технике, ...

Скачать
145927
16
16

... измерения энергии должна находится в пределах ±(0,1-2,5)%. 4.4 Зависимость погрешности дозирования от состава технических средств комплексов дозирования Поскольку в электротехнические комплексы дозирования помимо рассмотренных выше устройств цифрового дозирования количества электричества и электрической энергии входят также устройства коммутации и датчики тока и напряжения, то необходимо ...

Скачать
277842
1
5

... современным компьютерам, должна стать мощным усилителем мыслительных процессов в образовании. И здесь особая роль отводится преподавателям, которые являются носителями технологии образования и которые должны творчески переосмыслить накопленный интеллектуальный багаж в соответствии с новыми технологическими возможностями. До настоящего времени в российском обществе отсутствует четкое понимание ...

Скачать
84679
0
11

... (ШД), адресов (ША) и управления (ШУ). Однокристальные микропроцессоры получаются при реализации всех аппаратных средств процессора в виде одной БИС или СБИС (сверхбольшой интегральной схемы). По мере увеличения степени интеграции элементов в кристалле и числа выводов корпуса параметры однокристальных микропроцессоров улучшаются. Однако возможности однокристальных микропроцессоров ограничены ...

0 комментариев


Наверх