code cleanup
This commit is contained in:
parent
932d758547
commit
63d8d50cfc
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: cpu.h,v 1.413 2008-01-18 09:36:13 sshwarts Exp $
|
||||
// $Id: cpu.h,v 1.414 2008-01-20 20:11:16 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -3910,13 +3910,12 @@ IMPLEMENT_EFLAG_ACCESSOR (TF, 8)
|
||||
#define Bx3ByteOpTable 0x0060 // Group encoding: 110
|
||||
// Group encoding: 111
|
||||
|
||||
#define BxPrefix 0x0080 // bit 7
|
||||
#define BxLockable 0x0100 // bit 8
|
||||
#define Bx3ByteOpcode 0x0200 // bit 9
|
||||
#define BxRepeatable 0x0400 // bit 10
|
||||
#define BxLockable 0x0080 // bit 7
|
||||
#define Bx3ByteOpcode 0x0100 // bit 8
|
||||
#define BxRepeatable 0x0200 // bit 9
|
||||
|
||||
#if BX_SUPPORT_TRACE_CACHE
|
||||
#define BxTraceEnd 0x2000 // bit 13
|
||||
#define BxTraceEnd 0x1000 // bit 12
|
||||
#else
|
||||
#define BxTraceEnd 0
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: fetchdecode.cc,v 1.159 2008-01-18 09:36:13 sshwarts Exp $
|
||||
// $Id: fetchdecode.cc,v 1.160 2008-01-20 20:11:17 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -222,7 +222,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32R[512*2] = {
|
||||
/* 23 /wr */ { 0, &BX_CPU_C::AND_GwEwR },
|
||||
/* 24 /wr */ { BxImmediate_Ib, &BX_CPU_C::AND_ALIb },
|
||||
/* 25 /wr */ { BxImmediate_Iw, &BX_CPU_C::AND_AXIw },
|
||||
/* 26 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // ES:
|
||||
/* 26 /wr */ { 0, &BX_CPU_C::BxError }, // ES:
|
||||
/* 27 /wr */ { 0, &BX_CPU_C::DAA },
|
||||
/* 28 /wr */ { 0, &BX_CPU_C::SUB_EbGbR },
|
||||
/* 29 /wr */ { 0, &BX_CPU_C::SUB_EwGwR },
|
||||
@ -230,7 +230,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32R[512*2] = {
|
||||
/* 2B /wr */ { 0, &BX_CPU_C::SUB_GwEwR },
|
||||
/* 2C /wr */ { BxImmediate_Ib, &BX_CPU_C::SUB_ALIb },
|
||||
/* 2D /wr */ { BxImmediate_Iw, &BX_CPU_C::SUB_AXIw },
|
||||
/* 2E /wr */ { BxPrefix, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2E /wr */ { 0, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2F /wr */ { 0, &BX_CPU_C::DAS },
|
||||
/* 30 /wr */ { 0, &BX_CPU_C::XOR_EbGbR },
|
||||
/* 31 /wr */ { 0, &BX_CPU_C::XOR_EwGwR },
|
||||
@ -238,7 +238,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32R[512*2] = {
|
||||
/* 33 /wr */ { 0, &BX_CPU_C::XOR_GwEwR },
|
||||
/* 34 /wr */ { BxImmediate_Ib, &BX_CPU_C::XOR_ALIb },
|
||||
/* 35 /wr */ { BxImmediate_Iw, &BX_CPU_C::XOR_AXIw },
|
||||
/* 36 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // SS:
|
||||
/* 36 /wr */ { 0, &BX_CPU_C::BxError }, // SS:
|
||||
/* 37 /wr */ { 0, &BX_CPU_C::AAA },
|
||||
/* 38 /wr */ { 0, &BX_CPU_C::CMP_EbGbR },
|
||||
/* 39 /wr */ { 0, &BX_CPU_C::CMP_EwGwR },
|
||||
@ -246,7 +246,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32R[512*2] = {
|
||||
/* 3B /wr */ { 0, &BX_CPU_C::CMP_GwEwR },
|
||||
/* 3C /wr */ { BxImmediate_Ib, &BX_CPU_C::CMP_ALIb },
|
||||
/* 3D /wr */ { BxImmediate_Iw, &BX_CPU_C::CMP_AXIw },
|
||||
/* 3E /wr */ { BxPrefix, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3E /wr */ { 0, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3F /wr */ { 0, &BX_CPU_C::AAS },
|
||||
/* 40 /wr */ { 0, &BX_CPU_C::INC_RX },
|
||||
/* 41 /wr */ { 0, &BX_CPU_C::INC_RX },
|
||||
@ -284,10 +284,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo32R[512*2] = {
|
||||
/* 61 /wr */ { 0, &BX_CPU_C::POPAD16 },
|
||||
/* 62 /wr */ { 0, &BX_CPU_C::BxError }, // BOUND
|
||||
/* 63 /wr */ { 0, &BX_CPU_C::ARPL_EwGw },
|
||||
/* 64 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // AS:
|
||||
/* 64 /wr */ { 0, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /wr */ { 0, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /wr */ { 0, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /wr */ { 0, &BX_CPU_C::BxError }, // AS:
|
||||
/* 68 /wr */ { BxImmediate_Iw, &BX_CPU_C::PUSH_Iw },
|
||||
/* 69 /wr */ { BxImmediate_Iw, &BX_CPU_C::IMUL_GwEwIw },
|
||||
/* 6A /wr */ { BxImmediate_Ib_SE, &BX_CPU_C::PUSH_Iw },
|
||||
@ -436,10 +436,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo32R[512*2] = {
|
||||
/* ED /wr */ { 0, &BX_CPU_C::IN_AXDX },
|
||||
/* EE /wr */ { 0, &BX_CPU_C::OUT_DXAL },
|
||||
/* EF /wr */ { 0, &BX_CPU_C::OUT_DXAX },
|
||||
/* F0 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // LOCK
|
||||
/* F0 /wr */ { 0, &BX_CPU_C::BxError }, // LOCK
|
||||
/* F1 /wr */ { BxTraceEnd, &BX_CPU_C::INT1 },
|
||||
/* F2 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REP, REPE/REPZ
|
||||
/* F2 /wr */ { 0, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /wr */ { 0, &BX_CPU_C::BxError }, // REP, REPE/REPZ
|
||||
/* F4 /wr */ { BxTraceEnd, &BX_CPU_C::HLT },
|
||||
/* F5 /wr */ { 0, &BX_CPU_C::CMC },
|
||||
/* F6 /wr */ { BxGroup3, NULL, BxOpcodeInfoG3EbR },
|
||||
@ -786,7 +786,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32R[512*2] = {
|
||||
/* 23 /dr */ { 0, &BX_CPU_C::AND_GdEdR },
|
||||
/* 24 /dr */ { BxImmediate_Ib, &BX_CPU_C::AND_ALIb },
|
||||
/* 25 /dr */ { BxImmediate_Id, &BX_CPU_C::AND_EAXId },
|
||||
/* 26 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // ES:
|
||||
/* 26 /dr */ { 0, &BX_CPU_C::BxError }, // ES:
|
||||
/* 27 /dr */ { 0, &BX_CPU_C::DAA },
|
||||
/* 28 /dr */ { 0, &BX_CPU_C::SUB_EbGbR },
|
||||
/* 29 /dr */ { 0, &BX_CPU_C::SUB_EdGdR },
|
||||
@ -794,7 +794,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32R[512*2] = {
|
||||
/* 2B /dr */ { 0, &BX_CPU_C::SUB_GdEdR },
|
||||
/* 2C /dr */ { BxImmediate_Ib, &BX_CPU_C::SUB_ALIb },
|
||||
/* 2D /dr */ { BxImmediate_Id, &BX_CPU_C::SUB_EAXId },
|
||||
/* 2E /dr */ { BxPrefix, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2E /dr */ { 0, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2F /dr */ { 0, &BX_CPU_C::DAS },
|
||||
/* 30 /dr */ { 0, &BX_CPU_C::XOR_EbGbR },
|
||||
/* 31 /dr */ { 0, &BX_CPU_C::XOR_EdGdR },
|
||||
@ -802,7 +802,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32R[512*2] = {
|
||||
/* 33 /dr */ { 0, &BX_CPU_C::XOR_GdEdR },
|
||||
/* 34 /dr */ { BxImmediate_Ib, &BX_CPU_C::XOR_ALIb },
|
||||
/* 35 /dr */ { BxImmediate_Id, &BX_CPU_C::XOR_EAXId },
|
||||
/* 36 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // SS:
|
||||
/* 36 /dr */ { 0, &BX_CPU_C::BxError }, // SS:
|
||||
/* 37 /dr */ { 0, &BX_CPU_C::AAA },
|
||||
/* 38 /dr */ { 0, &BX_CPU_C::CMP_EbGbR },
|
||||
/* 39 /dr */ { 0, &BX_CPU_C::CMP_EdGdR },
|
||||
@ -810,7 +810,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32R[512*2] = {
|
||||
/* 3B /dr */ { 0, &BX_CPU_C::CMP_GdEdR },
|
||||
/* 3C /dr */ { BxImmediate_Ib, &BX_CPU_C::CMP_ALIb },
|
||||
/* 3D /dr */ { BxImmediate_Id, &BX_CPU_C::CMP_EAXId },
|
||||
/* 3E /dr */ { BxPrefix, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3E /dr */ { 0, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3F /dr */ { 0, &BX_CPU_C::AAS },
|
||||
/* 40 /dr */ { 0, &BX_CPU_C::INC_ERX },
|
||||
/* 41 /dr */ { 0, &BX_CPU_C::INC_ERX },
|
||||
@ -848,10 +848,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo32R[512*2] = {
|
||||
/* 61 /dr */ { 0, &BX_CPU_C::POPAD32 },
|
||||
/* 62 /dr */ { 0, &BX_CPU_C::BxError }, // BOUND
|
||||
/* 63 /dr */ { 0, &BX_CPU_C::ARPL_EwGw },
|
||||
/* 64 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // AS:
|
||||
/* 64 /dr */ { 0, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /dr */ { 0, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /dr */ { 0, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /dr */ { 0, &BX_CPU_C::BxError }, // AS:
|
||||
/* 68 /dr */ { BxImmediate_Id, &BX_CPU_C::PUSH_Id },
|
||||
/* 69 /dr */ { BxImmediate_Id, &BX_CPU_C::IMUL_GdEdId },
|
||||
/* 6A /dr */ { BxImmediate_Ib_SE, &BX_CPU_C::PUSH_Id },
|
||||
@ -1000,10 +1000,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo32R[512*2] = {
|
||||
/* ED /dr */ { 0, &BX_CPU_C::IN_EAXDX },
|
||||
/* EE /dr */ { 0, &BX_CPU_C::OUT_DXAL },
|
||||
/* EF /dr */ { 0, &BX_CPU_C::OUT_DXEAX },
|
||||
/* F0 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // LOCK:
|
||||
/* F0 /dr */ { 0, &BX_CPU_C::BxError }, // LOCK:
|
||||
/* F1 /dr */ { BxTraceEnd, &BX_CPU_C::INT1 },
|
||||
/* F2 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REP,REPE/REPZ
|
||||
/* F2 /dr */ { 0, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /dr */ { 0, &BX_CPU_C::BxError }, // REP,REPE/REPZ
|
||||
/* F4 /dr */ { BxTraceEnd, &BX_CPU_C::HLT },
|
||||
/* F5 /dr */ { 0, &BX_CPU_C::CMC },
|
||||
/* F6 /dr */ { BxGroup3, NULL, BxOpcodeInfoG3EbR },
|
||||
@ -1357,7 +1357,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32M[512*2] = {
|
||||
/* 23 /wm */ { 0, &BX_CPU_C::AND_GwEwM },
|
||||
/* 24 /wm */ { BxImmediate_Ib, &BX_CPU_C::AND_ALIb },
|
||||
/* 25 /wm */ { BxImmediate_Iw, &BX_CPU_C::AND_AXIw },
|
||||
/* 26 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // ES:
|
||||
/* 26 /wm */ { 0, &BX_CPU_C::BxError }, // ES:
|
||||
/* 27 /wm */ { 0, &BX_CPU_C::DAA },
|
||||
/* 28 /wm */ { BxLockable, &BX_CPU_C::SUB_EbGbM },
|
||||
/* 29 /wm */ { BxLockable, &BX_CPU_C::SUB_EwGwM },
|
||||
@ -1365,7 +1365,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32M[512*2] = {
|
||||
/* 2B /wm */ { 0, &BX_CPU_C::SUB_GwEwM },
|
||||
/* 2C /wm */ { BxImmediate_Ib, &BX_CPU_C::SUB_ALIb },
|
||||
/* 2D /wm */ { BxImmediate_Iw, &BX_CPU_C::SUB_AXIw },
|
||||
/* 2E /wm */ { BxPrefix, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2E /wm */ { 0, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2F /wm */ { 0, &BX_CPU_C::DAS },
|
||||
/* 30 /wm */ { BxLockable, &BX_CPU_C::XOR_EbGbM },
|
||||
/* 31 /wm */ { BxLockable, &BX_CPU_C::XOR_EwGwM },
|
||||
@ -1373,7 +1373,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32M[512*2] = {
|
||||
/* 33 /wm */ { 0, &BX_CPU_C::XOR_GwEwM },
|
||||
/* 34 /wm */ { BxImmediate_Ib, &BX_CPU_C::XOR_ALIb },
|
||||
/* 35 /wm */ { BxImmediate_Iw, &BX_CPU_C::XOR_AXIw },
|
||||
/* 36 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // SS:
|
||||
/* 36 /wm */ { 0, &BX_CPU_C::BxError }, // SS:
|
||||
/* 37 /wm */ { 0, &BX_CPU_C::AAA },
|
||||
/* 38 /wm */ { 0, &BX_CPU_C::CMP_EbGbM },
|
||||
/* 39 /wm */ { 0, &BX_CPU_C::CMP_EwGwM },
|
||||
@ -1381,7 +1381,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32M[512*2] = {
|
||||
/* 3B /wm */ { 0, &BX_CPU_C::CMP_GwEwM },
|
||||
/* 3C /wm */ { BxImmediate_Ib, &BX_CPU_C::CMP_ALIb },
|
||||
/* 3D /wm */ { BxImmediate_Iw, &BX_CPU_C::CMP_AXIw },
|
||||
/* 3E /wm */ { BxPrefix, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3E /wm */ { 0, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3F /wm */ { 0, &BX_CPU_C::AAS },
|
||||
/* 40 /wm */ { 0, &BX_CPU_C::INC_RX },
|
||||
/* 41 /wm */ { 0, &BX_CPU_C::INC_RX },
|
||||
@ -1419,10 +1419,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo32M[512*2] = {
|
||||
/* 61 /wm */ { 0, &BX_CPU_C::POPAD16 },
|
||||
/* 62 /wm */ { 0, &BX_CPU_C::BOUND_GwMa },
|
||||
/* 63 /wm */ { 0, &BX_CPU_C::ARPL_EwGw },
|
||||
/* 64 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // AS:
|
||||
/* 64 /wm */ { 0, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /wm */ { 0, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /wm */ { 0, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /wm */ { 0, &BX_CPU_C::BxError }, // AS:
|
||||
/* 68 /wm */ { BxImmediate_Iw, &BX_CPU_C::PUSH_Iw },
|
||||
/* 69 /wm */ { BxImmediate_Iw, &BX_CPU_C::IMUL_GwEwIw },
|
||||
/* 6A /wm */ { BxImmediate_Ib_SE, &BX_CPU_C::PUSH_Iw },
|
||||
@ -1571,10 +1571,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo32M[512*2] = {
|
||||
/* ED /wm */ { 0, &BX_CPU_C::IN_AXDX },
|
||||
/* EE /wm */ { 0, &BX_CPU_C::OUT_DXAL },
|
||||
/* EF /wm */ { 0, &BX_CPU_C::OUT_DXAX },
|
||||
/* F0 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // LOCK
|
||||
/* F0 /wm */ { 0, &BX_CPU_C::BxError }, // LOCK
|
||||
/* F1 /wm */ { BxTraceEnd, &BX_CPU_C::INT1 },
|
||||
/* F2 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REP, REPE/REPZ
|
||||
/* F2 /wm */ { 0, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /wm */ { 0, &BX_CPU_C::BxError }, // REP, REPE/REPZ
|
||||
/* F4 /wm */ { BxTraceEnd, &BX_CPU_C::HLT },
|
||||
/* F5 /wm */ { 0, &BX_CPU_C::CMC },
|
||||
/* F6 /wm */ { BxGroup3, NULL, BxOpcodeInfoG3EbM },
|
||||
@ -1921,7 +1921,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32M[512*2] = {
|
||||
/* 23 /dm */ { 0, &BX_CPU_C::AND_GdEdM },
|
||||
/* 24 /dm */ { BxImmediate_Ib, &BX_CPU_C::AND_ALIb },
|
||||
/* 25 /dm */ { BxImmediate_Id, &BX_CPU_C::AND_EAXId },
|
||||
/* 26 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // ES:
|
||||
/* 26 /dm */ { 0, &BX_CPU_C::BxError }, // ES:
|
||||
/* 27 /dm */ { 0, &BX_CPU_C::DAA },
|
||||
/* 28 /dm */ { BxLockable, &BX_CPU_C::SUB_EbGbM },
|
||||
/* 29 /dm */ { BxLockable, &BX_CPU_C::SUB_EdGdM },
|
||||
@ -1929,7 +1929,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32M[512*2] = {
|
||||
/* 2B /dm */ { 0, &BX_CPU_C::SUB_GdEdM },
|
||||
/* 2C /dm */ { BxImmediate_Ib, &BX_CPU_C::SUB_ALIb },
|
||||
/* 2D /dm */ { BxImmediate_Id, &BX_CPU_C::SUB_EAXId },
|
||||
/* 2E /dm */ { BxPrefix, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2E /dm */ { 0, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2F /dm */ { 0, &BX_CPU_C::DAS },
|
||||
/* 30 /dm */ { BxLockable, &BX_CPU_C::XOR_EbGbM },
|
||||
/* 31 /dm */ { BxLockable, &BX_CPU_C::XOR_EdGdM },
|
||||
@ -1937,7 +1937,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32M[512*2] = {
|
||||
/* 33 /dm */ { 0, &BX_CPU_C::XOR_GdEdM },
|
||||
/* 34 /dm */ { BxImmediate_Ib, &BX_CPU_C::XOR_ALIb },
|
||||
/* 35 /dm */ { BxImmediate_Id, &BX_CPU_C::XOR_EAXId },
|
||||
/* 36 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // SS:
|
||||
/* 36 /dm */ { 0, &BX_CPU_C::BxError }, // SS:
|
||||
/* 37 /dm */ { 0, &BX_CPU_C::AAA },
|
||||
/* 38 /dm */ { 0, &BX_CPU_C::CMP_EbGbM },
|
||||
/* 39 /dm */ { 0, &BX_CPU_C::CMP_EdGdM },
|
||||
@ -1945,7 +1945,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo32M[512*2] = {
|
||||
/* 3B /dm */ { 0, &BX_CPU_C::CMP_GdEdM },
|
||||
/* 3C /dm */ { BxImmediate_Ib, &BX_CPU_C::CMP_ALIb },
|
||||
/* 3D /dm */ { BxImmediate_Id, &BX_CPU_C::CMP_EAXId },
|
||||
/* 3E /dm */ { BxPrefix, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3E /dm */ { 0, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3F /dm */ { 0, &BX_CPU_C::AAS },
|
||||
/* 40 /dm */ { 0, &BX_CPU_C::INC_ERX },
|
||||
/* 41 /dm */ { 0, &BX_CPU_C::INC_ERX },
|
||||
@ -1983,10 +1983,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo32M[512*2] = {
|
||||
/* 61 /dm */ { 0, &BX_CPU_C::POPAD32 },
|
||||
/* 62 /dm */ { 0, &BX_CPU_C::BOUND_GdMa },
|
||||
/* 63 /dm */ { 0, &BX_CPU_C::ARPL_EwGw },
|
||||
/* 64 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // AS:
|
||||
/* 64 /dm */ { 0, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /dm */ { 0, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /dm */ { 0, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /dm */ { 0, &BX_CPU_C::BxError }, // AS:
|
||||
/* 68 /dm */ { BxImmediate_Id, &BX_CPU_C::PUSH_Id },
|
||||
/* 69 /dm */ { BxImmediate_Id, &BX_CPU_C::IMUL_GdEdId },
|
||||
/* 6A /dm */ { BxImmediate_Ib_SE, &BX_CPU_C::PUSH_Id },
|
||||
@ -2135,10 +2135,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo32M[512*2] = {
|
||||
/* ED /dm */ { 0, &BX_CPU_C::IN_EAXDX },
|
||||
/* EE /dm */ { 0, &BX_CPU_C::OUT_DXAL },
|
||||
/* EF /dm */ { 0, &BX_CPU_C::OUT_DXEAX },
|
||||
/* F0 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // LOCK:
|
||||
/* F0 /dm */ { 0, &BX_CPU_C::BxError }, // LOCK:
|
||||
/* F1 /dm */ { BxTraceEnd, &BX_CPU_C::INT1 },
|
||||
/* F2 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REP,REPE/REPZ
|
||||
/* F2 /dm */ { 0, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /dm */ { 0, &BX_CPU_C::BxError }, // REP,REPE/REPZ
|
||||
/* F4 /dm */ { BxTraceEnd, &BX_CPU_C::HLT },
|
||||
/* F5 /dm */ { 0, &BX_CPU_C::CMC },
|
||||
/* F6 /dm */ { BxGroup3, NULL, BxOpcodeInfoG3EbM },
|
||||
@ -2469,7 +2469,7 @@ BX_CPU_C::fetchDecode32(Bit8u *iptr, bxInstruction_c *i, unsigned remainingInPag
|
||||
|
||||
i->ResolveModrm = 0;
|
||||
i->initMetaInfo(/*os32*/ is_32, /*as32*/ is_32,
|
||||
/*os64*/ 0, /*as64*/ 0);
|
||||
/*os64*/ 0, /*as64*/ 0);
|
||||
|
||||
offset = os_32 << 9; // * 512
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: fetchdecode64.cc,v 1.166 2008-01-18 09:36:15 sshwarts Exp $
|
||||
// $Id: fetchdecode64.cc,v 1.167 2008-01-20 20:11:17 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -211,7 +211,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 23 /wr */ { 0, &BX_CPU_C::AND_GwEwR },
|
||||
/* 24 /wr */ { BxImmediate_Ib, &BX_CPU_C::AND_ALIb },
|
||||
/* 25 /wr */ { BxImmediate_Iw, &BX_CPU_C::AND_AXIw },
|
||||
/* 26 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // ES:
|
||||
/* 26 /wr */ { 0, &BX_CPU_C::BxError }, // ES:
|
||||
/* 27 /wr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 28 /wr */ { 0, &BX_CPU_C::SUB_EbGbR },
|
||||
/* 29 /wr */ { 0, &BX_CPU_C::SUB_EwGwR },
|
||||
@ -219,7 +219,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 2B /wr */ { 0, &BX_CPU_C::SUB_GwEwR },
|
||||
/* 2C /wr */ { BxImmediate_Ib, &BX_CPU_C::SUB_ALIb },
|
||||
/* 2D /wr */ { BxImmediate_Iw, &BX_CPU_C::SUB_AXIw },
|
||||
/* 2E /wr */ { BxPrefix, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2E /wr */ { 0, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2F /wr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 30 /wr */ { 0, &BX_CPU_C::XOR_EbGbR },
|
||||
/* 31 /wr */ { 0, &BX_CPU_C::XOR_EwGwR },
|
||||
@ -227,7 +227,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 33 /wr */ { 0, &BX_CPU_C::XOR_GwEwR },
|
||||
/* 34 /wr */ { BxImmediate_Ib, &BX_CPU_C::XOR_ALIb },
|
||||
/* 35 /wr */ { BxImmediate_Iw, &BX_CPU_C::XOR_AXIw },
|
||||
/* 36 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // SS:
|
||||
/* 36 /wr */ { 0, &BX_CPU_C::BxError }, // SS:
|
||||
/* 37 /wr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 38 /wr */ { 0, &BX_CPU_C::CMP_EbGbR },
|
||||
/* 39 /wr */ { 0, &BX_CPU_C::CMP_EwGwR },
|
||||
@ -235,24 +235,24 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 3B /wr */ { 0, &BX_CPU_C::CMP_GwEwR },
|
||||
/* 3C /wr */ { BxImmediate_Ib, &BX_CPU_C::CMP_ALIb },
|
||||
/* 3D /wr */ { BxImmediate_Iw, &BX_CPU_C::CMP_AXIw },
|
||||
/* 3E /wr */ { BxPrefix, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3E /wr */ { 0, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3F /wr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 40 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 41 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 42 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 43 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 44 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 45 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 46 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 47 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 48 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 49 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4A /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4B /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4C /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4D /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4E /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4F /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 40 /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 41 /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 42 /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 43 /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 44 /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 45 /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 46 /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 47 /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 48 /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 49 /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4A /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4B /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4C /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4D /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4E /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4F /wr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 50 /wr */ { 0, &BX_CPU_C::PUSH_RX },
|
||||
/* 51 /wr */ { 0, &BX_CPU_C::PUSH_RX },
|
||||
/* 52 /wr */ { 0, &BX_CPU_C::PUSH_RX },
|
||||
@ -273,10 +273,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 61 /wr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 62 /wr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 63 /wr */ { 0, &BX_CPU_C::MOV_GwEwR }, // MOVSX_GwEw
|
||||
/* 64 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // AS:
|
||||
/* 64 /wr */ { 0, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /wr */ { 0, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /wr */ { 0, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /wr */ { 0, &BX_CPU_C::BxError }, // AS:
|
||||
/* 68 /wr */ { BxImmediate_Iw, &BX_CPU_C::PUSH_Iw },
|
||||
/* 69 /wr */ { BxImmediate_Iw, &BX_CPU_C::IMUL_GwEwIw },
|
||||
/* 6A /wr */ { BxImmediate_Ib_SE, &BX_CPU_C::PUSH_Iw },
|
||||
@ -414,10 +414,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* ED /wr */ { 0, &BX_CPU_C::IN_AXDX },
|
||||
/* EE /wr */ { 0, &BX_CPU_C::OUT_DXAL },
|
||||
/* EF /wr */ { 0, &BX_CPU_C::OUT_DXAX },
|
||||
/* F0 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // LOCK
|
||||
/* F0 /wr */ { 0, &BX_CPU_C::BxError }, // LOCK
|
||||
/* F1 /wr */ { BxTraceEnd, &BX_CPU_C::INT1 },
|
||||
/* F2 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /wr */ { BxPrefix, &BX_CPU_C::BxError }, // REP, REPE/REPZ
|
||||
/* F2 /wr */ { 0, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /wr */ { 0, &BX_CPU_C::BxError }, // REP, REPE/REPZ
|
||||
/* F4 /wr */ { BxTraceEnd, &BX_CPU_C::HLT },
|
||||
/* F5 /wr */ { 0, &BX_CPU_C::CMC },
|
||||
/* F6 /wr */ { BxGroup3, NULL, BxOpcodeInfoG3EbR },
|
||||
@ -740,7 +740,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 23 /dr */ { 0, &BX_CPU_C::AND_GdEdR },
|
||||
/* 24 /dr */ { BxImmediate_Ib, &BX_CPU_C::AND_ALIb },
|
||||
/* 25 /dr */ { BxImmediate_Id, &BX_CPU_C::AND_EAXId },
|
||||
/* 26 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // ES:
|
||||
/* 26 /dr */ { 0, &BX_CPU_C::BxError }, // ES:
|
||||
/* 27 /dr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 28 /dr */ { 0, &BX_CPU_C::SUB_EbGbR },
|
||||
/* 29 /dr */ { 0, &BX_CPU_C::SUB_EdGdR },
|
||||
@ -748,7 +748,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 2B /dr */ { 0, &BX_CPU_C::SUB_GdEdR },
|
||||
/* 2C /dr */ { BxImmediate_Ib, &BX_CPU_C::SUB_ALIb },
|
||||
/* 2D /dr */ { BxImmediate_Id, &BX_CPU_C::SUB_EAXId },
|
||||
/* 2E /dr */ { BxPrefix, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2E /dr */ { 0, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2F /dr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 30 /dr */ { 0, &BX_CPU_C::XOR_EbGbR },
|
||||
/* 31 /dr */ { 0, &BX_CPU_C::XOR_EdGdR },
|
||||
@ -756,7 +756,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 33 /dr */ { 0, &BX_CPU_C::XOR_GdEdR },
|
||||
/* 34 /dr */ { BxImmediate_Ib, &BX_CPU_C::XOR_ALIb },
|
||||
/* 35 /dr */ { BxImmediate_Id, &BX_CPU_C::XOR_EAXId },
|
||||
/* 36 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // SS:
|
||||
/* 36 /dr */ { 0, &BX_CPU_C::BxError }, // SS:
|
||||
/* 37 /dr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 38 /dr */ { 0, &BX_CPU_C::CMP_EbGbR },
|
||||
/* 39 /dr */ { 0, &BX_CPU_C::CMP_EdGdR },
|
||||
@ -764,24 +764,24 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 3B /dr */ { 0, &BX_CPU_C::CMP_GdEdR },
|
||||
/* 3C /dr */ { BxImmediate_Ib, &BX_CPU_C::CMP_ALIb },
|
||||
/* 3D /dr */ { BxImmediate_Id, &BX_CPU_C::CMP_EAXId },
|
||||
/* 3E /dr */ { BxPrefix, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3E /dr */ { 0, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3F /dr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 40 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 41 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 42 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 43 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 44 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 45 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 46 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 47 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 48 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 49 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4A /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4B /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4C /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4D /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4E /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4F /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 40 /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 41 /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 42 /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 43 /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 44 /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 45 /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 46 /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 47 /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 48 /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 49 /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4A /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4B /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4C /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4D /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4E /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4F /dr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 50 /dr */ { 0, &BX_CPU_C::PUSH_RRX },
|
||||
/* 51 /dr */ { 0, &BX_CPU_C::PUSH_RRX },
|
||||
/* 52 /dr */ { 0, &BX_CPU_C::PUSH_RRX },
|
||||
@ -802,10 +802,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 61 /dr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 62 /dr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 63 /dr */ { 0, &BX_CPU_C::MOV_GdEdR }, // MOVSX_GdEd
|
||||
/* 64 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // AS:
|
||||
/* 64 /dr */ { 0, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /dr */ { 0, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /dr */ { 0, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /dr */ { 0, &BX_CPU_C::BxError }, // AS:
|
||||
/* 68 /dr */ { BxImmediate_Id, &BX_CPU_C::PUSH64_Id },
|
||||
/* 69 /dr */ { BxImmediate_Id, &BX_CPU_C::IMUL_GdEdId },
|
||||
/* 6A /dr */ { BxImmediate_Ib_SE, &BX_CPU_C::PUSH64_Id },
|
||||
@ -943,10 +943,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* ED /dr */ { 0, &BX_CPU_C::IN_EAXDX },
|
||||
/* EE /dr */ { 0, &BX_CPU_C::OUT_DXAL },
|
||||
/* EF /dr */ { 0, &BX_CPU_C::OUT_DXEAX },
|
||||
/* F0 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // LOCK:
|
||||
/* F0 /dr */ { 0, &BX_CPU_C::BxError }, // LOCK:
|
||||
/* F1 /dr */ { BxTraceEnd, &BX_CPU_C::INT1 },
|
||||
/* F2 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /dr */ { BxPrefix, &BX_CPU_C::BxError }, // REP,REPE/REPZ
|
||||
/* F2 /dr */ { 0, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /dr */ { 0, &BX_CPU_C::BxError }, // REP,REPE/REPZ
|
||||
/* F4 /dr */ { BxTraceEnd, &BX_CPU_C::HLT },
|
||||
/* F5 /dr */ { 0, &BX_CPU_C::CMC },
|
||||
/* F6 /dr */ { BxGroup3, NULL, BxOpcodeInfoG3EbR },
|
||||
@ -1269,7 +1269,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 23 /qr */ { 0, &BX_CPU_C::AND_GqEqR },
|
||||
/* 24 /qr */ { BxImmediate_Ib, &BX_CPU_C::AND_ALIb },
|
||||
/* 25 /qr */ { BxImmediate_Id, &BX_CPU_C::AND_RAXId },
|
||||
/* 26 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // ES:
|
||||
/* 26 /qr */ { 0, &BX_CPU_C::BxError }, // ES:
|
||||
/* 27 /qr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 28 /qr */ { 0, &BX_CPU_C::SUB_EbGbR },
|
||||
/* 29 /qr */ { 0, &BX_CPU_C::SUB_EqGqR },
|
||||
@ -1277,7 +1277,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 2B /qr */ { 0, &BX_CPU_C::SUB_GqEqR },
|
||||
/* 2C /qr */ { BxImmediate_Ib, &BX_CPU_C::SUB_ALIb },
|
||||
/* 2D /qr */ { BxImmediate_Id, &BX_CPU_C::SUB_RAXId },
|
||||
/* 2E /qr */ { BxPrefix, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2E /qr */ { 0, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2F /qr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 30 /qr */ { 0, &BX_CPU_C::XOR_EbGbR },
|
||||
/* 31 /qr */ { 0, &BX_CPU_C::XOR_EqGqR },
|
||||
@ -1285,7 +1285,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 33 /qr */ { 0, &BX_CPU_C::XOR_GqEqR },
|
||||
/* 34 /qr */ { BxImmediate_Ib, &BX_CPU_C::XOR_ALIb },
|
||||
/* 35 /qr */ { BxImmediate_Id, &BX_CPU_C::XOR_RAXId },
|
||||
/* 36 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // SS:
|
||||
/* 36 /qr */ { 0, &BX_CPU_C::BxError }, // SS:
|
||||
/* 37 /qr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 38 /qr */ { 0, &BX_CPU_C::CMP_EbGbR },
|
||||
/* 39 /qr */ { 0, &BX_CPU_C::CMP_EqGqR },
|
||||
@ -1293,24 +1293,24 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 3B /qr */ { 0, &BX_CPU_C::CMP_GqEqR },
|
||||
/* 3C /qr */ { BxImmediate_Ib, &BX_CPU_C::CMP_ALIb },
|
||||
/* 3D /qr */ { BxImmediate_Id, &BX_CPU_C::CMP_RAXId },
|
||||
/* 3E /qr */ { BxPrefix, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3E /qr */ { 0, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3F /qr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 40 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 41 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 42 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 43 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 44 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 45 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 46 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 47 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 48 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 49 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4A /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4B /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4C /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4D /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4E /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4F /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 40 /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 41 /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 42 /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 43 /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 44 /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 45 /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 46 /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 47 /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 48 /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 49 /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4A /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4B /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4C /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4D /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4E /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4F /qr */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 50 /qr */ { 0, &BX_CPU_C::PUSH_RRX },
|
||||
/* 51 /qr */ { 0, &BX_CPU_C::PUSH_RRX },
|
||||
/* 52 /qr */ { 0, &BX_CPU_C::PUSH_RRX },
|
||||
@ -1331,10 +1331,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* 61 /qr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 62 /qr */ { 0, &BX_CPU_C::BxError },
|
||||
/* 63 /qr */ { 0, &BX_CPU_C::MOVSX_GqEdR },
|
||||
/* 64 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // AS:
|
||||
/* 64 /qr */ { 0, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /qr */ { 0, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /qr */ { 0, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /qr */ { 0, &BX_CPU_C::BxError }, // AS:
|
||||
/* 68 /qr */ { BxImmediate_Id, &BX_CPU_C::PUSH64_Id },
|
||||
/* 69 /qr */ { BxImmediate_Id, &BX_CPU_C::IMUL_GqEqId },
|
||||
/* 6A /qr */ { BxImmediate_Ib_SE, &BX_CPU_C::PUSH64_Id },
|
||||
@ -1472,10 +1472,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo64R[512*3] = {
|
||||
/* ED /qr */ { 0, &BX_CPU_C::IN_EAXDX },
|
||||
/* EE /qr */ { 0, &BX_CPU_C::OUT_DXAL },
|
||||
/* EF /qr */ { 0, &BX_CPU_C::OUT_DXEAX },
|
||||
/* F0 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // LOCK:
|
||||
/* F0 /qr */ { 0, &BX_CPU_C::BxError }, // LOCK:
|
||||
/* F1 /qr */ { BxTraceEnd, &BX_CPU_C::INT1 },
|
||||
/* F2 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /qr */ { BxPrefix, &BX_CPU_C::BxError }, // REP,REPE/REPZ
|
||||
/* F2 /qr */ { 0, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /qr */ { 0, &BX_CPU_C::BxError }, // REP,REPE/REPZ
|
||||
/* F4 /qr */ { BxTraceEnd, &BX_CPU_C::HLT },
|
||||
/* F5 /qr */ { 0, &BX_CPU_C::CMC },
|
||||
/* F6 /qr */ { BxGroup3, NULL, BxOpcodeInfoG3EbR },
|
||||
@ -1804,7 +1804,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 23 /wm */ { 0, &BX_CPU_C::AND_GwEwM },
|
||||
/* 24 /wm */ { BxImmediate_Ib, &BX_CPU_C::AND_ALIb },
|
||||
/* 25 /wm */ { BxImmediate_Iw, &BX_CPU_C::AND_AXIw },
|
||||
/* 26 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // ES:
|
||||
/* 26 /wm */ { 0, &BX_CPU_C::BxError }, // ES:
|
||||
/* 27 /wm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 28 /wm */ { BxLockable, &BX_CPU_C::SUB_EbGbM },
|
||||
/* 29 /wm */ { BxLockable, &BX_CPU_C::SUB_EwGwM },
|
||||
@ -1812,7 +1812,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 2B /wm */ { 0, &BX_CPU_C::SUB_GwEwM },
|
||||
/* 2C /wm */ { BxImmediate_Ib, &BX_CPU_C::SUB_ALIb },
|
||||
/* 2D /wm */ { BxImmediate_Iw, &BX_CPU_C::SUB_AXIw },
|
||||
/* 2E /wm */ { BxPrefix, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2E /wm */ { 0, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2F /wm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 30 /wm */ { BxLockable, &BX_CPU_C::XOR_EbGbM },
|
||||
/* 31 /wm */ { BxLockable, &BX_CPU_C::XOR_EwGwM },
|
||||
@ -1820,7 +1820,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 33 /wm */ { 0, &BX_CPU_C::XOR_GwEwM },
|
||||
/* 34 /wm */ { BxImmediate_Ib, &BX_CPU_C::XOR_ALIb },
|
||||
/* 35 /wm */ { BxImmediate_Iw, &BX_CPU_C::XOR_AXIw },
|
||||
/* 36 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // SS:
|
||||
/* 36 /wm */ { 0, &BX_CPU_C::BxError }, // SS:
|
||||
/* 37 /wm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 38 /wm */ { 0, &BX_CPU_C::CMP_EbGbM },
|
||||
/* 39 /wm */ { 0, &BX_CPU_C::CMP_EwGwM },
|
||||
@ -1828,24 +1828,24 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 3B /wm */ { 0, &BX_CPU_C::CMP_GwEwM },
|
||||
/* 3C /wm */ { BxImmediate_Ib, &BX_CPU_C::CMP_ALIb },
|
||||
/* 3D /wm */ { BxImmediate_Iw, &BX_CPU_C::CMP_AXIw },
|
||||
/* 3E /wm */ { BxPrefix, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3E /wm */ { 0, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3F /wm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 40 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 41 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 42 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 43 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 44 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 45 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 46 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 47 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 48 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 49 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4A /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4B /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4C /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4D /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4E /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4F /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 40 /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 41 /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 42 /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 43 /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 44 /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 45 /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 46 /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 47 /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 48 /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 49 /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4A /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4B /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4C /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4D /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4E /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4F /wm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 50 /wm */ { 0, &BX_CPU_C::PUSH_RX },
|
||||
/* 51 /wm */ { 0, &BX_CPU_C::PUSH_RX },
|
||||
/* 52 /wm */ { 0, &BX_CPU_C::PUSH_RX },
|
||||
@ -1866,10 +1866,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 61 /wm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 62 /wm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 63 /wm */ { 0, &BX_CPU_C::MOV_GwEwM }, // MOVSX_GwEw
|
||||
/* 64 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // AS:
|
||||
/* 64 /wm */ { 0, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /wm */ { 0, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /wm */ { 0, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /wm */ { 0, &BX_CPU_C::BxError }, // AS:
|
||||
/* 68 /wm */ { BxImmediate_Iw, &BX_CPU_C::PUSH_Iw },
|
||||
/* 69 /wm */ { BxImmediate_Iw, &BX_CPU_C::IMUL_GwEwIw },
|
||||
/* 6A /wm */ { BxImmediate_Ib_SE, &BX_CPU_C::PUSH_Iw },
|
||||
@ -2007,10 +2007,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* ED /wm */ { 0, &BX_CPU_C::IN_AXDX },
|
||||
/* EE /wm */ { 0, &BX_CPU_C::OUT_DXAL },
|
||||
/* EF /wm */ { 0, &BX_CPU_C::OUT_DXAX },
|
||||
/* F0 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // LOCK
|
||||
/* F0 /wm */ { 0, &BX_CPU_C::BxError }, // LOCK
|
||||
/* F1 /wm */ { BxTraceEnd, &BX_CPU_C::INT1 },
|
||||
/* F2 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /wm */ { BxPrefix, &BX_CPU_C::BxError }, // REP, REPE/REPZ
|
||||
/* F2 /wm */ { 0, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /wm */ { 0, &BX_CPU_C::BxError }, // REP, REPE/REPZ
|
||||
/* F4 /wm */ { BxTraceEnd, &BX_CPU_C::HLT },
|
||||
/* F5 /wm */ { 0, &BX_CPU_C::CMC },
|
||||
/* F6 /wm */ { BxGroup3, NULL, BxOpcodeInfoG3EbM },
|
||||
@ -2333,7 +2333,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 23 /dm */ { 0, &BX_CPU_C::AND_GdEdM },
|
||||
/* 24 /dm */ { BxImmediate_Ib, &BX_CPU_C::AND_ALIb },
|
||||
/* 25 /dm */ { BxImmediate_Id, &BX_CPU_C::AND_EAXId },
|
||||
/* 26 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // ES:
|
||||
/* 26 /dm */ { 0, &BX_CPU_C::BxError }, // ES:
|
||||
/* 27 /dm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 28 /dm */ { BxLockable, &BX_CPU_C::SUB_EbGbM },
|
||||
/* 29 /dm */ { BxLockable, &BX_CPU_C::SUB_EdGdM },
|
||||
@ -2341,7 +2341,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 2B /dm */ { 0, &BX_CPU_C::SUB_GdEdM },
|
||||
/* 2C /dm */ { BxImmediate_Ib, &BX_CPU_C::SUB_ALIb },
|
||||
/* 2D /dm */ { BxImmediate_Id, &BX_CPU_C::SUB_EAXId },
|
||||
/* 2E /dm */ { BxPrefix, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2E /dm */ { 0, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2F /dm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 30 /dm */ { BxLockable, &BX_CPU_C::XOR_EbGbM },
|
||||
/* 31 /dm */ { BxLockable, &BX_CPU_C::XOR_EdGdM },
|
||||
@ -2349,7 +2349,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 33 /dm */ { 0, &BX_CPU_C::XOR_GdEdM },
|
||||
/* 34 /dm */ { BxImmediate_Ib, &BX_CPU_C::XOR_ALIb },
|
||||
/* 35 /dm */ { BxImmediate_Id, &BX_CPU_C::XOR_EAXId },
|
||||
/* 36 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // SS:
|
||||
/* 36 /dm */ { 0, &BX_CPU_C::BxError }, // SS:
|
||||
/* 37 /dm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 38 /dm */ { 0, &BX_CPU_C::CMP_EbGbM },
|
||||
/* 39 /dm */ { 0, &BX_CPU_C::CMP_EdGdM },
|
||||
@ -2357,24 +2357,24 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 3B /dm */ { 0, &BX_CPU_C::CMP_GdEdM },
|
||||
/* 3C /dm */ { BxImmediate_Ib, &BX_CPU_C::CMP_ALIb },
|
||||
/* 3D /dm */ { BxImmediate_Id, &BX_CPU_C::CMP_EAXId },
|
||||
/* 3E /dm */ { BxPrefix, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3E /dm */ { 0, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3F /dm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 40 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 41 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 42 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 43 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 44 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 45 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 46 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 47 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 48 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 49 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4A /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4B /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4C /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4D /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4E /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4F /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 40 /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 41 /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 42 /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 43 /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 44 /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 45 /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 46 /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 47 /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 48 /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 49 /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4A /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4B /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4C /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4D /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4E /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4F /dm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 50 /dm */ { 0, &BX_CPU_C::PUSH_RRX },
|
||||
/* 51 /dm */ { 0, &BX_CPU_C::PUSH_RRX },
|
||||
/* 52 /dm */ { 0, &BX_CPU_C::PUSH_RRX },
|
||||
@ -2395,10 +2395,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 61 /dm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 62 /dm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 63 /dm */ { 0, &BX_CPU_C::MOV_GdEdM }, // MOVSX_GdEd
|
||||
/* 64 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // AS:
|
||||
/* 64 /dm */ { 0, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /dm */ { 0, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /dm */ { 0, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /dm */ { 0, &BX_CPU_C::BxError }, // AS:
|
||||
/* 68 /dm */ { BxImmediate_Id, &BX_CPU_C::PUSH64_Id },
|
||||
/* 69 /dm */ { BxImmediate_Id, &BX_CPU_C::IMUL_GdEdId },
|
||||
/* 6A /dm */ { BxImmediate_Ib_SE, &BX_CPU_C::PUSH64_Id },
|
||||
@ -2536,10 +2536,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* ED /dm */ { 0, &BX_CPU_C::IN_EAXDX },
|
||||
/* EE /dm */ { 0, &BX_CPU_C::OUT_DXAL },
|
||||
/* EF /dm */ { 0, &BX_CPU_C::OUT_DXEAX },
|
||||
/* F0 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // LOCK:
|
||||
/* F0 /dm */ { 0, &BX_CPU_C::BxError }, // LOCK:
|
||||
/* F1 /dm */ { BxTraceEnd, &BX_CPU_C::INT1 },
|
||||
/* F2 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /dm */ { BxPrefix, &BX_CPU_C::BxError }, // REP,REPE/REPZ
|
||||
/* F2 /dm */ { 0, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /dm */ { 0, &BX_CPU_C::BxError }, // REP,REPE/REPZ
|
||||
/* F4 /dm */ { BxTraceEnd, &BX_CPU_C::HLT },
|
||||
/* F5 /dm */ { 0, &BX_CPU_C::CMC },
|
||||
/* F6 /dm */ { BxGroup3, NULL, BxOpcodeInfoG3EbM },
|
||||
@ -2862,7 +2862,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 23 /qm */ { 0, &BX_CPU_C::AND_GqEqM },
|
||||
/* 24 /qm */ { BxImmediate_Ib, &BX_CPU_C::AND_ALIb },
|
||||
/* 25 /qm */ { BxImmediate_Id, &BX_CPU_C::AND_RAXId },
|
||||
/* 26 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // ES:
|
||||
/* 26 /qm */ { 0, &BX_CPU_C::BxError }, // ES:
|
||||
/* 27 /qm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 28 /qm */ { BxLockable, &BX_CPU_C::SUB_EbGbM },
|
||||
/* 29 /qm */ { BxLockable, &BX_CPU_C::SUB_EqGqM },
|
||||
@ -2870,7 +2870,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 2B /qm */ { 0, &BX_CPU_C::SUB_GqEqM },
|
||||
/* 2C /qm */ { BxImmediate_Ib, &BX_CPU_C::SUB_ALIb },
|
||||
/* 2D /qm */ { BxImmediate_Id, &BX_CPU_C::SUB_RAXId },
|
||||
/* 2E /qm */ { BxPrefix, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2E /qm */ { 0, &BX_CPU_C::BxError }, // CS:
|
||||
/* 2F /qm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 30 /qm */ { BxLockable, &BX_CPU_C::XOR_EbGbM },
|
||||
/* 31 /qm */ { BxLockable, &BX_CPU_C::XOR_EqGqM },
|
||||
@ -2878,7 +2878,7 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 33 /qm */ { 0, &BX_CPU_C::XOR_GqEqM },
|
||||
/* 34 /qm */ { BxImmediate_Ib, &BX_CPU_C::XOR_ALIb },
|
||||
/* 35 /qm */ { BxImmediate_Id, &BX_CPU_C::XOR_RAXId },
|
||||
/* 36 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // SS:
|
||||
/* 36 /qm */ { 0, &BX_CPU_C::BxError }, // SS:
|
||||
/* 37 /qm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 38 /qm */ { 0, &BX_CPU_C::CMP_EbGbM },
|
||||
/* 39 /qm */ { 0, &BX_CPU_C::CMP_EqGqM },
|
||||
@ -2886,24 +2886,24 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 3B /qm */ { 0, &BX_CPU_C::CMP_GqEqM },
|
||||
/* 3C /qm */ { BxImmediate_Ib, &BX_CPU_C::CMP_ALIb },
|
||||
/* 3D /qm */ { BxImmediate_Id, &BX_CPU_C::CMP_RAXId },
|
||||
/* 3E /qm */ { BxPrefix, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3E /qm */ { 0, &BX_CPU_C::BxError }, // DS:
|
||||
/* 3F /qm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 40 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 41 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 42 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 43 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 44 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 45 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 46 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 47 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 48 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 49 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4A /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4B /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4C /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4D /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4E /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4F /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REX:
|
||||
/* 40 /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 41 /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 42 /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 43 /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 44 /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 45 /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 46 /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 47 /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 48 /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 49 /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4A /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4B /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4C /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4D /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4E /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 4F /qm */ { 0, &BX_CPU_C::BxError }, // REX:
|
||||
/* 50 /qm */ { 0, &BX_CPU_C::PUSH_RRX },
|
||||
/* 51 /qm */ { 0, &BX_CPU_C::PUSH_RRX },
|
||||
/* 52 /qm */ { 0, &BX_CPU_C::PUSH_RRX },
|
||||
@ -2924,10 +2924,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* 61 /qm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 62 /qm */ { 0, &BX_CPU_C::BxError },
|
||||
/* 63 /qm */ { 0, &BX_CPU_C::MOVSX_GqEdM },
|
||||
/* 64 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // AS:
|
||||
/* 64 /qm */ { 0, &BX_CPU_C::BxError }, // FS:
|
||||
/* 65 /qm */ { 0, &BX_CPU_C::BxError }, // GS:
|
||||
/* 66 /qm */ { 0, &BX_CPU_C::BxError }, // OS:
|
||||
/* 67 /qm */ { 0, &BX_CPU_C::BxError }, // AS:
|
||||
/* 68 /qm */ { BxImmediate_Id, &BX_CPU_C::PUSH64_Id },
|
||||
/* 69 /qm */ { BxImmediate_Id, &BX_CPU_C::IMUL_GqEqId },
|
||||
/* 6A /qm */ { BxImmediate_Ib_SE, &BX_CPU_C::PUSH64_Id },
|
||||
@ -3065,10 +3065,10 @@ static const BxOpcodeInfo_t BxOpcodeInfo64M[512*3] = {
|
||||
/* ED /qm */ { 0, &BX_CPU_C::IN_EAXDX },
|
||||
/* EE /qm */ { 0, &BX_CPU_C::OUT_DXAL },
|
||||
/* EF /qm */ { 0, &BX_CPU_C::OUT_DXEAX },
|
||||
/* F0 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // LOCK:
|
||||
/* F0 /qm */ { 0, &BX_CPU_C::BxError }, // LOCK:
|
||||
/* F1 /qm */ { BxTraceEnd, &BX_CPU_C::INT1 },
|
||||
/* F2 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /qm */ { BxPrefix, &BX_CPU_C::BxError }, // REP,REPE/REPZ
|
||||
/* F2 /qm */ { 0, &BX_CPU_C::BxError }, // REPNE/REPNZ
|
||||
/* F3 /qm */ { 0, &BX_CPU_C::BxError }, // REP,REPE/REPZ
|
||||
/* F4 /qm */ { BxTraceEnd, &BX_CPU_C::HLT },
|
||||
/* F5 /qm */ { 0, &BX_CPU_C::CMC },
|
||||
/* F6 /qm */ { BxGroup3, NULL, BxOpcodeInfoG3EbM },
|
||||
@ -3360,7 +3360,7 @@ BX_CPU_C::fetchDecode64(Bit8u *iptr, bxInstruction_c *i, unsigned remainingInPag
|
||||
unsigned remain = (remainingInPage < 15) ? remainingInPage : 15;
|
||||
|
||||
unsigned b1, b2, ilen=0, attr, lock=0;
|
||||
unsigned imm_mode, offset, rex_r = 0, rex_x = 0, rex_b = 0;
|
||||
unsigned imm_mode, offset = 512, rex_r = 0, rex_x = 0, rex_b = 0;
|
||||
unsigned rm = 0, mod = 0, nnn = 0;
|
||||
#define SSE_PREFIX_NONE 0
|
||||
#define SSE_PREFIX_66 1
|
||||
@ -3369,13 +3369,11 @@ BX_CPU_C::fetchDecode64(Bit8u *iptr, bxInstruction_c *i, unsigned remainingInPag
|
||||
unsigned sse_prefix = SSE_PREFIX_NONE;
|
||||
unsigned rex_prefix = 0;
|
||||
|
||||
offset = 512*1;
|
||||
|
||||
i->ResolveModrm = 0;
|
||||
i->initMetaInfo(/*os32*/ 1, // operand size 32 override defaults to 1
|
||||
/*as32*/ 1, // address size 32 override defaults to 1
|
||||
/*os64*/ 0, // operand size 64 override defaults to 0
|
||||
/*as64*/ 1); // address size 64 override defaults to 1
|
||||
/*as32*/ 1, // address size 32 override defaults to 1
|
||||
/*os64*/ 0, // operand size 64 override defaults to 0
|
||||
/*as64*/ 1); // address size 64 override defaults to 1
|
||||
|
||||
fetch_b1:
|
||||
b1 = *iptr++;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: segment_ctrl_pro.cc,v 1.78 2008-01-20 17:46:02 sshwarts Exp $
|
||||
// $Id: segment_ctrl_pro.cc,v 1.79 2008-01-20 20:11:17 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -672,6 +672,7 @@ BX_CPU_C::fetch_raw_descriptor(const bx_selector_t *selector,
|
||||
Bit32u *dword1, Bit32u *dword2, unsigned exception_no)
|
||||
{
|
||||
Bit32u index = selector->index;
|
||||
bx_address offset;
|
||||
|
||||
if (selector->ti == 0) { /* GDT */
|
||||
if ((index*8 + 7) > BX_CPU_THIS_PTR gdtr.limit) {
|
||||
@ -679,9 +680,7 @@ BX_CPU_C::fetch_raw_descriptor(const bx_selector_t *selector,
|
||||
index*8 + 7, index, BX_CPU_THIS_PTR gdtr.limit));
|
||||
exception(exception_no, selector->value & 0xfffc, 0);
|
||||
}
|
||||
bx_address offset = BX_CPU_THIS_PTR gdtr.base + index*8;
|
||||
access_linear(offset, 4, 0, BX_READ, dword1);
|
||||
access_linear(offset + 4, 4, 0, BX_READ, dword2);
|
||||
offset = BX_CPU_THIS_PTR gdtr.base + index*8;
|
||||
}
|
||||
else { /* LDT */
|
||||
if (BX_CPU_THIS_PTR ldtr.cache.valid==0) {
|
||||
@ -693,37 +692,38 @@ BX_CPU_C::fetch_raw_descriptor(const bx_selector_t *selector,
|
||||
index*8 + 7, index, BX_CPU_THIS_PTR ldtr.cache.u.system.limit_scaled));
|
||||
exception(exception_no, selector->value & 0xfffc, 0);
|
||||
}
|
||||
bx_address offset = BX_CPU_THIS_PTR ldtr.cache.u.system.base + index*8;
|
||||
access_linear(offset, 4, 0, BX_READ, dword1);
|
||||
access_linear(offset + 4, 4, 0, BX_READ, dword2);
|
||||
offset = BX_CPU_THIS_PTR ldtr.cache.u.system.base + index*8;
|
||||
}
|
||||
|
||||
access_linear(offset, 4, 0, BX_READ, dword1);
|
||||
access_linear(offset + 4, 4, 0, BX_READ, dword2);
|
||||
}
|
||||
|
||||
bx_bool BX_CPP_AttrRegparmN(3)
|
||||
BX_CPU_C::fetch_raw_descriptor2(const bx_selector_t *selector, Bit32u *dword1, Bit32u *dword2)
|
||||
{
|
||||
Bit32u index = selector->index;
|
||||
bx_address offset;
|
||||
|
||||
if (selector->ti == 0) { /* GDT */
|
||||
if ((index*8 + 7) > BX_CPU_THIS_PTR gdtr.limit)
|
||||
return(0);
|
||||
bx_address offset = BX_CPU_THIS_PTR gdtr.base + index*8;
|
||||
access_linear(offset, 4, 0, BX_READ, dword1);
|
||||
access_linear(offset + 4, 4, 0, BX_READ, dword2);
|
||||
return(1);
|
||||
return 0;
|
||||
offset = BX_CPU_THIS_PTR gdtr.base + index*8;
|
||||
}
|
||||
else { /* LDT */
|
||||
if (BX_CPU_THIS_PTR ldtr.cache.valid==0) {
|
||||
BX_PANIC(("fetch_raw_descriptor2: LDTR.valid=0"));
|
||||
return(0);
|
||||
return 0;
|
||||
}
|
||||
if ((index*8 + 7) > BX_CPU_THIS_PTR ldtr.cache.u.system.limit_scaled)
|
||||
return(0);
|
||||
bx_address offset = BX_CPU_THIS_PTR ldtr.cache.u.system.base + index*8;
|
||||
access_linear(offset, 4, 0, BX_READ, dword1);
|
||||
access_linear(offset + 4, 4, 0, BX_READ, dword2);
|
||||
return(1);
|
||||
return 0;
|
||||
offset = BX_CPU_THIS_PTR ldtr.cache.u.system.base + index*8;
|
||||
}
|
||||
|
||||
access_linear(offset, 4, 0, BX_READ, dword1);
|
||||
access_linear(offset + 4, 4, 0, BX_READ, dword2);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
#if BX_SUPPORT_X86_64
|
||||
@ -732,6 +732,7 @@ void BX_CPU_C::fetch_raw_descriptor64(const bx_selector_t *selector,
|
||||
{
|
||||
Bit32u index = selector->index;
|
||||
Bit32u dword4;
|
||||
bx_address offset;
|
||||
|
||||
if (selector->ti == 0) { /* GDT */
|
||||
if ((index*8 + 15) > BX_CPU_THIS_PTR gdtr.limit) {
|
||||
@ -739,11 +740,7 @@ void BX_CPU_C::fetch_raw_descriptor64(const bx_selector_t *selector,
|
||||
index*8 + 15, index, BX_CPU_THIS_PTR gdtr.limit));
|
||||
exception(exception_no, selector->value & 0xfffc, 0);
|
||||
}
|
||||
bx_address offset = BX_CPU_THIS_PTR gdtr.base + index*8;
|
||||
access_linear(offset, 4, 0, BX_READ, dword1);
|
||||
access_linear(offset + 4, 4, 0, BX_READ, dword2);
|
||||
access_linear(offset + 8, 4, 0, BX_READ, dword3);
|
||||
access_linear(offset + 12, 4, 0, BX_READ, &dword4);
|
||||
offset = BX_CPU_THIS_PTR gdtr.base + index*8;
|
||||
}
|
||||
else { /* LDT */
|
||||
if (BX_CPU_THIS_PTR ldtr.cache.valid==0) {
|
||||
@ -755,13 +752,14 @@ void BX_CPU_C::fetch_raw_descriptor64(const bx_selector_t *selector,
|
||||
index*8 + 15, index, BX_CPU_THIS_PTR ldtr.cache.u.system.limit_scaled));
|
||||
exception(exception_no, selector->value & 0xfffc, 0);
|
||||
}
|
||||
bx_address offset = BX_CPU_THIS_PTR ldtr.cache.u.system.base + index*8;
|
||||
access_linear(offset, 4, 0, BX_READ, dword1);
|
||||
access_linear(offset + 4, 4, 0, BX_READ, dword2);
|
||||
access_linear(offset + 8, 4, 0, BX_READ, dword3);
|
||||
access_linear(offset + 12, 4, 0, BX_READ, &dword4);
|
||||
offset = BX_CPU_THIS_PTR ldtr.cache.u.system.base + index*8;
|
||||
}
|
||||
|
||||
access_linear(offset, 4, 0, BX_READ, dword1);
|
||||
access_linear(offset + 4, 4, 0, BX_READ, dword2);
|
||||
access_linear(offset + 8, 4, 0, BX_READ, dword3);
|
||||
access_linear(offset + 12, 4, 0, BX_READ, &dword4);
|
||||
|
||||
if (dword4 != 0) {
|
||||
BX_ERROR(("fetch_raw_descriptor64: extended attributes DWORD4 != 0"));
|
||||
exception(BX_GP_EXCEPTION, selector->value & 0xfffc, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user