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 |
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.
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.