diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2009-04-19 03:42:41 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2009-04-19 03:42:41 -0700 |
commit | 038225a6cae8ce1d8fc5246440b7f697eeb3c90a (patch) | |
tree | 6130b37812c98e1c7413acee8a8ca45b5469d0dc /src/arch/x86/isa/decoder/one_byte_opcodes.isa | |
parent | 3b1b21cb159c0368d50aa0dedd39a8874d91e735 (diff) | |
download | gem5-038225a6cae8ce1d8fc5246440b7f697eeb3c90a.tar.xz |
X86: Implement far jmp.
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(); } |