Zur Zeit bin ich dabei mich mit dem THUMB2 Befehlen des Cortex M3 auseinander zu setzten un will jeden Befehl einmal testen. Bin jetzt auf den Befehl SSAT gestoßen. Die Syntax ist: SSAT<c> <Rd>, <#imm>, <Rn>{,<shift>} und die Definition lautet. Signed saturate. Ich kann damit leider nix anfangen. Kann mir jemand erklären was genau der Befehl macht? Zum testen hab ich mal LDR R4,=0xFFFF SSAT R5,#0xF,R4 debugged aber aus dem Ergebniss kann ich keine Schlüsse ziehen. Das Zielregister enthält anschließend 0x00003FFF. MFG
Aspire wrote: > Zur Zeit bin ich dabei mich mit dem THUMB2 Befehlen des Cortex M3 > auseinander zu setzten un will jeden Befehl einmal testen. Bin jetzt auf > den Befehl SSAT gestoßen. Die Syntax ist: SSAT<c> <Rd>, <#imm>, > <Rn>{,<shift>} und die Definition lautet. Signed saturate. > Ich kann damit leider nix anfangen. Kann mir jemand erklären was genau > der Befehl macht? > > Zum testen hab ich mal > > LDR R4,=0xFFFF > SSAT R5,#0xF,R4 > > debugged aber aus dem Ergebniss kann ich keine Schlüsse ziehen. Das > Zielregister enthält anschließend 0x00003FFF. Der Befehl nimmt die vorzeichenbehaftete Zahl, die sich aus dem (verschobenen) Inhalt von <Rn> ergibt und sättigt sie an der <#imm>'ten Bitposition. Woher weißt Du denn von dem Befehl? Steht da sonst nichts weiter? Gruß Marcus http://www.doulos.com/arm/
Die IAR Entwicklungsumbebung liefert einen ganzen Satz an pdf Dateien. Unter anderem eine CortexM3_TRM, die das programmieren mit Assembler etwas erläutert. Unter anderem wird hier auch der unterstützte THUMB2 Befehlssatz aufgeführt. Allerdings gibt es hier nur eine Kurzbeschreibung der Befehle, keine genaue Erläuterung. Danke deine Antwort hat mir für´s erste weitergeholfen.Ok die Syntax ist mir jetzt klar. Mir ist dieses "sättigen" allerdings nicht ganz klar. Also im oben genannten Beispiel würde das dann bedeuten 0xFFFF wird an der 16ten Stelle gesättigt. Aber 0x3FFF würde doch nur 14 `1` entsprechen? Hängt das mit dem signed zusammen?
Aspire wrote: > Allerdings gibt es hier nur eine Kurzbeschreibung der Befehle, keine > genaue Erläuterung. Das Cortex-M3 Application Level Architecture Reference Manual gibt Dir mehr Details als Du Dir wünschen würdest. Für den Hausgebrauch tut's aber auch http://infocenter.arm.com/help/topic/com.arm.doc.dui0379a/Cjafgdih.html > Aber 0x3FFF würde doch nur 14 `1` entsprechen? > Hängt das mit dem signed zusammen? Ja. Schlag mal die Details in der Doku nach. Gruß Marcus http://www.doulos.com/arm/
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.