32-bit transfer in AX und BX
-
HI,
ich brauche Hilfe bei einer Aufgabe die ich seit einer Woche nich lösen kann.
Also ich möchte einen 32bit code in die Register AX und Bx laden aber dass ist ja nicht möglich weil das 16bit Register sind.
Ist es möglich den binärcode aufzuteilen? Oder gibt es eine andere Möglichkeit?DSEG SEGMENT NUMBER DD 11112222 DSEG ENDS CSEG SEGMENT MOV AX,NUMBER CSEG ENDS END
Danke schon jezt für eure Antworten
-
probier es doch mal mit Shiften. shl oder so war die Instruktion dafür
-
Die Shift befehle gehn aber nicht ... weil die Bitordnung i-wie gestört wird
Ich bekomm ne error-message: "operand types do not match" line <12>
Line 12 entspricht: mov ax,number
Auserdem benutzt ich TASMIch bin einfach total Ratlos ...
Für jede Idee offenthx
-
Shiften brauchst du auch gar nicht, wenn du diesen im Speicher liegenden 32Bit-Wert auf 2 16Bit-Register aufteilen willst.
Du kannst direkt die unteren 16Bit in das eine und die oberen 16Bit in das andere Register schieben. Da es hier eigentlich nur um Feinheiten der Syntax geht - hier mein Vorschlag:DSEG SEGMENT NUMBER DD 11112222 DSEG ENDS CSEG SEGMENT MOV AX,[word ptr NUMBER] ; unteren 16Bit mov bx, [word ptr NUMBER + 2] ; oberen 16Bit CSEG ENDS END
-
Danke, das hat mir weitergeholfen