@@ -7,18 +7,19 @@ package x64
77type OpFormatType int
88
99const (
10- OpFormatType_NULL OpFormatType = iota
11- OpFormatType_NoArgs // 无参数
12- OpFormatType_Imm // 一元立即数
13- OpFormatType_Reg // 一元寄存器
14- OpFormatType_Mem // 一元内 存
15- OpFormatType_Imm2Reg // 立即数 => 寄存器
16- OpFormatType_Imm2Mem // 立即数 => 内 存
17- OpFormatType_Reg2Reg // 寄存器 => 寄存器
18- OpFormatType_Mem2Reg // 内 存 => 寄存器
19- OpFormatType_Reg2Mem // 寄存器 => 内 存
20- OpFormatType_Any // 一元未知
21- OpFormatType_Any2Any // 二元未知, 对应 mov 指令
10+ OpFormatType_NULL OpFormatType = iota
11+ OpFormatType_NoArgs // 无参数
12+ OpFormatType_Imm // 一元立即数
13+ OpFormatType_Reg // 一元寄存器
14+ OpFormatType_Mem // 一元内 存
15+ OpFormatType_Imm2Reg // 立即数 => 寄存器
16+ OpFormatType_Imm2Mem // 立即数 => 内 存
17+ OpFormatType_Reg2Reg // 寄存器 => 寄存器
18+ OpFormatType_Mem2Reg // 内 存 => 寄存器
19+ OpFormatType_Reg2Mem // 寄存器 => 内 存
20+ OpFormatType_Any // 一元未知
21+ OpFormatType_Any2Any // 二元未知, 对应 mov 指令
22+ OpFormatType_Any2Any_Imm // 3个未知数
2223)
2324
2425// X64 指令类型
@@ -30,9 +31,13 @@ var x64ModeTable = [...]OpFormatType{
3031 ACALL : OpFormatType_Any ,
3132 ACDQ : OpFormatType_NoArgs ,
3233 ACMP : OpFormatType_Any2Any ,
34+ ACMOVNE : OpFormatType_Reg2Reg ,
35+ ACQO : OpFormatType_NoArgs ,
3336 ACVTSI2SD : OpFormatType_Reg2Reg ,
3437 ACVTSS2SD : OpFormatType_Reg2Reg ,
3538 ACVTTSD2SI : OpFormatType_Reg2Reg ,
39+ ACVTTSS2SI : OpFormatType_Reg2Reg ,
40+ ACVTSI2SS : OpFormatType_Reg2Reg ,
3641 ADEC : OpFormatType_Any ,
3742 ADIV : OpFormatType_Any ,
3843 ADIVSD : OpFormatType_Any2Any ,
@@ -49,9 +54,13 @@ var x64ModeTable = [...]OpFormatType{
4954 AJNZ : OpFormatType_Any ,
5055 AJZ : OpFormatType_Any ,
5156 ALEA : OpFormatType_Mem2Reg ,
57+ ALZCNT : OpFormatType_Reg2Reg ,
58+ AMAXSD : OpFormatType_Mem2Reg ,
59+ AMAXSS : OpFormatType_Mem2Reg ,
60+ AMINSD : OpFormatType_Mem2Reg ,
61+ AMINSS : OpFormatType_Mem2Reg ,
5262 AMOV : OpFormatType_Any2Any ,
5363 AMOVABS : OpFormatType_Imm2Reg ,
54- AMOVQ : OpFormatType_Any2Any ,
5564 AMOVSD : OpFormatType_Any2Any ,
5665 AMOVSS : OpFormatType_Any2Any ,
5766 AMOVSXD : OpFormatType_Any2Any ,
@@ -62,8 +71,13 @@ var x64ModeTable = [...]OpFormatType{
6271 ANOP : OpFormatType_NoArgs ,
6372 AOR : OpFormatType_Any2Any ,
6473 APOP : OpFormatType_Any ,
74+ APOPCNT : OpFormatType_Reg2Reg ,
6575 APUSH : OpFormatType_Any ,
6676 ARET : OpFormatType_NoArgs ,
77+ AROL : OpFormatType_Reg2Reg ,
78+ AROR : OpFormatType_Reg2Reg ,
79+ AROUNDSD : OpFormatType_Any2Any_Imm ,
80+ AROUNDSS : OpFormatType_Any2Any_Imm ,
6781 ASAR : OpFormatType_Reg2Reg ,
6882 ASETA : OpFormatType_Any ,
6983 ASETAE : OpFormatType_Any ,
@@ -77,12 +91,16 @@ var x64ModeTable = [...]OpFormatType{
7791 ASETNE : OpFormatType_Any ,
7892 ASETNP : OpFormatType_Any ,
7993 ASHL : OpFormatType_Any2Any ,
94+ ASHR : OpFormatType_Reg2Reg ,
95+ ASQRTSD : OpFormatType_Reg2Reg ,
96+ ASQRTSS : OpFormatType_Reg2Reg ,
8097 ASTD : OpFormatType_NoArgs ,
8198 ASUB : OpFormatType_Any2Any ,
8299 ASUBSD : OpFormatType_Any2Any ,
83100 ASUBSS : OpFormatType_Any2Any ,
84101 ASYSCALL : OpFormatType_NoArgs ,
85102 ATEST : OpFormatType_Any2Any ,
103+ ATZCNT : OpFormatType_Reg2Reg ,
86104 AUCOMISD : OpFormatType_Reg2Reg ,
87105 AXOR : OpFormatType_Reg2Reg ,
88106
0 commit comments