Hey, habe wieder eine Verständnisfrage zum Assembler. Ich kann die Lösung nicht verstehen. START: MOVE.W A,D1 ADD.W B,D1 MULS.W C,D1 ASL D1 , 2 MOVE.W D1 , ausgabe A: DC.W 6 B: DC.W −9 C: DC.W 4 D: DC.W 3 ausgabe : DC.W 1 Lösung: -48 --> ((6-9)*4)=-12 und jetzt muss zweimal nach links (arithmetisch geshiftet werden. Meine Frage ist nun wie ich die -12 in binär angebe (W steht für 16Bit), erst das Komplement bilden dann shiften oder wie?
tim94 schrieb: > Ich kann die Lösung > nicht verstehen. Ich auch nicht, mein µC kennt all diese befehle nicht, vielleicht hast du einen andren...
Die Aufgabe ist wirklich so vorgegeben, aber ich verstehe grad nicht wieso es das nicht gibt? Was wäre wenn man annimt dass da ASL D1 , 1 steht?
tim94 schrieb: > Hey, > > habe wieder eine Verständnisfrage zum Assembler. Ich kann die Lösung > nicht verstehen. > > START: MOVE.W A,D1 > ADD.W B,D1 > MULS.W C,D1 > ASL D1 , 2 Siehe oben, den Befehl gibt's im 68k-Assembler nicht asl #2, d1 müsste das sein > MOVE.W D1 , ausgabe > A: DC.W 6 > B: DC.W −9 > C: DC.W 4 > D: DC.W 3 > ausgabe : DC.W 1 > Lösung: -48 > > --> ((6-9)*4)=-12 und jetzt muss zweimal nach links (arithmetisch > geshiftet werden. Meine Frage ist nun wie ich die -12 in binär angebe (W > steht für 16Bit), erst das Komplement bilden dann shiften oder wie?
1 | -12 = 0xfff4 (1111 1111 1111 0010) |
2 | 12 = 0x000c (0000 0000 0000 1100) |
3 | Einerkomplement von 12 (not.w) wäre |
4 | 0xfff3 (1111 1111 1111 0011) oder -13 |
5 | der 68k kennt aber auch neg.w... |
Ingo schrieb: > In C gäbe es das Problem so nicht ;) Mensch Ingo, wo siehst denn Du hier ein Problem ? Und 68000er Assembler wär sowieso nicht meine Baustelle ;-)
tim94 schrieb: > Meine Frage ist nun wie ich die -12 in binär angebe (W > steht für 16Bit), erst das Komplement bilden dann shiften oder wie? -12 == 0xFFF4 == 0b1111 1111 1111 0100 Jetzt shiften (<<2): 0x1111 1111 1101 0000 == 0xFFD0 == -48
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.