Added the "lock", "lodsb", "lodsd", "lodsw", "loop", "loope", "loopne", "loopnz" and "loopz" instructions

This commit is contained in:
Pierre Pronchery 2011-04-19 23:28:38 +00:00
parent fb58a25507
commit 2aaa34e124
2 changed files with 37 additions and 0 deletions

View File

@ -586,6 +586,35 @@
{ "fnop", 0xd9d0, OP2F, AOT_NONE, AOT_NONE, AOT_NONE },
/* FWAIT 0x9b 1 */
{ "fwait", 0x9b, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
/* LOCK 0xf0 1 */
{ "lock", 0xf0, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
/* LODSB 0xac 1 */
{ "lodsb", 0xac, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
#ifdef ARCH_i386_real
/* LODSW 0xad 1 */
{ "lodsw", 0xad, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
#else
/* LODSD 0xad 1 */
{ "lodsd", 0xad, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
#endif
/* LOOP 0xe2 1 rel8 */
{ "loop", 0xe2, OP1F, OP_S8, AOT_NONE, AOT_NONE },
/* LOOPE 0xe1 1 rel8 */
{ "loope", 0xe1, OP1F, OP_S8, AOT_NONE, AOT_NONE },
/* LOOPNE 0xe0 1 rel8 */
{ "loopne", 0xe0, OP1F, OP_S8, AOT_NONE, AOT_NONE },
/* LOOPNZ 0xe0 1 rel8 */
{ "loopnz", 0xe0, OP1F, OP_S8, AOT_NONE, AOT_NONE },
/* LOOPZ 0xe1 1 rel8 */
{ "loopz", 0xe1, OP1F, OP_S8, AOT_NONE, AOT_NONE },
/* MOV 0x0f20 /r 2 r32 cr0-cr4 */
/* FIXME implement */
/* MOV 0x0f22 /r 2 cr0-cr4 r32 */
/* FIXME implement */
/* MOV 0x0f21 /r 2 r32 dr0-dr7 */
/* FIXME implement */
/* MOV 0x0f23 /r 2 dr0-dr7 r32 */
/* FIXME implement */
/* MOVSB 0xa4 1 */
{ "movsb", 0xa4, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
#ifdef ARCH_i386_real

View File

@ -240,6 +240,14 @@
fnclex
fninit
fwait
lock
lodsb /* ac */
lodsd /* ad */
loop $0x41
loope $0x41
loopne $0x41
loopnz $0x41
loopz $0x41
nop /* 90 */
movsb
movsd