mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-03-13 17:57:12 +08:00
ndisasm: fix handing of byte codes 250-253, 324
Fix handling of byte codes 250-253 (sign-extended 32-bit immediate, extended to 64 bits) and 324 (instruction must have osize 64). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
parent
8810e0f794
commit
7023d638de
14
disasm.c
14
disasm.c
@ -1,6 +1,6 @@
|
||||
/* ----------------------------------------------------------------------- *
|
||||
*
|
||||
* Copyright 1996-2009 The NASM Authors - All Rights Reserved
|
||||
* Copyright 1996-2010 The NASM Authors - All Rights Reserved
|
||||
* See the file AUTHORS included with the NASM distribution for
|
||||
* the specific copyright holders.
|
||||
*
|
||||
@ -674,6 +674,16 @@ static int matches(const struct itemplate *t, uint8_t *data,
|
||||
break;
|
||||
}
|
||||
|
||||
case4(0250):
|
||||
if (s_field_for == op1) {
|
||||
opx->offset = gets8(data);
|
||||
data++;
|
||||
} else {
|
||||
opx->offset = gets32(data);
|
||||
data += 4;
|
||||
}
|
||||
break;
|
||||
|
||||
case4(0260):
|
||||
{
|
||||
int vexm = *r++;
|
||||
@ -823,7 +833,7 @@ static int matches(const struct itemplate *t, uint8_t *data,
|
||||
break;
|
||||
|
||||
case 0324:
|
||||
if (!(ins->rex & (REX_P|REX_W)) || osize != 64)
|
||||
if (osize != 64)
|
||||
return false;
|
||||
o_used = true;
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user