SSAT Befehl im ARM Befehlssatz

Gast #1117415
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
Persönliche Seite #1117483
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/
Gast #1117518
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?
Persönliche Seite #1117549
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/

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.