www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Register spiegeln in Assembler


Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ich möchte ein Register spiegeln... ich habe bereits mehrere 
Beiträge gelesen jedoch nichts für assemble gefunden...

wie kann ich das realisieren gibt es eine Möglichkeit mit dem ROL befehl 
das register zu verschieben und das Carry einzulesen un dann in ein 
anderes register einzutragen das dann 8 mal hintereinander und am ende 
einfach in das erste register rein laden...

Kann mir bitte jemand einen Tipp geben wie ich dieses Problem einfach 
und strukturiert beheben kann

MFG Hero

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
16 Takte wird es Dich kosten, egal ob Du es mit LSL/ROR, LSR/ROL oder 
BST/BLD machst. In einer Schleife braucht es zwar etwas weniger Code, 
aber bedeutend mehr Zeit.

...

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn's eilig ist: Tabelle, so im ROM plaziert, dass sie auf 0xNN00 
anfängt.

Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zeit spielt gar keine rolle...ne schleife fänd ich auch ganz 
gut... aber die ist komplizierter zu programmieren oder nicht? und wie 
bekomme ich es hin das ich die Bits die ich ja dann nachund nach lese, 
einen nach dem anderen in das Regiter eingetragen bekomme.?

gruss Hero

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
rol r1  ;bit7 ins carry
ror r2  ;carry ins bit0
rol r1  ;bit6 ins carry
ror r2  ;carry ins bit1
rol r1  ;bit5 ins carry
ror r2  ;carry ins bit2
rol r1  ;bit4 ins carry
ror r2  ;carry ins bit3
rol r1  ;bit3 ins carry
ror r2  ;carry ins bit4
rol r1  ;bit2 ins carry
ror r2  ;carry ins bit5
rol r1  ;bit1 ins carry
ror r2  ;carry ins bit6
rol r1  ;bit0 ins carry
ror r2  ;carry ins bit7

Fußmethode :-)

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Hallo Zeit spielt gar keine rolle...ne schleife fänd ich auch ganz
>gut... aber die ist komplizierter zu programmieren oder nicht?

Nein.

>und wie bekomme ich es hin das ich die Bits die ich ja dann nach
>und nach lese,einen nach dem anderen in das Regiter eingetragen bekomme.?

Du schiebst es z.B. mit lsr r16 in das Carryflag und mit rol r17 nach 
Bit0 von r17. Das Ganze acht mal.

MfG Spess

Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Hilfe habs jetzt einfach so gemacht wie Flo es gezeigt 
hat...

Gruss Hero

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mike Dupo schrieb:
> Danke für die Hilfe habs jetzt einfach so gemacht wie Flo es gezeigt
> hat...

Und hast Du es auch verstanden??

Meine obige Antwort 
(Beitrag "Re: Register spiegeln in Assembler") 
gab ich in dieser Form, um Dich neugierig zu machen, also damit Du auf 
die Idee kommen solltest, die Bedeutung der genannten Befehle in der 
Hilfe nachzulesen, sozusagen als Hilfe zur Selbsthilfe.

>
> Gruss Hero

...

Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hannes...

Ja das programm habe ich verstanden...war nicht so schwehr...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.