32-Boit-Register auch in 16-Bit-Programmen nutzen
-
Wenn Sie es mit mathemathischen Berechnungen zu tun haben, ist es manchmal schon ein wenig äörgerlich, wenn Sie nicht einmal mit dem externen Assembler die 32-Bit-Register ansprechen dürfen, wenn die Roputinen in Pascal eingebunden werden sollen.
Wenn Sie sich jedoch eines kleinen Tricks bedienen, kommen sie allerdings doch nich zu ihren 32-Bit Registern. Schauen Sie sich das folgende kleine Codefragment an:db 66h xor cx, cx db 66h moc ax, cx
Wenn Sie sich schon einmal mit Opcodes auseinander gesetzt haben, wissen Sie, was meine Intention ist. Es wird einfach das Operand-Size-Prefix 66h manuell eigefügt. Denn es dient ab dem 386er dazu, 32-Bit-egsiter u 'kennzeichnen'. Der obige Code würde also im Debugger so aussehen:
xor ecx, ecx moc eax, ecx
Und so können sich auch beliebig andere Opcodes, die Ihnen nicht zur Verfügung stehen, sowohl im internen als auch im externenAssembler 'gefügig' machen.
-
Nett, dass Sie uns dies mitgeteilt haben.