mirror of https://github.com/icedland/iced.git
Assume iretw=16-bit / iretd=32-bit if CodeSize is unknown
This commit is contained in:
parent
b1d4580886
commit
cdc27ee491
|
@ -1118,7 +1118,6 @@ namespace Iced.Intel {
|
|||
/// <returns></returns>
|
||||
public int StackPointerIncrement {
|
||||
get {
|
||||
CodeSize codeSize;
|
||||
switch (Code) {
|
||||
case Code.Pushw_ES:
|
||||
case Code.Pushw_CS:
|
||||
|
@ -1328,14 +1327,12 @@ namespace Iced.Intel {
|
|||
return 8 + 8;
|
||||
|
||||
case Code.Iretw:
|
||||
codeSize = CodeSize;
|
||||
if (codeSize == CodeSize.Code64 || codeSize == CodeSize.Unknown)
|
||||
if (CodeSize == CodeSize.Code64)
|
||||
return 2 * 5;
|
||||
return 2 * 3;
|
||||
|
||||
case Code.Iretd:
|
||||
codeSize = CodeSize;
|
||||
if (codeSize == CodeSize.Code64 || codeSize == CodeSize.Unknown)
|
||||
if (CodeSize == CodeSize.Code64)
|
||||
return 4 * 5;
|
||||
return 4 * 3;
|
||||
|
||||
|
|
|
@ -1088,7 +1088,7 @@ namespace Iced.Intel {
|
|||
AddMemory(flags, ref usedMemoryLocations, Register.SS, xsp, Register.None, 1, 0 * 4, MemorySize.UInt32, OpAccess.Read);
|
||||
AddMemory(flags, ref usedMemoryLocations, Register.SS, xsp, Register.None, 1, 1 * 4, MemorySize.UInt32, OpAccess.Read);
|
||||
AddMemory(flags, ref usedMemoryLocations, Register.SS, xsp, Register.None, 1, 2 * 4, MemorySize.UInt32, OpAccess.Read);
|
||||
if ((flags & Flags.Is64Bit) != 0) {
|
||||
if (instruction.CodeSize == CodeSize.Code64) {
|
||||
AddMemory(flags, ref usedMemoryLocations, Register.SS, xsp, Register.None, 1, 3 * 4, MemorySize.UInt32, OpAccess.Read);
|
||||
AddMemory(flags, ref usedMemoryLocations, Register.SS, xsp, Register.None, 1, 4 * 4, MemorySize.UInt32, OpAccess.Read);
|
||||
}
|
||||
|
@ -1098,7 +1098,7 @@ namespace Iced.Intel {
|
|||
AddMemory(flags, ref usedMemoryLocations, Register.SS, xsp, Register.None, 1, 0 * 2, MemorySize.UInt16, OpAccess.Read);
|
||||
AddMemory(flags, ref usedMemoryLocations, Register.SS, xsp, Register.None, 1, 1 * 2, MemorySize.UInt16, OpAccess.Read);
|
||||
AddMemory(flags, ref usedMemoryLocations, Register.SS, xsp, Register.None, 1, 2 * 2, MemorySize.UInt16, OpAccess.Read);
|
||||
if ((flags & Flags.Is64Bit) != 0) {
|
||||
if (instruction.CodeSize == CodeSize.Code64) {
|
||||
AddMemory(flags, ref usedMemoryLocations, Register.SS, xsp, Register.None, 1, 3 * 2, MemorySize.UInt16, OpAccess.Read);
|
||||
AddMemory(flags, ref usedMemoryLocations, Register.SS, xsp, Register.None, 1, 4 * 2, MemorySize.UInt16, OpAccess.Read);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue