* iret, lret fixes

This commit is contained in:
peter 2001-02-20 21:34:04 +00:00
parent bcbb21839d
commit c72d1f4c76
4 changed files with 26 additions and 18 deletions

View File

@ -167,7 +167,7 @@ const
IF_MMX = $00004000; { it's an MMX instruction } IF_MMX = $00004000; { it's an MMX instruction }
IF_3DNOW = $00008000; { it's a 3DNow! instruction } IF_3DNOW = $00008000; { it's a 3DNow! instruction }
IF_SSE = $00010000; { it's a SSE (KNI, MMX2) instruction } IF_SSE = $00010000; { it's a SSE (KNI, MMX2) instruction }
IF_PMASK = IF_PMASK =
longint($FF000000); { the mask for processor types } longint($FF000000); { the mask for processor types }
IF_PFMASK = IF_PFMASK =
longint($F001FF00); { the mask for disassembly "prefer" } longint($F001FF00); { the mask for disassembly "prefer" }
@ -238,7 +238,8 @@ type
topsize = (S_NO, topsize = (S_NO,
S_B,S_W,S_L,S_BW,S_BL,S_WL, S_B,S_W,S_L,S_BW,S_BL,S_WL,
S_IS,S_IL,S_IQ, S_IS,S_IL,S_IQ,
S_FS,S_FL,S_FX,S_D,S_Q,S_FV S_FS,S_FL,S_FX,S_D,S_Q,S_FV,
S_NEAR,S_FAR,S_SHORT
); );
const const
@ -247,17 +248,20 @@ const
(OT_NONE, (OT_NONE,
OT_BITS8,OT_BITS16,OT_BITS32,OT_BITS16,OT_BITS32,OT_BITS32, OT_BITS8,OT_BITS16,OT_BITS32,OT_BITS16,OT_BITS32,OT_BITS32,
OT_BITS16,OT_BITS32,OT_BITS64, OT_BITS16,OT_BITS32,OT_BITS64,
OT_BITS32,OT_BITS64,OT_BITS80,OT_BITS64,OT_BITS64,OT_BITS64 OT_BITS32,OT_BITS64,OT_BITS80,OT_BITS64,OT_BITS64,OT_BITS64,
OT_NEAR,OT_FAR,OT_SHORT
), ),
(OT_NONE, (OT_NONE,
OT_BITS8,OT_BITS16,OT_BITS32,OT_BITS8,OT_BITS8,OT_BITS16, OT_BITS8,OT_BITS16,OT_BITS32,OT_BITS8,OT_BITS8,OT_BITS16,
OT_BITS16,OT_BITS32,OT_BITS64, OT_BITS16,OT_BITS32,OT_BITS64,
OT_BITS32,OT_BITS64,OT_BITS80,OT_BITS64,OT_BITS64,OT_BITS64 OT_BITS32,OT_BITS64,OT_BITS80,OT_BITS64,OT_BITS64,OT_BITS64,
OT_NEAR,OT_FAR,OT_SHORT
), ),
(OT_NONE, (OT_NONE,
OT_BITS8,OT_BITS16,OT_BITS32,OT_NONE,OT_NONE,OT_NONE, OT_BITS8,OT_BITS16,OT_BITS32,OT_NONE,OT_NONE,OT_NONE,
OT_BITS16,OT_BITS32,OT_BITS64, OT_BITS16,OT_BITS32,OT_BITS64,
OT_BITS32,OT_BITS64,OT_BITS80,OT_BITS64,OT_BITS64,OT_BITS64 OT_BITS32,OT_BITS64,OT_BITS80,OT_BITS64,OT_BITS64,OT_BITS64,
OT_NEAR,OT_FAR,OT_SHORT
) )
); );
@ -265,7 +269,8 @@ const
att_opsize2str : array[topsize] of string[2] = ('', att_opsize2str : array[topsize] of string[2] = ('',
'b','w','l','bw','bl','wl', 'b','w','l','bw','bl','wl',
's','l','q', 's','l','q',
's','l','t','d','q','v' 's','l','t','d','q','v',
'','',''
); );
{$endif} {$endif}
@ -919,7 +924,10 @@ end;
end. end.
{ {
$Log$ $Log$
Revision 1.2 2000-12-07 17:19:45 jonas Revision 1.3 2001-02-20 21:34:04 peter
* iret, lret fixes
Revision 1.2 2000/12/07 17:19:45 jonas
* new constant handling: from now on, hex constants >$7fffffff are * new constant handling: from now on, hex constants >$7fffffff are
parsed as unsigned constants (otherwise, $80000000 got sign extended parsed as unsigned constants (otherwise, $80000000 got sign extended
and became $ffffffff80000000), all constants in the longint range and became $ffffffff80000000), all constants in the longint range

View File

@ -158,7 +158,7 @@
'invd', 'invd',
'invlpg', 'invlpg',
'iret', 'iret',
'iretd', 'iret',
'iretw', 'iretw',
'jcxz', 'jcxz',
'jecxz', 'jecxz',
@ -311,8 +311,8 @@
'repnz', 'repnz',
'repz', 'repz',
'ret', 'ret',
'retf', 'lret',
'retn', 'ret',
'rol', 'rol',
'ror', 'ror',
'rsdc', 'rsdc',

View File

@ -310,9 +310,9 @@ attsufNONE,
attsufNONE, attsufNONE,
attsufNONE, attsufNONE,
attsufNONE, attsufNONE,
attsufINT, attsufNONE,
attsufINT, attsufNONE,
attsufINT, attsufNONE,
attsufINT, attsufINT,
attsufINT, attsufINT,
attsufNONE, attsufNONE,

View File

@ -948,7 +948,7 @@ mem \300\2\x0F\x01\207 486,PRIV
(Ch_All, Ch_None, Ch_None) (Ch_All, Ch_None, Ch_None)
void \322\1\xCF 8086 void \322\1\xCF 8086
[IRETD] [IRETD,iret]
(Ch_All, Ch_None, Ch_None) (Ch_All, Ch_None, Ch_None)
void \321\1\xCF 386 void \321\1\xCF 386
@ -1832,17 +1832,17 @@ void \1\xF2 8086,PRE
(Ch_RWECX, Ch_RWFLAGS, Ch_None) (Ch_RWECX, Ch_RWFLAGS, Ch_None)
void \1\xF3 8086,PRE void \1\xF3 8086,PRE
[RET,retX] [RET]
(Ch_All, Ch_None, Ch_None) (Ch_All, Ch_None, Ch_None)
void \1\xC3 8086 void \1\xC3 8086
imm \1\xC2\30 8086,SW imm \1\xC2\30 8086,SW
[RETF,retfX] [RETF,lret]
(Ch_All, Ch_None, Ch_None) (Ch_All, Ch_None, Ch_None)
void \1\xCB 8086 void \1\xCB 8086
imm \1\xCA\30 8086,SW imm \1\xCA\30 8086,SW
[RETN,retnX] [RETN,ret]
(Ch_All, Ch_None, Ch_None) (Ch_All, Ch_None, Ch_None)
void \1\xC3 8086 void \1\xC3 8086
imm \1\xC2\30 8086,SW imm \1\xC2\30 8086,SW
@ -2763,4 +2763,4 @@ mmxreg,mmxreg \2\x0F\x0F\110\01\xBB PENT,3DNOW,SM
[FFREEP] [FFREEP]
(Ch_All, Ch_None, Ch_None) (Ch_All, Ch_None, Ch_None)
fpureg \1\xDF\10\xC0 PENT,3DNOW,FPU fpureg \1\xDF\10\xC0 PENT,3DNOW,FPU