Студопедия  
Главная страница | Контакты | Случайная страница

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

Скидання регістра f

Читайте также:
  1. Відображення обліку готівки в регістрах обліку та статтях фінансової звітності
  2. Відображення операцій з грошовими коштами та розрахунками в регістрах обліку й звітності
  3. Заповніть регістраційну картку.

Синтаксис: CLRF f

Операнд: 0 <= f <= 31

Операція: 00h-> f, 1 -> Z

Біти стану: Z

Код: 0000 011f ffff

Опис: Вміст регістра f скидається в 0 і біт Z

встановлюється в 1.

Циклів: 1

Приклад: CLRF G_REG

Перед виконанням команди: G_REG = 0x5A

Після виконання команди: G_REG = 0x00 Z=1

CLRW Clear W

Скидання регістра W

Синтаксис: CLRW

Операнд: Немає.

Операція: 00h-> W, 1-> Z

Біти стану: Z

Код: 0000 0100 0000

Опис: Вміст регістра W скидається в 0 і біт Z встановлюється в 1.

Циклів: 1

Приклад: CLRW

Перед виконанням команди: W = 0x5A

Після виконання команди: W = 0x00 Z=1

 

CLRWDT Clear watchdog timer

Скидання сторожового таймера WDT

Синтаксис: CLRWDT

Операнд: Немає.

Операція: 00h -> WDT, 0-> WDT prescaler, 1 -> TO, 1 -> PD

Біти стану: ТЕ, PD

Код: 0000 0000 0100

Опис: Команда скидає сторожовий Таймер WDT і попередній дільник. У регістрі стану встановлюються біти ТЕ і PD.

Циклів: 1

Приклад: CLRWDT

Після виконання команди:

WDT counter = 0x00,

WDT prescaler = 0, T0 = 1, PD = 1

Примітка: Оскільки в Р1С16С52 сторожовий Таймер WDT відсутній, команда CLRWDT у цьому випадку буде виконуватися як NOР. Біти стану ТЕ і PD встановлюються в 1.

COMF Complement f

Інверсія регістра f

Синтаксис: COMF f,d

Операнди: 0 <= f <= 31, dє[0,1]

Операція: (f) -> (dest)

Біти стану: Z

Код: 0010 01df ffff

Опис: Вміст регістра f інвертується. Якщо d = 0, результат зберігається в регістрі W. Якщо d = 1, результат зберігається в тому ж регістрі f.

Циклів: 1

Приклад: COMF REG1, 0

Перед виконанням команди: REG1 = 0xl3

Після виконання команди: REG1 = 0xl3 W = 0xEC

DECF Decrement f

Декремент регістра f

Синтаксис: DECF f,d

Операнди: 0 <= f <= 31, dє[0,1]

Операція: (f) - 1-> (dest)

Біти стану: Z

Код: 0000 11df ffff

Опис: Регістр f зменшується на 1. Якщо d = 0, результат зберігається в регістрі W. Якщо d = 1, результат зберігається в тому ж регістрі f.

Циклів: 1

Приклад: DECF CNT, 1

Перед виконанням команди: CNT = 0х01 Z = 0

Після виконання команди: CNT = 0х00 Z = 1

 

DECFSZ Decrement f, Skip if 0

Декремент f, пропустити команду, якщо 0

Синтаксис: DECFSZ f,d

Операнди: 0 <= f <= 31, dє[0,1 ]

Операція: (f) – 1 -> (dest); пропустити, якщо (dest) = 0

Біти стану: Не змінюються.

КОД: 0010 11df ffff

Опис: Вміст регістра f зменшується на 1. Якщо d = 0, результат зберігається в регістрі W. Якщо d = 1, результат зберігається в тому ж регістрі f. Якщо результат не дорівнює 0, виконується така команда. Якщо результат дорівнює 0, то наступна команда, зчитувана в поточному командному циклі, ігнорується, і замість неї в такому циклі виконується NOP, у результаті команда виконується за два цикли.Циклів: 1(2)

Приклад: HERE DECFSZ CNT, 1

GOTO LOOP

CONTINUE

Перед виконанням команди: PC = адреса HERE

Після виконання команди: CNT = CNT-1

якщо СNT = 0, РС = адреса CONTINUE

якщо СNT <> 0, РС = адреса HERE + 1

GOTO Goto address




Дата добавления: 2014-12-18; просмотров: 67 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав