diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2008-07-29 22:31:55 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2008-07-29 22:31:55 (GMT) |
commit | 57758c2cd11938e3e4c6e45b983cee4c2269ff44 (patch) | |
tree | ade6e434f0a5e68dec379c20432a09dd1cc75a1a /src/arch/x86/instruction.h | |
parent | 4d004094424bb1fc52082f2e442c4c43a5525fe1 (diff) |
Loaded the executable part of an ELF file.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@10 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/x86/instruction.h')
-rw-r--r-- | src/arch/x86/instruction.h | 106 |
1 files changed, 90 insertions, 16 deletions
diff --git a/src/arch/x86/instruction.h b/src/arch/x86/instruction.h index c3c417b..83f8cf0 100644 --- a/src/arch/x86/instruction.h +++ b/src/arch/x86/instruction.h @@ -38,27 +38,101 @@ typedef struct _asm_x86_instr asm_x86_instr; /* Enumération de tous les opcodes */ typedef enum _X86Opcodes { + X86_OP_INC_EAX, /* inc (0x40) */ + X86_OP_INC_ECX, /* inc (0x41) */ + X86_OP_INC_EDX, /* inc (0x42) */ + X86_OP_INC_EBX, /* inc (0x43) */ + X86_OP_INC_ESP, /* inc (0x44) */ + X86_OP_INC_EBP, /* inc (0x45) */ + X86_OP_INC_ESI, /* inc (0x46) */ + X86_OP_INC_EDI, /* inc (0x47) */ + + X86_OP_DEC_EAX, /* dec (0x48) */ + X86_OP_DEC_ECX, /* dec (0x49) */ + X86_OP_DEC_EDX, /* dec (0x4a) */ + X86_OP_DEC_EBX, /* dec (0x4b) */ + X86_OP_DEC_ESP, /* dec (0x4c) */ + X86_OP_DEC_EBP, /* dec (0x4d) */ + X86_OP_DEC_ESI, /* dec (0x4e) */ + X86_OP_DEC_EDI, /* dec (0x4f) */ + + X86_OP_PUSH_EAX, /* push (0x50) */ + X86_OP_PUSH_ECX, /* push (0x51) */ + X86_OP_PUSH_EDX, /* push (0x52) */ + X86_OP_PUSH_EBX, /* push (0x53) */ + X86_OP_PUSH_ESP, /* push (0x54) */ + X86_OP_PUSH_EBP, /* push (0x55) */ + X86_OP_PUSH_ESI, /* push (0x56) */ + X86_OP_PUSH_EDI, /* push (0x57) */ + + X86_OP_POP_EAX, /* pop (0x58) */ + X86_OP_POP_ECX, /* pop (0x59) */ + X86_OP_POP_EDX, /* pop (0x5a) */ + X86_OP_POP_EBX, /* pop (0x5b) */ + X86_OP_POP_ESP, /* pop (0x5c) */ + X86_OP_POP_EBP, /* pop (0x5d) */ + X86_OP_POP_ESI, /* pop (0x5e) */ + X86_OP_POP_EDI, /* pop (0x5f) */ + X86_OP_NOP, /* nop (0x90) */ - X86_OP_MOV_AX, /* mov (0xb0) */ - X86_OP_MOV_CX, /* mov (0xb1) */ - X86_OP_MOV_DX, /* mov (0xb2) */ - X86_OP_MOV_BX, /* mov (0xb3) */ - X86_OP_MOV_SP, /* mov (0xb4) */ - X86_OP_MOV_BP, /* mov (0xb5) */ - X86_OP_MOV_SI, /* mov (0xb6) */ - X86_OP_MOV_DI, /* mov (0xb7) */ + X86_OP_MOV_AX, /* mov (0xb8) */ + X86_OP_MOV_CX, /* mov (0xb9) */ + X86_OP_MOV_DX, /* mov (0xba) */ + X86_OP_MOV_BX, /* mov (0xbb) */ + X86_OP_MOV_SP, /* mov (0xbc) */ + X86_OP_MOV_BP, /* mov (0xbd) */ + X86_OP_MOV_SI, /* mov (0xbe) */ + X86_OP_MOV_DI, /* mov (0xbf) */ X86_OP_INT, /* int (0xcd) */ - X86_OP_MOV_EAX, /* mov (0x66 0xb0) */ - X86_OP_MOV_ECX, /* mov (0x66 0xb1) */ - X86_OP_MOV_EDX, /* mov (0x66 0xb2) */ - X86_OP_MOV_EBX, /* mov (0x66 0xb3) */ - X86_OP_MOV_ESP, /* mov (0x66 0xb4) */ - X86_OP_MOV_EBP, /* mov (0x66 0xb5) */ - X86_OP_MOV_ESI, /* mov (0x66 0xb6) */ - X86_OP_MOV_EDI, /* mov (0x66 0xb7) */ + X86_OP_HLT, /* hlt (0xf4) */ + + X86_OP_INC_AX, /* inc (0x66 0x40) */ + X86_OP_INC_CX, /* inc (0x66 0x41) */ + X86_OP_INC_DX, /* inc (0x66 0x42) */ + X86_OP_INC_BX, /* inc (0x66 0x43) */ + X86_OP_INC_SP, /* inc (0x66 0x44) */ + X86_OP_INC_BP, /* inc (0x66 0x45) */ + X86_OP_INC_SI, /* inc (0x66 0x46) */ + X86_OP_INC_DI, /* inc (0x66 0x47) */ + + X86_OP_DEC_AX, /* dec (0x66 0x48) */ + X86_OP_DEC_CX, /* dec (0x66 0x49) */ + X86_OP_DEC_DX, /* dec (0x66 0x4a) */ + X86_OP_DEC_BX, /* dec (0x66 0x4b) */ + X86_OP_DEC_SP, /* dec (0x66 0x4c) */ + X86_OP_DEC_BP, /* dec (0x66 0x4d) */ + X86_OP_DEC_SI, /* dec (0x66 0x4e) */ + X86_OP_DEC_DI, /* dec (0x66 0x4f) */ + + X86_OP_PUSH_AX, /* push (0x66 0x50) */ + X86_OP_PUSH_CX, /* push (0x66 0x51) */ + X86_OP_PUSH_DX, /* push (0x66 0x52) */ + X86_OP_PUSH_BX, /* push (0x66 0x53) */ + X86_OP_PUSH_SP, /* push (0x66 0x54) */ + X86_OP_PUSH_BP, /* push (0x66 0x55) */ + X86_OP_PUSH_SI, /* push (0x66 0x56) */ + X86_OP_PUSH_DI, /* push (0x66 0x57) */ + + X86_OP_POP_AX, /* pop (0x66 0x58) */ + X86_OP_POP_CX, /* pop (0x66 0x59) */ + X86_OP_POP_DX, /* pop (0x66 0x5a) */ + X86_OP_POP_BX, /* pop (0x66 0x5b) */ + X86_OP_POP_SP, /* pop (0x66 0x5c) */ + X86_OP_POP_BP, /* pop (0x66 0x5d) */ + X86_OP_POP_SI, /* pop (0x66 0x5e) */ + X86_OP_POP_DI, /* pop (0x66 0x5f) */ + + X86_OP_MOV_EAX, /* mov (0x66 0xb8) */ + X86_OP_MOV_ECX, /* mov (0x66 0xb9) */ + X86_OP_MOV_EDX, /* mov (0x66 0xba) */ + X86_OP_MOV_EBX, /* mov (0x66 0xbb) */ + X86_OP_MOV_ESP, /* mov (0x66 0xbc) */ + X86_OP_MOV_EBP, /* mov (0x66 0xbd) */ + X86_OP_MOV_ESI, /* mov (0x66 0xbe) */ + X86_OP_MOV_EDI, /* mov (0x66 0xbf) */ X86_OP_COUNT |