SREG v0.4d

Lista rejestrów

Nazwa rejestru Numer rejestru
(indeks portu)
Typ dostępu Typ danych
R / W
SREG_RegIn00 0 RO U8 / -
RO U8 / -
SREG_RegIn0F F RO U8 / -
SREG_RegIn10 10 RO U8 / -
RO U8 / -
SREG_RegIn1F 1F RO U8 / -
SREG_RegOut00 20 RW U8 / U8, U32
RW U8 / U8, U32
SREG_RegOut0F 2F RW U8 / U8, U32
SREG_RegOut10 30 RW U8 / U8, U32
RW U8 / U8, U32
SREG_RegOut1F 3F RW U8 / U8, U32

Opis rejestrów


SREG_RegInXY

Odczyt: [U8]
Zwraca stan rejestru o numerze Y w banku o numerze X.
Zdarzenie: [U8]
Generowane po każdej zmianie dowolnego bitu w danym rejestrze.
Opis:
Rejestr przy odczycie zwraca aktualny stan na wejściach wybranego rejestru. Jeśli rejestr XY nie jest obsługiwany, przy odczycie zwracany jest błąd SREG_ERR_INDEX.


SREG_RegOutXY

Odczyt: [U8]
Zwraca stan rejestru o numerze Y w banku o numerze X.
Zapis: [U8, U32]
Zmienia stan rejestru o numerze Y w banku o numerze X.
Zdarzenie: [U8]
Generowane po automatycznej zmianie dowolnego bitu w danym rejestrze.
Opis:
Rejestr przy odczycie zwraca aktualny stan na wyjściach wybranego rejestru. Jeśli rejestr w banku X ma zdefiniowaną linię SOUTxFB, po restarcie procesora odczytywany jest faktyczny stan rejestrów. Jeśli linia SOUTxFB nie jest zdefiniowana, po restarcie rejestry są kasowane (wyjścia ustawiane w stan 0).
Zapis do SREG_RegOutXY wartości 1-bajtowej (0..0xFF) powoduje zmianę wyjść rejestru XY na wpisaną wartość.
Do rejestru można również wpisywać wartości większe niż 1-bajtowe. Znaczenie poszczególnych bajtów jest wówczas następujące:

Numer bajtu 3 2 1 0
Symbol bajtu TIME OPT VAL

VAL - wartość będąca argumentem operacji na rejestrze
OPT - opcje operacji
TIME - czas ponownej zmiany stanu, wyrażony w jednostkach 1/64 sekundy

OPT jest polem bitowym o następującej strukturze:

Numer bitu 7 6 5 4 3 2 1 0
Symbol bitu - - GT ST BN OP

OP - kod operacji:

Wartość OP Znaczenie
000 Zapisuje argument do rejestru
001 Ustawia w rejestrze bity wskazane w argumencie
010 Kasuje w rejestrze bity wskazane w argumencie
011 Zmienia w rejestrze stan bitów wskazanych w argumencie
pozostałe Nie zdefiniowane

BN - jeśli jest ustawiony, VAL jest interpretowane jako numer bitu, argumentem jest wtedy wartość (1 « VAL), w przeciwnym razie argumentem jest VAL
ST - jeśli ustawiony, operacja jest wykonywana na czas określony w TIME, po tym czasie stan wskazanego bitu będzie zmieniony na przeciwny. ST ma znaczenie tylko jeśli bit BN jest ustawiony, w przeciwnym razie ST jest ignorowany
GT - jeśli ustawiony, w odpowiedzi (w polu TIME) zostanie zwrócony czas od ostatnio wykonywanej operacji na danym bicie, o ile operacja ta nie miała określonego czasu wykonania (bit ST był skasowany). GT ma znaczenie tylko jeśli bit BN jest ustawiony, w przeciwnym razie GT jest ignorowany

Jeśli rejestr XY nie jest obsługiwany, przy odczycie lub zapisie zwracany jest błąd SREG_ERR_INDEX.

Przykłady użycia Pola niewymienione należy traktować jako równe 0.