-
Notifications
You must be signed in to change notification settings - Fork 1
/
opcode-encoding.txt
136 lines (127 loc) · 3.85 KB
/
opcode-encoding.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
static char byte_arr[] = {
0x50, // push rax
0x51, // push rcx
0x52, // push rdx
0x53, // push rbx
0x54, // push rsp
0x55, // push rbp
0x56, // push rsi
0x57, // push rdi
0x41, 0x50, // push r8
0x41, 0x51, // push r9
0x41, 0x52, // push r10
0x41, 0x53, // push r11
0x41, 0x54, // push r12
0x41, 0x55, // push r13
0x41, 0x56, // push r14
0x41, 0x57, // push r15
};
static char byte_arr[] = {
0x58, // pop rax
0x5b, // pop rbx
0x59, // pop rcx
0x5a, // pop rdx
0x41, 0x58, // pop r8
0x41, 0x59, // pop r9
0x41, 0x5a, // pop r10
0x41, 0x5b, // pop r11
0x41, 0x5f, // pop r15
};
static char byte_arr[] = {
0x49, 0xf7, 0xef, // imul r15
0b1001001, 0b11110111, 0b11101111
0x49, 0xf7, 0xe8, // imul r8
0b1001001, 0b11110111, 0b11101000
0x48, 0xf7, 0xe8, // imul rax
0b1001000, 0b11110111, 0b11101000
0x49, 0xf7, 0xea, // imul r10
0b1001001, 0b11110111, 0b11101010
0x48, 0xf7, 0xec, // imul rsp
0b1001000, 0b11110111, 0b11101100
0x48, 0xf7, 0xe9, // imul rcx
0b1001000, 0b11110111, 0b11101001
};
static char byte_arr[] = {
0x49, 0xf7, 0xff, // idiv r15
0b1001001, 0b11110111, 0b11111111
0x49, 0xf7, 0xf8, // idiv r8
0b1001001, 0b11110111, 0b11111000
0x48, 0xf7, 0xf8, // idiv rax
0b1001000, 0b11110111, 0b11111000
0x49, 0xf7, 0xfa, // idiv r10
0b1001001, 0b11110111, 0b11111010
0x48, 0xf7, 0xfc, // idiv rsp
0b1001000, 0b11110111, 0b11111100
0x48, 0xf7, 0xf9, // idiv rcx
0b1001000, 0b11110111, 0b11111001
};
static char byte_arr[] = {
0x49, 0x39, 0xe7, // cmp r15,rsp
0b1001001, 0b111001, 0b11100111
0x48, 0x39, 0xc0, // cmp rax,rax
0b1001000, 0b111001, 0b11000000
0x4c, 0x39, 0xe3, // cmp rbx,r12
0b1001100, 0b111001, 0b11100011
0x4d, 0x39, 0xf3, // cmp r11,r14
0b1001101, 0b111001, 0b11110011
0x49, 0x39, 0xea, // cmp r10,rbp
0b1001001, 0b111001, 0b11101010
0x48, 0x39, 0xed, // cmp rbp,rbp
0b1001000, 0b111001, 0b11101101
};
static char byte_arr[] = {
0x4c, 0x0f, 0xaf, 0xfc, // imul r15,rsp
0b1001100, 0b1111, 0b10101111, 0b11111100
0x48, 0x0f, 0xaf, 0xc0, // imul rax,rax
0b1001000, 0b1111, 0b10101111, 0b11000000
0x49, 0x0f, 0xaf, 0xdc, // imul rbx,r12
0b1001001, 0b1111, 0b10101111, 0b11011100
0x4d, 0x0f, 0xaf, 0xde, // imul r11,r14
0b1001101, 0b1111, 0b10101111, 0b11011110
0x4c, 0x0f, 0xaf, 0xd5, // imul r10,rbp
0b1001100, 0b1111, 0b10101111, 0b11010101
0x48, 0x0f, 0xaf, 0xed, // imul rbp,rbp
0b1001000, 0b1111, 0b10101111, 0b11101101
};
static char byte_arr[] = {
0x4c, 0x0f, 0x4c, 0xfc, // cmovl r15,rsp
0b1001100, 0b1111, 0b1001100, 0b11111100
0x48, 0x0f, 0x4c, 0xc0, // cmovl rax,rax
0b1001000, 0b1111, 0b1001100, 0b11000000
0x49, 0x0f, 0x4c, 0xdc, // cmovl rbx,r12
0b1001001, 0b1111, 0b1001100, 0b11011100
0x4d, 0x0f, 0x4c, 0xde, // cmovl r11,r14
0b1001101, 0b1111, 0b1001100, 0b11011110
0x4c, 0x0f, 0x4c, 0xd5, // cmovl r10,rbp
0b1001100, 0b1111, 0b1001100, 0b11010101
0x48, 0x0f, 0x4c, 0xed, // cmovl rbp,rbp
0b1001000, 0b1111, 0b1001100, 0b11101101
};
static char byte_arr[] = {
0x4c, 0x0f, 0x4f, 0xfc, // cmovg r15,rsp
0b1001100, 0b1111, 0b1001111, 0b11111100
0x48, 0x0f, 0x4f, 0xc0, // cmovg rax,rax
0b1001000, 0b1111, 0b1001111, 0b11000000
0x49, 0x0f, 0x4f, 0xdc, // cmovg rbx,r12
0b1001001, 0b1111, 0b1001111, 0b11011100
0x4d, 0x0f, 0x4f, 0xde, // cmovg r11,r14
0b1001101, 0b1111, 0b1001111, 0b11011110
0x4c, 0x0f, 0x4f, 0xd5, // cmovg r10,rbp
0b1001100, 0b1111, 0b1001111, 0b11010101
0x48, 0x0f, 0x4f, 0xed, // cmovg rbp,rbp
0b1001000, 0b1111, 0b1001111, 0b11101101
};
static char byte_arr[] = {
0x49, 0x85, 0xe7, // test r15,rsp
0b1001001, 0b10000101, 0b11100111
0x48, 0x85, 0xc0, // test rax,rax
0b1001000, 0b10000101, 0b11000000
0x4c, 0x85, 0xe3, // test rbx,r12
0b1001100, 0b10000101, 0b11100011
0x4d, 0x85, 0xf3, // test r11,r14
0b1001101, 0b10000101, 0b11110011
0x49, 0x85, 0xea, // test r10,rbp
0b1001001, 0b10000101, 0b11101010
0x48, 0x85, 0xed, // test rbp,rbp
0b1001000, 0b10000101, 0b11101101
};