Programmieren - alles kontrollieren 4.937 Themen, 20.662 Beiträge

Assembler Problem

Firefucker / 7 Antworten / Flachansicht Nickles

Hi Leute,

ich verzweifle noch...weiß jemand wie man im 8086 Code einzelne Bits vertauschen kann?
Die Aufgabe ist folgende:
"Erstellen Sie ein Programm, welches eine 8-Bit-Folge (Byte), die im Datenbereich unter der Adresse "Original" abgelegt ist in umgekehter Reihenfolge (d.h. Bit 7 mit Bit 0, Bit 6 mit Bit1 usw vertauscht) wieder unter der Adresse "REVERSE" im Datenbereich ablegt."

Hab schon den swap befehl probiert doch bekomm die meldung das tasm den befehl nicht kennt, auch mit push und pop hab ich mir überlegt aber das problem ist das da nur bytes auf den stack können! wie kann ich einzelne bits vertauschen,,,alle überlegungen mit xor, ROR usw haben bisher nicht geklappt.

Wäre dankbar für jede Hilfe!

Gruß

bei Antwort benachrichtigen
Antwort Andreas42
Antwort Firefucker
Antwort Andreas42
Antwort Firefucker
mr.escape Firefucker „Bitweise Schieben müsste funktionieren“
Optionen
        register1 carry  register2
start:  01001100  ?      ????????
1.      00100110  0      ????????
2.      00100110  ?      ???????0
3.      00010011  0      ???????0
4.      00010011  ?      ??????00
5.      00001001  1      ??????00
6.      00001001  ?      ?????001
7.      00000100  1      ?????001
8.      00000100  ?      ????0011
9.      00000010  0      ????0011
10.     00000010  ?      ???00110
11.     00000001  0      ???00110
12.     00000001  ?      ??001100
13.     00000000  1      ??001100
14.     00000000  ?      ?0011001
15.     00000000  0      ?0011001
16.     00000000  ?      00110010


jeder ungerade schritt ist ein links-schieben (bit null wandert ins carry) von register1 und jeder gerade schritt ist ein rechts-schieben (carry nach bit null) von register2.

mr.escape
"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen