diff options
Diffstat (limited to 'src/arch/x86/isa/decoder/one_byte_opcodes.isa')
-rw-r--r-- | src/arch/x86/isa/decoder/one_byte_opcodes.isa | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/arch/x86/isa/decoder/one_byte_opcodes.isa b/src/arch/x86/isa/decoder/one_byte_opcodes.isa index 817986232..84d18441d 100644 --- a/src/arch/x86/isa/decoder/one_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/one_byte_opcodes.isa @@ -519,7 +519,10 @@ 0x1: JMP(Jz); 0x2: decode MODE_SUBMODE { 0x0: UD2(); - default: WarnUnimpl::jmp_far_Ap(); + 0x1: JMP_FAR(Iz); + 0x2: JMP_FAR(Iz); + 0x3: JMP_FAR_REAL(Iz); + 0x4: JMP_FAR_REAL(Iz); } 0x3: JMP(Jb); 0x4: IN(rAb,rD); @@ -581,7 +584,13 @@ 0x2: CALL_NEAR(Ev); 0x3: WarnUnimpl::call_far_Mp(); 0x4: JMP(Ev); - 0x5: WarnUnimpl::jmp_far_Mp(); + 0x5: decode MODE_SUBMODE { + 0x0: JMP_FAR(Mz); + 0x1: JMP_FAR(Mz); + 0x2: JMP_FAR(Mz); + 0x3: JMP_FAR_REAL(Mz); + 0x4: JMP_FAR_REAL(Mz); + } 0x6: PUSH(Ev); 0x7: UD2(); } |