ARM7 Assembler: Carry-Flag mit weniger als 3 Befehlen "übertragen"

OP #2008308
Lesenswert?
• ▲
▼
Hallo NG,

gibt es eine Möglichkeit, das Carryflag mit nur einem Befehl in ein 
Register-Bit zu übertragen? (flag_c ist in meinem Fall 0x01)

Momentan habe ich folgenden Code:

  lsrs r10, r10, #1       // shift right r10 (A)
  orrcs r9, r9, #flag_c    // carry set
  andcc r9, r9, #0xff - flag_c  // carry clear

Danke im vorraus!
Peter
OP #2008429
Lesenswert?
• ▲
▼
A. K. schrieb:
> Dabei gehen die Bits 8..31 über die Wupper.

Hallo. ja, das mit den restlichen Bits ist in diesem Fall Absicht, da 
ich in diesen Registern die Register des "alten 6502" abbilde. Die waren 
nur 8 Bit. Aber das ist dennoch eine sehr interessante Frage für mich 
als Anfänger. Könnte ich mit den restlichen Bits evtl. auch effizient 
arbeiten?

Das wäre natürlich richtig fein, wenn ich 4 8Bit-Register in einem 
r-register des ARM unterbringen würde. Gibts da direkt Befehle, um 
darauf zuzugreifen? Oder werden das dann zwangsweise mehrere Befehle im 
Programm?

MfG
Peter
Persönliche Seite #2009163
Lesenswert?
• ▲
▼
Peter Pippinger schrieb:
> Das wäre natürlich richtig fein, wenn ich 4 8Bit-Register in einem
> r-register des ARM unterbringen würde.

Nein, das wäre ziemlicher Quatsch.

> Gibts da direkt Befehle, um darauf zuzugreifen?

Nicht im ARM7.

> Oder werden das dann zwangsweise mehrere Befehle im Programm?

In jedem Fall. Du musst die Inhalte zum Rechnen wieder rauspopeln.

--
Marcus
Gast #2009353
Lesenswert?
• ▲
▼
Marcus Harnisch schrieb:
> Peter Pippinger schrieb:
>> Das wäre natürlich richtig fein, wenn ich 4 8Bit-Register in einem
>> r-register des ARM unterbringen würde.
> Nein, das wäre ziemlicher Quatsch.

ja, wenns nicht geht ist´s natürlich Quatsch. Wusste nicht, ob es nicht 
sowas ähnliches wie bei x86 gibt: Register AL, AH, AX und EAX etc...;

>> Oder werden das dann zwangsweise mehrere Befehle im Programm?
>In jedem Fall. Du musst die Inhalte zum Rechnen wieder rauspopeln.

Hab sie ja alle in eigenen Registern, weil ich mir das "rauspopeln" 
sparen möchte. Ich dachte nur, wenns da vielleicht Möglichkeiten gibt um 
Register zu "sparen" dann mach ich das.

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.