BSWAP 16-bit mode not exists, correctly disasm this case

This commit is contained in:
Stanislav Shwartsman 2006-05-07 19:12:56 +00:00
parent 20b14aefa6
commit 4d1a609c8c
2 changed files with 58 additions and 59 deletions

View File

@ -2944,14 +2944,14 @@ static BxDisasmOpcodeTable_t BxDisasmOpcodes16[256*2] = {
/* 0F C5 */ { GRPSSE(0fc5) },
/* 0F C6 */ { GRPSSE(0fc6) },
/* 0F C7 */ { GRPN(G9) },
/* 0F C8 */ { 0, &Ia_bswapw_RX },
/* 0F C9 */ { 0, &Ia_bswapw_RX },
/* 0F CA */ { 0, &Ia_bswapw_RX },
/* 0F CB */ { 0, &Ia_bswapw_RX },
/* 0F CC */ { 0, &Ia_bswapw_RX },
/* 0F CD */ { 0, &Ia_bswapw_RX },
/* 0F CE */ { 0, &Ia_bswapw_RX },
/* 0F CF */ { 0, &Ia_bswapw_RX },
/* 0F C8 */ { 0, &Ia_bswapl_ERX },
/* 0F C9 */ { 0, &Ia_bswapl_ERX },
/* 0F CA */ { 0, &Ia_bswapl_ERX },
/* 0F CB */ { 0, &Ia_bswapl_ERX },
/* 0F CC */ { 0, &Ia_bswapl_ERX },
/* 0F CD */ { 0, &Ia_bswapl_ERX },
/* 0F CE */ { 0, &Ia_bswapl_ERX },
/* 0F CF */ { 0, &Ia_bswapl_ERX },
/* 0F D0 */ { GRPSSE(0fd0) },
/* 0F D1 */ { GRPSSE(0fd1) },
/* 0F D2 */ { GRPSSE(0fd2) },
@ -3459,20 +3459,20 @@ static BxDisasmOpcodeTable_t BxDisasmOpcodes32[256*2] = {
/* 0F BF */ { 0, &Ia_movswl_Gd_Ew },
/* 0F C0 */ { 0, &Ia_xaddb_Eb_Gb },
/* 0F C0 */ { 0, &Ia_xaddl_Ed_Gd },
/* 0F C2 */ { GRPSSE(0fc2) },
/* 0F C3 */ { GRPSSE(0fc3) },
/* 0F C4 */ { GRPSSE(0fc4) },
/* 0F C5 */ { GRPSSE(0fc5) },
/* 0F C6 */ { GRPSSE(0fc6) },
/* 0F C7 */ { GRPN(G9) },
/* 0F C8 */ { 0, &Ia_bswapl_ERX },
/* 0F C9 */ { 0, &Ia_bswapl_ERX },
/* 0F CA */ { 0, &Ia_bswapl_ERX },
/* 0F CB */ { 0, &Ia_bswapl_ERX },
/* 0F CC */ { 0, &Ia_bswapl_ERX },
/* 0F CD */ { 0, &Ia_bswapl_ERX },
/* 0F CE */ { 0, &Ia_bswapl_ERX },
/* 0F CF */ { 0, &Ia_bswapl_ERX },
/* 0F C2 */ { GRPSSE(0fc2) },
/* 0F C3 */ { GRPSSE(0fc3) },
/* 0F C4 */ { GRPSSE(0fc4) },
/* 0F C5 */ { GRPSSE(0fc5) },
/* 0F C6 */ { GRPSSE(0fc6) },
/* 0F C7 */ { GRPN(G9) },
/* 0F C8 */ { 0, &Ia_bswapl_ERX },
/* 0F C9 */ { 0, &Ia_bswapl_ERX },
/* 0F CA */ { 0, &Ia_bswapl_ERX },
/* 0F CB */ { 0, &Ia_bswapl_ERX },
/* 0F CC */ { 0, &Ia_bswapl_ERX },
/* 0F CD */ { 0, &Ia_bswapl_ERX },
/* 0F CE */ { 0, &Ia_bswapl_ERX },
/* 0F CF */ { 0, &Ia_bswapl_ERX },
/* 0F D0 */ { GRPSSE(0fd0) },
/* 0F D1 */ { GRPSSE(0fd1) },
/* 0F D2 */ { GRPSSE(0fd2) },
@ -3986,14 +3986,14 @@ static BxDisasmOpcodeTable_t BxDisasmOpcodes64w[256*2] = {
/* 0F C5 */ { GRPSSE(0fc5) },
/* 0F C6 */ { GRPSSE(0fc6) },
/* 0F C7 */ { GRPN(G9) },
/* 0F C8 */ { 0, &Ia_bswapw_RX },
/* 0F C9 */ { 0, &Ia_bswapw_RX },
/* 0F CA */ { 0, &Ia_bswapw_RX },
/* 0F CB */ { 0, &Ia_bswapw_RX },
/* 0F CC */ { 0, &Ia_bswapw_RX },
/* 0F CD */ { 0, &Ia_bswapw_RX },
/* 0F CE */ { 0, &Ia_bswapw_RX },
/* 0F CF */ { 0, &Ia_bswapw_RX },
/* 0F C8 */ { 0, &Ia_bswapl_ERX },
/* 0F C9 */ { 0, &Ia_bswapl_ERX },
/* 0F CA */ { 0, &Ia_bswapl_ERX },
/* 0F CB */ { 0, &Ia_bswapl_ERX },
/* 0F CC */ { 0, &Ia_bswapl_ERX },
/* 0F CD */ { 0, &Ia_bswapl_ERX },
/* 0F CE */ { 0, &Ia_bswapl_ERX },
/* 0F CF */ { 0, &Ia_bswapl_ERX },
/* 0F D0 */ { GRPSSE(0fd0) },
/* 0F D1 */ { GRPSSE(0fd1) },
/* 0F D2 */ { GRPSSE(0fd2) },
@ -4498,20 +4498,20 @@ static BxDisasmOpcodeTable_t BxDisasmOpcodes64d[256*2] = {
/* 0F BF */ { 0, &Ia_movswl_Gd_Ew },
/* 0F C0 */ { 0, &Ia_xaddb_Eb_Gb },
/* 0F C0 */ { 0, &Ia_xaddl_Ed_Gd },
/* 0F C2 */ { GRPSSE(0fc2) },
/* 0F C3 */ { GRPSSE(0fc3) },
/* 0F C4 */ { GRPSSE(0fc4) },
/* 0F C5 */ { GRPSSE(0fc5) },
/* 0F C6 */ { GRPSSE(0fc6) },
/* 0F C7 */ { GRPN(G9) },
/* 0F C8 */ { 0, &Ia_bswapl_ERX },
/* 0F C9 */ { 0, &Ia_bswapl_ERX },
/* 0F CA */ { 0, &Ia_bswapl_ERX },
/* 0F CB */ { 0, &Ia_bswapl_ERX },
/* 0F CC */ { 0, &Ia_bswapl_ERX },
/* 0F CD */ { 0, &Ia_bswapl_ERX },
/* 0F CE */ { 0, &Ia_bswapl_ERX },
/* 0F CF */ { 0, &Ia_bswapl_ERX },
/* 0F C2 */ { GRPSSE(0fc2) },
/* 0F C3 */ { GRPSSE(0fc3) },
/* 0F C4 */ { GRPSSE(0fc4) },
/* 0F C5 */ { GRPSSE(0fc5) },
/* 0F C6 */ { GRPSSE(0fc6) },
/* 0F C7 */ { GRPN(G9) },
/* 0F C8 */ { 0, &Ia_bswapl_ERX },
/* 0F C9 */ { 0, &Ia_bswapl_ERX },
/* 0F CA */ { 0, &Ia_bswapl_ERX },
/* 0F CB */ { 0, &Ia_bswapl_ERX },
/* 0F CC */ { 0, &Ia_bswapl_ERX },
/* 0F CD */ { 0, &Ia_bswapl_ERX },
/* 0F CE */ { 0, &Ia_bswapl_ERX },
/* 0F CF */ { 0, &Ia_bswapl_ERX },
/* 0F D0 */ { GRPSSE(0fd0) },
/* 0F D1 */ { GRPSSE(0fd1) },
/* 0F D2 */ { GRPSSE(0fd2) },
@ -5016,20 +5016,20 @@ static BxDisasmOpcodeTable_t BxDisasmOpcodes64q[256*2] = {
/* 0F BF */ { 0, &Ia_movswq_Gq_Ew },
/* 0F C0 */ { 0, &Ia_xaddb_Eb_Gb },
/* 0F C0 */ { 0, &Ia_xaddq_Eq_Gq },
/* 0F C2 */ { GRPSSE(0fc2) },
/* 0F C3 */ { GRPSSE(640fc3) },
/* 0F C4 */ { GRPSSE(0fc4) },
/* 0F C5 */ { GRPSSE(0fc5) },
/* 0F C6 */ { GRPSSE(0fc6) },
/* 0F C7 */ { GRPN(G9q) },
/* 0F C8 */ { 0, &Ia_bswapq_RRX },
/* 0F C9 */ { 0, &Ia_bswapq_RRX },
/* 0F CA */ { 0, &Ia_bswapq_RRX },
/* 0F CB */ { 0, &Ia_bswapq_RRX },
/* 0F CC */ { 0, &Ia_bswapq_RRX },
/* 0F CD */ { 0, &Ia_bswapq_RRX },
/* 0F CE */ { 0, &Ia_bswapq_RRX },
/* 0F CF */ { 0, &Ia_bswapq_RRX },
/* 0F C2 */ { GRPSSE(0fc2) },
/* 0F C3 */ { GRPSSE(640fc3) },
/* 0F C4 */ { GRPSSE(0fc4) },
/* 0F C5 */ { GRPSSE(0fc5) },
/* 0F C6 */ { GRPSSE(0fc6) },
/* 0F C7 */ { GRPN(G9q) },
/* 0F C8 */ { 0, &Ia_bswapq_RRX },
/* 0F C9 */ { 0, &Ia_bswapq_RRX },
/* 0F CA */ { 0, &Ia_bswapq_RRX },
/* 0F CB */ { 0, &Ia_bswapq_RRX },
/* 0F CC */ { 0, &Ia_bswapq_RRX },
/* 0F CD */ { 0, &Ia_bswapq_RRX },
/* 0F CE */ { 0, &Ia_bswapq_RRX },
/* 0F CF */ { 0, &Ia_bswapq_RRX },
/* 0F D0 */ { GRPSSE(0fd0) },
/* 0F D1 */ { GRPSSE(0fd1) },
/* 0F D2 */ { GRPSSE(0fd2) },

View File

@ -80,7 +80,6 @@ Ia_bsrq_Gq_Eq = { "bsr", "bsrq", Gq, Eq, XX },
Ia_bsrw_Gw_Ew = { "bsr", "bsrw", Gw, Ew, XX },
Ia_bswapl_ERX = { "bswap", "bswapl", ERX, XX, XX },
Ia_bswapq_RRX = { "bswap", "bswapq", RRX, XX, XX },
Ia_bswapw_RX = { "bswap", "bswapw", RX, XX, XX },
Ia_btcl_Ed_Gd = { "btc", "btcl", Ed, Gd, XX },
Ia_btcl_Ed_Ib = { "btc", "btcl", Ed, Ib, XX },
Ia_btcq_Eq_Gq = { "btc", "btcq", Eq, Gq, XX },