Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Теоретические сведения. Микропроцессорные системы в электроэнергетике






Микропроцессорные системы в электроэнергетике

 
 
Лабораторная работа №5 Операции преобразования информации    

 

 


Выполнил: ст.гр. Эк-13-1 Калкаманов Н.С.

Проверил(а): _________________________

 

Алматы 2015

Анализ информации посредством регистра состояния

Цель работы: использование флагов регистра Status для анализа информации и применение результата для ветвления алгоритма. Изучение инструкций условных переходов BTFSC и BTFSS, применение их для ветвления алгоритма.

Теоретические сведения

Инструкции условных переходов BTFSC и BTFSS проверяют состояние заданного бита в любом регистре и в зависимости от результата, пропускают или не пропускают следующую инструкцию программы. Инструкция BTFSC пропускает следующую инструкцию, если заданный бит сброшен. Инструкция BTFSS пропускает следующую инструкцию, если заданный бит установлен. На основе этого создается передача управления в другое место программы и организация циклов, см. таблицу 5.1 [3, 5].

Т а б л и ц а 5.1

Использование бита CARRY (C)
BTFSS STATUS, C GOTO METKA MOVWF R2 Если в бите Carry установлена единица, то пропускается следующая инструкция программы GOTO МЕТКА и сразу выполняется инструкция MOVWF R2
Если бит Carry сброшен, то выполняется следующая инструкция программы GOTO METKA
Использование бита ZERO (Z)
BTFSS STATUS, Z MOVF R2, W MOVWF PORTC Если в бите Z установлена единица, то пропускается следующая инструкция программы MOVF R2 и сразу выполняется инструкция MOVWF PORTC
Если битZ сброшен, то выполняется следующая инструкция программы MOVF R2, W и затемMOVWF PORTC

 

В реальных программах вместо указанных инструкций пишутся инструкции, соответствующих разработанному алгоритму.

В ассемблере отсутствуют инструкции сравнения чисел, поэтому, чтобы определить, какое из чисел больше (меньше), применяют такой алгоритм:

а) Выполняют вычитание чисел. При этом в зависимости от результата, устанавливаются флаги C и Z регистра Status, см. таблицу 5.2.

б) Далее применяют инструкции условных переходов.

В таблице 5.2 показаны значения флагов регистра Status при вычитании по команде SUBWF UMENSH, W, т.е. W=UMENSH-W.

Т а б л и ц а 5.2 – Регистрация событий в регистре Status

Соотношения значений в W и РОН UMENSH Значения флагов регистра statusпосле выполнения вычитания
Флаг Z Флаг C
UMENSH-W> 0 0 -Нулевого результата не было 1 - был перенос из 7 бита W в бит С (при сложении в дополнительном коде)
UMENSH-W< 0 0 - Нулевого результата не было 0 - не было переноса из 7 разряда W в бит С (при сложении в дополнительном коде)
UMENSH-W=0 1 - был нулевой результат операции 1- был перенос из 7 разряда W в бит С (при сложении в дополнительном коде)
П р и м е ч а н и е – В регистр UMENSH помещается уменьшаемое число

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал