Thumb / ARM ISA - Verständnisfrage

Gast #5731468
Lesenswert?
• ▲
▼
Hi zusammen,

ich habe vor einiger Zeit angefangen mit AVRs zu spielen und beginne nun 
mich mit ARM zu beschäftigen. Dazu lese ich gerade The Definitive Guide 
to ARM. Ich habe eine Verständnisfrage zur ISA über die ich vielleicht 
auch bei AVR gestolpert wäre wenn ich so tief eingestiegen wäre.
 Es geht um die MOV bzw. MOVS Instruktionen. Ich lese, dass der 
Unterschied darin besteht, das MOVS gleichzeitig die Flags im APSR 
aktualisiert also (N, Z, C) im Wesentlichen. MOV schreibt doch nur den 
Wert eines Register oder ein Literal in einen anderen Register. Wie kann 
dabei eine Änderung im PSR auftreten?

Versteht mich nicht falsch, ich will nicht in erster Linie in ASM 
schreiben. Die ersten Programmierversuche erfolgen in C, aber ich habe 
an dieser Stelle das Gefühl, etwas grundsätzlich nich richtig Verstanden 
zu haben.

Ich hoffe ihr könnt mir hier etwas auf die Sprünge helfen.

Viele Grüße
Hannes
#5731523
Lesenswert?
• ▲
▼
Bauform B. schrieb:
> Eigentlich sollte fast jeder Befehl (gerade auch load und store) diese
> Flags setzen. Ich fände das total praktisch, weil man auf die Art ein
> if() halb geschenkt bekommt. Andererseits würde Multi-Word-Arithmetik
> etwas mühsamer, man kann nicht alles auf einmal haben.

Auf nicht spekulativen superskalaren Cores wie dem Cortex M7 wird es zur 
Performance-Bremse. Bei solchen Cores ist es sehr nützlich, wenn man 
zwischen einen Befehl und einem dessen Result nutzenden Befehl 
mindestens einen anderen Befehl legen kann, der damit nichts zu tun hat. 
Bei den normalen Registern ist das einfach, bei den Flags hingegen nur, 
wenn nicht alle Befehle sie setzen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.