ВУЗ:
Составители:
.include “C:\AVR\def\tn2313def.inc” ; вставляемый файл tn2313def
.list ; разрешает создание листинга
.def tmp=r16 ; назначает регистру r16 имя tmp
.CSEG ;код программы будет помещен в память программ
.ORG $000 ; устанавливает счетчик адреса на ноль
rjmp Init ; команда перехода на метку Init
init:
ldi tmp,0b0101110
out ddrD, tmp
ldi tmp,0b1010000
out PortD,tmp
ser tmp
out ddrB,tmp
clr tmp
out PortB,tmp
2.7. Регистр состояния SREG
Регистр доступен для записи и чтения и после подачи сигнала сброса инициа-
лизируется нулями. 8 битов регистра служат для обозначения результатов выпол-
нения операций. Все биты могут быть проверены с помощью команд.
Регистр SREG
7 6 5 4 3 2 1 0
I T H S V N Z C
C – (carry), флаг переноса. Указывает на переполнение (перенос) после выпол-
нения арифметической или логической операции. Устанавливаетсяы в 1, если в
результате операции произошел выход за границы байта.
Z – (Zero), флаг нуля. Устанавливается в 1, если результат арифметической
или логической операции равен 0.
N –(Negative), флаг отрицательного результата. Указывает на отрицательный
результат после выполнения арифметической или логической операции.
V – флаг переполнения при вычислении в дополнительном коде.
S – (Sign),
V.NS
⊕=
Флаг знака. Применяется для определения фактического
результата арифметической операции. Устанавливается в 1, если результат ариф-
метической операции меньше нуля.
H – (Halt Carry), флаг половинного переноса. Указывает на переполнения в
младшем полубайте (0…4 разряды). Устанавливается в 1, когда происходит пере-
нос из младшего полубайта в старший.
T – (Transfer or Copy), флаг копирования. Предназначен для свободного при-
менения программистом.
I – (Global Interrupt). Общее разрешение прерываний. Для разрешения преры-
ваний флаг I устанавливается в 1.
25
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »