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ß
Programmieren - alles kontrollieren 4.937 Themen, 20.662 Beiträge
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
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