Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Команда DIV AB
Команда “деление” делит 8-битовое целое без знака из аккумулятора А на 8-битовое целое без знака в регистре В. Аккумулятору присваивается целая часть частного (старшие разряды), а регистру В — остаток. Флаги переноса (С) и переполнения (OV) сбрасываются. Если (А)< (В), то флаг дополнительного переноса (АС) не сбрасывается. Флаг переноса сбрасывается в любом случае.
Примечание: Если В содержит 00, то после команды DIV содержимое аккумулятора А и регистра В будут не определены. Флаг переноса сбрасывается а флаг переполнения устанавливается в “1”. Команда DJNZ < байт>, < смещение> Команда “декремент и переход, если равно нулю” выполняет вычитание “1” из указанной ячейки и осуществляет ветвление по вычисляемому адресу, если результат не равен нулю. Начальное значение 00H перейдет в 0FFH. Адрес перехода (ветвления) вычисляется сложением значения смещения (со знаком), указанного в последнем байте команды, с содержимым счетчика команд, увеличенным на длину команды DJNZ. На флаги эта команда не влияет и допускает следующие режимы адресации: 1) регистровый 2) прямой
1) Ассемблер: DJNZ Rn, < метка>; где n=0-7 Код: 11011rrr re18 Время: 2 цикла Пример:; (R2)=08h, (P1)=FFH (11111111B) LAB4: CPL P1.7 DJNZ R2, LAB4; (R2)={07-00} ; эта последовательность команд переключает Р1.7 ; восемь раз и приводит к появлению четырех импульсов ; на выводе БИС, соответствующем биту Р1.7 2) Ассемблер: DJNZ < direct>, < метка> Код: 11010101 direct addres re18 Время: 2 цикла Пример:; (ОЗУ[40])=01H, (OЗУ[50])=80H, ; (ОЗУ[60])=25H DJNZ 40H, LAB1; (ОЗУ[40]): =00H DJNZ 50H, LAB2; (ОЗУ[50]): =7FH DJNZ 60H, LAB3; (ОЗУ[60]): =25H ... LAB1: CLR A ... LAB2: DEC R1; осуществился переход на ; метку LAB2 Примечание: Если команда DJNZ используется для изменения выхода порта, значение, используемое как операнд, считывается из “защелки” порта, а не с выводов БИС. Команда INC < байт> Команда “инкремент” выполняет прибавление “1” к указанной переменной и не влияет на флаги. Начальное значение 0FFH перейдет в 00H. Эта команда допускает 4 режима адресации: 1) к аккумулятору 2) регистровый 3) прямой 4) косвенно-регистровый
Примечание. При использовании команды INC для изменения содержимого порта, величина, используемая как операнд, считывается из “защелки” порта, а не с выводов БИС.
|