Hallo, kann mir bitte einer erklären was eine Bankumschaltung bei Registern ist R1-R7? Also R1-R7 funktionieren nicht PUSH und POP. Aber dafür kann man Bankumschaltungen machen? Was soll das den sein? Habs gegoogelt, aber schlau bin ich auch nicht geworden davon. mfg youko
Beispiel für eine Anwendung: - das Hauptprogramm benutzt Bank 0 - die Interrupt-Routine benutzt Bank 1 Vorteil: die Interrupt-Routine braucht die Register R0...R7 nicht zu retten (Push) und zum Schluss wiederherstellen (Pop), da sie ja ihre eigenen Register benutzt. Die Register R0...R7, die das Hauptprogramm benutzt, werden nicht angetastet. Vielleicht hilft das zum Verständnis. Gruß Dietrich
Also Kinders, das Register PSW schaltet 4 Registersätze (R0-R7) um, Bankumschaltung bezieht sich auf den Programmspeicherbereich. Beispielsweise hat der AT89C51RE2 4 Speicherbänke zu 32 kByte, macht dann 128K Programmspeicher. 8 Bitter können sonst nur 64k adressieren. Bye, bye ...
Bei push und pop mit den Registern muss dann AR0 bis AR7 genommen werden. Damit wird dann das entsprechende Register der aktuellen Registerbank auf den Stack gelegt bzw. gelesen. Zumindest Raisonance und Keil machen das so. tschuessle Bernhard
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.