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
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

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert
