* 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_3DNOW = $00008000; { it's a 3DNow! instruction }
IF_SSE = $00010000; { it's a SSE (KNI, MMX2) instruction }
IF_PMASK =
IF_PMASK =
longint($FF000000); { the mask for processor types }
IF_PFMASK =
longint($F001FF00); { the mask for disassembly "prefer" }
@ -238,7 +238,8 @@ type
topsize = (S_NO,
S_B,S_W,S_L,S_BW,S_BL,S_WL,
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
@ -247,17 +248,20 @@ const
(OT_NONE,
OT_BITS8,OT_BITS16,OT_BITS32,OT_BITS16,OT_BITS32,OT_BITS32,
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_BITS8,OT_BITS16,OT_BITS32,OT_BITS8,OT_BITS8,OT_BITS16,
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_BITS8,OT_BITS16,OT_BITS32,OT_NONE,OT_NONE,OT_NONE,
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] = ('',
'b','w','l','bw','bl','wl',
's','l','q',
's','l','t','d','q','v'
's','l','t','d','q','v',
'','',''
);
{$endif}
@ -919,7 +924,10 @@ end;
end.
{
$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
parsed as unsigned constants (otherwise, $80000000 got sign extended
and became $ffffffff80000000), all constants in the longint range

View File

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

View File

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

View File

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