Special Function Register

Neben den Universalregistern gibt es noch 6 Special function Register mit den Nummern: 0=SFR_STATUS, 1=SFR_LEDS, 2=SFR_MUL, 3=SFR_CC, 4=SFR_IV und 5=SFR_TR.

Register Bits Bedeutung Befehle besondere Bit Befehle
SFR_STATUS Bit 6:0 = RegBase Nummer des Registerfenster (0-126) movi2s, movs2i, jrs, rfe, jals, jalrs, trap und bei der Annahme eines Interrupts
SFR_STATUS Bit 7 = MM ADR17 am Speicher für den Datenzugriff movi2s und movs2i cbits und sbits mit Nummer 1
SFR_STATUS Bit 8 = EI Freigabe der Interrupts movi2s und movs2i cbits und sbits mit Nummer 2
SFR_LEDS Bit 6:0 verbunden mit 7 Segment Anzeige oder LEDs movi2s und movs2i
SFR_MUL Bit 17:0 oberen 18 Bit bei der Multiplikation movi2s, movs2i, mul und muli
SFR_CC Bit 0 = CC Condition code Bit movi2s, movs2i, bnezc und beqzc *) cbits und sbits mit Nummer 0
SFR_IV Bit 17:0 Startadresse für die Interruptverarbeitung **) movi2s und movs2i
SFR_TR Bit 17:0 Startadresse für die TRAP Behandlung ***) movi2s und movs2i

*) im SFR_CC Bit werden die Ergebnisse von Vergleichsoperationen oder von speziellen Zuständen bei arithmetischen und logischen Befehlen gespeichert. So wird bei add und sub der arithmetische Überlauf Over Flow und bei den Schiebebefehlen das auslaufende Bit (der Übertrag) Carry im CC Bit gespeichert. Der Zustand des Bits kann mit den Befehlen bnezc und beqzc getestet werden oder der Wert mit movs2i in ein universal Register transportiert werden. Mit den Befehlen movi2s, cbits 0 und sbits 0 kann das Register auf einen definierten Wert gesetzt werden.

**) Die Startadresse für die Interruptverarbeitung wird bei RESET auf den mit jConfig voreingestellten Wert gesetzt. Sie kann jederzeit gelesen und auch geschrieben werden. Vor einer Veränderung der Adresse, muss der Interrupt gesperrt und die neue Behandlung eingerichtet werden. Mit diesem Register ist auch eine Umschaltung zwischen unterschiedlichen Behandlungen der einzelnen Quellen realisierbar.

***) Die unteren 8 Bit sind nicht schreibbar und haben immer den Wert 0. Auf diese Position wird die Nummer des TRAPs eingeblendet.


SpartanMC