Hallo, laut Dokumentation werden beim Übergang vom User in den IRQ Mode die Register R13 und R14 durch R13_irq und R14_irq ersetzt. Wie gelange ich nun an den Inhalt von R13 und R14? MfG Jens
Laut Assembler Manual gibt es im LDR Befehl keine Unterscheidung zwischen R13 und R13_irq, jedenfalls habe ich keine gefunden. Eine nähere Erläuterungen wäre also hilfreich. Im konkreten Fall sind die Register R13, R14 "nicht sichtbar". Die Adressierung über LDM ergibt nur Zugriffe auf R13_irg, R14_irq. Alternativ habe ich die Modebits im CPSR manuell zurückgesetzt (also IRQ Mode verlassen) und konnte dann auf R13, R14 zugreifen. Anschließend wird IRQ wieder eingestellt und die IRQ-Routine regulär beendet. Sollte diese "Hammer-Methode" die einzige Variante sein? MfG Jens
In meiner Doku vom ARM steht drin, dass der LDM (nicht LDR!) Befehl eine Bit hat, das im System-Mode eine andere Funktion hat als im User-Mode. Im System-Mode kommt man damit an die User-Mode register ran. Die Doku ist zwar schon etwas älter (ARM3) aber in der aktuellen Quickref hab ich es auch wiedergefunden. Syntax war glaub ich mit "^" hintendran.
Danke, das ist es wahrscheinlich. ... beim Programmieren von dem Ding kriegt man ja 'n Knick in die Rübe... Jens
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.