Added the "or" instruction
This commit is contained in:
parent
b5d59fbdaa
commit
0c242bf1a8
@ -588,6 +588,49 @@
|
||||
{ "fwait", 0x9b, OP1F, AOT_NONE, AOT_NONE, AOT_NONE },
|
||||
/* NOP 0x90 1 */
|
||||
{ "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, OP1F, OP_U8, OP_al, AOT_NONE },
|
||||
/* OUT 0xe7 1 imm8 AX */
|
||||
|
23
test/i386.S
23
test/i386.S
@ -241,6 +241,29 @@
|
||||
fninit
|
||||
fwait
|
||||
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, %eax
|
||||
out %dx, %al
|
||||
|
Loading…
Reference in New Issue
Block a user