Forum: Mikrocontroller und Digitale Elektronik Register spiegeln in Assembler


von Mike D. (hero2992)


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

von Hannes L. (hannes)


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.

...

von (prx) A. K. (prx)


Lesenswert?

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

von Mike D. (hero2992)


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

von Flo (Gast)


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 :-)

von spess53 (Gast)


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

von Mike D. (hero2992)


Lesenswert?

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

Gruss Hero

von Hannes L. (hannes)


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

...

von Mike D. (hero2992)


Lesenswert?

Hallo Hannes...

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

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
Noch kein Account? Hier anmelden.