Hallo, ich arbeite hier mit einem MPC565 von Motorola und habe eine Frage zum Assembler-Code. Ich habe hier eine StartUp-Routine, welche ich aber nicht nachvollziehen kann, da ich keine Informationen zu den verwendeten Befehlen (bzw. dem speziellen Befehlsformat) finden kann. __cstart: mtspr 81,0 li 0,((1<<6)|(1<<7)) lis 3,0x2fc200@ha sth 0,0x2fc200@l(3) .... .. was die Befehle grundsätzlich machen verstehe ich, jedoch finde ich leider keine Information darüber, was das @ha / @l im lis und sth-Befehl bewirken/bezwecken. Die Hex-Zahl davor (0x2fc200) ist eine Adresse und ich nehme mal an, das von dieser was gelesen, bzw anschließend geschrieben wird.
Hallo, die Syntax sieht aber nicht nach reinen PPC-Assembler. Du solltest die Antwort nicht bei Motorola suchen sondern beim Hersteller des Assembler-Programmes welches Du benutzt. Ich vermute diese Zeilen stellen eine Inline-Assembler-Sequenz in einem C-Code (?) Der Wert 0x2FC200 ist eine Adresse und zwar des TBSCR. Hier wird anscheinend das TIME-Base-Modul initialisiert. Mal 'ne Gegenfrage: Was macht Ihr bei VW mit dem MPC565 ?
Lade in R0 den Wert ((1 << 6) | (1 << 7)) Lade nach R3 das Highword der Adresse 2fc200 Speichere den Wert von R0 nach 2fc200 unter Verwendung von der Addr. aus R3 oder so ähnlich ;-) Der PPC kann keine direkte 32Bit Adressierung, von daher wid ein Teil der Adresse immer in einem Register gehalten. Aber damit sollte man sich bei VW schon auskennen, soweit ich weis werden da jede Menge der Freescale CPUs verwendet ;-) Gruß Martin
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.