![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 117118119120121122123 ... 159 ГЛАВА 12 16 разрядные числа ОПРЕДЕЛЕНИЕ 16-РАЗРЯДНЫХ ЧИСЕЛ Адреса 16-разрядных чисел могут быть заданы следующим образом-
15-разрядного регистра Есть и другой способ, основанный на иснользовании директивы CBLOCK макроассемблера MPASM: CBLOCK 12 , Начало ОЗУ PIC-микроконтроллера 16С71 Определение 8-разрядного регистра Определение первого 15-разрядного регистра Определение второго 15-разрядного регистра Reg 8 Reg 15 2 Reg2 16 2 ENDC ИНКРЕМЕНТИРОВАНИЕ И ДЕКРЕМЕНТИРОВАНИЕ Инкрементирование 16-разрядной величины для PIC-микроконтроллеров младшего и среднего подсемейств выполняется следующим образом: incf Reg, f , Инкрементирование младшего байта btfsc STATUS, Z , Если он равен О, incf Reg + 1, f , инкрементируется старший байт В случае PIC l7Cxx и PIC ISCxx для упрощения операции инкрементирования 16-разрядной величины используется команда infsnz: infsnz Reg f , Инкрементирование младшего байта , и пропуск следующей команды, , когда результат не равен О incf Reg + 1, f , Инкрементирование старшего байта Декрементирование 16-разрядной величины в Р1С-микрокон-троллере требует четырех команд (командных циклов): movf Reg, f , Установка флага Z, , если младший байт равен О Utfsc STATUS, Z decf Reg + 1, f decf Reg, f Если младший байт равен О, декрементируется старший Декрементирование младшего байта СЛОЖЕНИЕ/ВЫЧИТАНИЕ Прибавление константы к 16-разрядному числу в РТС-микроконтроллерах младшего и среднего подсемейств имеет вид: Reg = Reg+ 0x01234 и выполняется следующим образом: , Сначала прибавляется старший байт , Затем прибавляется младший байт , Если перенос установлен, , то старший байт не , инкрементируется
incf Reg + 1, f В случае PIC 17Cxx и PIC 18Cxx для упрощения операции можно использовать команду addwfc: movlw LOW 0x01234 addwf movlw addwfc Reg, f HIGH 0x01234 Reg + 1, f Сначала модифицируется младший байт Затем модифицируется старший байт Соответственно подпрограмма вычитания Reg = Reg-0x01234 для PIC-микроконтроллеров младшего и среднего подсемейств выглядит так:
0 ... 117118119120121122123 ... 159 |