Hi, ich hab grad in dem Intel Instruction Manual gelesen und mir die Opcodes angeschaut.
Mir kommt etwas eigenartig vor: Beispiel:
MOV r16, imm16 -> Opcode: B0 + rw
und
MOV r32, imm32 -> Opcode: B0 + rd
besitzen beide den Opcode B0, addieren jeweils noch den "Register-Code" hinzu...ist ja verständlich, aber...der "Register-Code" ist hierbei gleich (= 0).
Das heißt, dass sich für BEIDE jeweils der Opcode B0 + 0 = B0 ergibt.
Woher weiß der Prozessor, dass er einmal 16 und einmal 32 Bit lesen und verschieben soll?
Ich hoffe, ihr könnt mir meinen Denkfehler erklären...
Vielen Dank