Added the "or" instruction

This commit is contained in:
Pierre Pronchery 2011-04-19 22:39:52 +00:00
parent b5d59fbdaa
commit 0c242bf1a8
2 changed files with 66 additions and 0 deletions

View File

@ -588,6 +588,49 @@
{ "fwait", 0x9b, OP1F, AOT_NONE, AOT_NONE, AOT_NONE }, { "fwait", 0x9b, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
/* NOP 0x90 1 */ /* NOP 0x90 1 */
{ "nop", 0x90, OP1F, AOT_NONE, AOT_NONE, AOT_NONE }, { "nop", 0x90, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
/* OR 0x0c ib 1 al imm8 */
{ "or", 0x0c, OP1F, OP_al, OP_S8, AOT_NONE },
/* OR 0x0d iW 1 AX immW */
{ "or", 0x0d, OP1F, OP_AX, OP_SW, AOT_NONE },
/* OR 0x80 /r 1 r/m8 r8 */
{ "or", 0x08, OP1F, OP_RM8_D0_R,OP_R8, AOT_NONE },
{ "or", 0x08, OP1F, OP_RM8_D8_R,OP_R8, AOT_NONE },
{ "or", 0x08, OP1F, OP_RM8_DW_R,OP_R8, AOT_NONE },
{ "or", 0x08, OP1F, OP_RM8_R8_R,OP_R8, AOT_NONE },
/* OR 0x09 /r 1 r/mW rW */
{ "or", 0x09, OP1F, OP_RMW_D0_R,OP_RW, AOT_NONE },
{ "or", 0x09, OP1F, OP_RMW_D8_R,OP_RW, AOT_NONE },
{ "or", 0x09, OP1F, OP_RMW_DW_R,OP_RW, AOT_NONE },
{ "or", 0x09, OP1F, OP_RMW_RW_R,OP_RW, AOT_NONE },
/* OR 0x32 /r 1 r8 r/m8 */
#if 1 /* FIXME doesn't work at the moment */
{ "or", 0x0a, OP1F, OP_RM8_R8_R,OP_RM8_D0_R,AOT_NONE },
{ "or", 0x0a, OP1F, OP_RM8_R8_R,OP_RM8_D8_R,AOT_NONE },
{ "or", 0x0a, OP1F, OP_RM8_R8_R,OP_RM8_DW_R,AOT_NONE },
{ "or", 0x0a, OP1F, OP_RM8_R8_R,OP_RM8_R8_R,AOT_NONE },
#endif
/* OR 0x0b /r 1 rW r/mW */
#if 1 /* FIXME doesn't work at the moment */
{ "or", 0x0b, OP1F, OP_RMW_RW_R,OP_RMW_D0_R,AOT_NONE },
{ "or", 0x0b, OP1F, OP_RMW_RW_R,OP_RMW_D8_R,AOT_NONE },
{ "or", 0x0b, OP1F, OP_RMW_RW_R,OP_RMW_DW_R,AOT_NONE },
{ "or", 0x0b, OP1F, OP_RMW_RW_R,OP_RMW_RW_R,AOT_NONE },
#endif
/* OR 0x80 /1 ib 1 r/m8 imm8 */
{ "orb", 0x80, OP1F, OP_RM8_D0+1,OP_S8, AOT_NONE },
{ "orb", 0x80, OP1F, OP_RM8_D8+1,OP_S8, AOT_NONE },
{ "orb", 0x80, OP1F, OP_RM8_DW+1,OP_S8, AOT_NONE },
{ "or", 0x80, OP1F, OP_RM8_R8+1,OP_S8, AOT_NONE },
/* OR 0x81 /1 iW 1 r/mW immW */
{ "or", 0x81, OP1F, OP_RMW_D0+1,OP_SW, AOT_NONE },
{ "or", 0x81, OP1F, OP_RMW_D8+1,OP_SW, AOT_NONE },
{ "or", 0x81, OP1F, OP_RMW_DW+1,OP_SW, AOT_NONE },
{ "or", 0x81, OP1F, OP_RMW_RW+1,OP_SW, AOT_NONE },
/* OR 0x83 /1 ib 1 r/mW imm8 */
{ "orb", 0x83, OP1F, OP_RMW_D0+1,OP_S8, AOT_NONE },
{ "orb", 0x83, OP1F, OP_RMW_D8+1,OP_S8, AOT_NONE },
{ "orb", 0x83, OP1F, OP_RMW_DW+1,OP_S8, AOT_NONE },
{ "or", 0x83, OP1F, OP_RMW_RW+1,OP_S8, AOT_NONE },
/* OUT 0xe6 1 imm8 al */ /* OUT 0xe6 1 imm8 al */
{ "out", 0xe6, OP1F, OP_U8, OP_al, AOT_NONE }, { "out", 0xe6, OP1F, OP_U8, OP_al, AOT_NONE },
/* OUT 0xe7 1 imm8 AX */ /* OUT 0xe7 1 imm8 AX */

View File

@ -241,6 +241,29 @@
fninit fninit
fwait fwait
nop /* 90 */ nop /* 90 */
/* OR */
or [%ecx], %dh
or [%ecx+$0x50], %dh
or %bl, %bh
or %eax, %eax
or [%eax], %eax
#if 1 /* FIXME doesn't work at the moment */
or %dh, [%ecx]
or %bl, %bh
or %edx, [%ecx]
or %ebx, %ebx
#endif
or %al, $0x40
or %eax, $0x41424344
or [%edx], $0x46
or [%ebx + $0x15], $0x47
or [%ebx + $0x16171819], $0x48
or %cl, $0x45
or [%edx], $0x46474849
or [%ebx + $0x14], $0x4748494a
or [%ebx + $0x16171819], $0x48494a4b
or %ecx, $0x45464748
or [%eax], -$0x02
out $0xa8, %al out $0xa8, %al
out $0xa8, %eax out $0xa8, %eax
out %dx, %al out %dx, %al