Created
February 16, 2021 22:02
-
-
Save islem-esi/3d26ba8ffecd830d7bdad8fc50362f59 to your computer and use it in GitHub Desktop.
assembly instructions groups
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
inst_groups = { | |
#Conditional Data Transfer | |
'cdt': ['cmove', 'cmovz', 'cmovne', 'cmovnz', 'cmova', 'cmovnbe', 'cmovae', 'cmovnb', 'cmovb', | |
'cmovnae', 'cmovbe', 'cmovna', 'cmovg', | |
'cmovnle', 'cmovge', 'cmovnl', 'cmovl', 'cmovnge', 'cmovle', 'cmovng', | |
'cmovc', 'cmovnc', 'cmovo', 'cmovno', 'cmovs', 'cmovns', 'cmovp', 'cmovpe', | |
'cmovnp', 'cmovpo',], | |
#Unconditianl Data Transfer | |
'udt': ['mov', 'xchg', 'bswap', 'movsx', 'movzx', 'movlps', 'movqda', 'lock xchg'], | |
#Stack Data Transfer | |
'sdt': ['push', 'pop', 'pusha', 'pushad', 'popa', 'popad','popal', 'pushal'], | |
'adt': ['xadd'], | |
#Compared Data Transfer | |
'cmpdt': ['cmpxchg', 'cmpxchg8b',], | |
#Converting | |
'cvt': ['cwd', 'cdq', 'cbw', 'cwde'], | |
#Binary Arithmetic Instructions | |
'bai': ['adcx', 'adox', 'add', 'adc', 'sub', 'sbb', 'imul', 'imulb', 'imulw', 'imull', | |
'mul', 'mulb', 'mulw', 'mull', 'idiv', 'idivb', 'idivw', 'idivl', | |
'div', 'inc', 'dec', 'neg', 'cmp','addb', 'addw', 'addl', 'adcb', | |
'adcw', 'adcl', 'subb', 'subw', 'subl', 'sbbb', 'sbbw', 'sbbl', | |
'cmpb', 'cmpw', 'cmpl', 'incb', 'incw', 'incl', 'decb', 'decw', | |
'decl', 'negb', 'negw', 'negl', 'lock add', 'lock adc', 'lock sbb', | |
'lock sub', 'lock neg', 'lock inc', 'lock dec'], | |
#Integer Arithmetic Instructions | |
'iai': ['fiadd', 'fiaddr', 'ficom', 'fidiv', 'fisub', 'fimul', 'ficomp', 'fisubr','fidivr','fimulr'], | |
#Decimal Arithmetic Instructions | |
'dai': ['daa', 'das', 'aaa', 'aas', 'aam', 'aad',], | |
#Flaot Arithmetic Instructions | |
'fai': ['fabs', 'fadd', 'faddp', 'fchs', 'fdiv', 'fdivp', 'fdivr', 'fdivrp', 'fiadd', | |
'fidiv', 'fidivr', 'fimul', | |
'fisub', 'fisubr', 'fmul', 'fmulp', 'fprem', 'fprem1', 'frndint', 'fscale', 'fsqrt', | |
'fsub', 'fsubp', | |
'fsubr', 'fsubrp', 'fxtract'], | |
#Float Comparison Instructions | |
'fci': ['fcom', 'fcomi', 'fcomip', 'fcomp', 'fcompp', 'ftst', 'fucom', | |
'fucomi', 'fucomip', 'fucomp', 'fucompp', 'fxam'], | |
#Stack Arithmetic Instructions | |
'sai': ['fsqrt', 'fscale', 'fprem', 'frndint', 'fxtract', 'fabs', 'fchs',], | |
#Logical Instructions | |
'li': ['and', 'andb', 'andw', 'andl', 'or', 'orb', 'orw', 'orl', 'xor', | |
'xorb', 'xorw', 'xorl', 'not', 'notb', 'notw', 'notl','lock or', | |
'lock and', 'lock xor', 'lock not',], | |
#Shift Rotate Instructions | |
'sri': ['sar', 'shr', 'sal', 'shl', 'shrd', 'shld', 'ror', 'rol', 'rcr', 'rcl', | |
'sarb', 'sarw', 'sarl', 'salb', 'salw', 'sall', 'shrb', 'shrw', 'shrl', | |
'shld', 'shldw', 'shldl', 'shrd', 'shrdw', 'shrdl', ], | |
#Bit Instructions | |
'bii': ['bt', 'bts', 'btr', 'btc', 'bsf', 'bsr','lock bt', 'lock bts', | |
'lock btr', 'lockbtc'], | |
#Byte Instructions | |
'byi': ['sete', 'setz', 'setne', 'setnz', 'seta', 'setnbe', 'setae', 'setnb', 'setnc', 'setb', 'setnae', | |
'setc', 'setbe', 'setna', 'setg', 'setnle', 'setge', 'setnl', 'setl', 'setnge', 'setle', 'setng', | |
'sets', 'setns', 'seto', 'setno', 'setpe', 'setp', 'setpo', 'setnp', 'test', 'testb', | |
'testw', 'testl', 'crc32', 'popcnt',], | |
#Conditional Jumping | |
'cj': ['je', 'jz', 'jnz', 'jnz', 'ja', 'jnbe', 'jae', 'jnb', 'jb', 'jnae', 'jbe', 'jna', 'jg', | |
'jnle', 'jge', 'jnl', 'jl', 'jnge', 'jle', 'jng', 'jc', 'jnc', 'jo', 'jno', 'js', 'jns', | |
'jpo', 'jnp', 'jpe', 'jp', 'jcxz', 'jecxz', 'loopz', 'loope', 'loopnz', 'loopne', 'into', | |
'jne'], | |
#Unconditional Jumping/Looping | |
'uj': ['jmp', 'loop', 'call', 'enter', 'leave','lcall','acall', 'ljmp',], | |
#Interruptions | |
'int': ['ret', 'iret', 'retn', 'int', 'retf', 'hlt', 'iretd',], | |
#Strings Instructions | |
'si': ['movs', 'movsb', 'movsw', 'movsd', 'cmps', 'cmpsb', 'cmpsw', 'cmpsd', 'scas', | |
'scasb', 'scasw', 'scasd', 'lods', 'lodsb', 'lodsw', 'lodsd', 'rep', 'repe', | |
'repz', 'repne', 'repnz', 'stos', 'stosd', 'stosb', 'stosw', 'stosl', ], | |
#I/O Instructions | |
'io': ['in', 'out', 'ins', 'insb', 'insw', 'insd', 'outs', 'outsb', 'outsw', 'outsd', | |
'inb', 'inw', 'insl','outw','outsl','outl',], | |
#Flags | |
'flg': ['stc', 'clc', 'cmc', 'cld', 'std', 'lahf', 'sahf', 'pushf', 'pushfd', | |
'popf', 'popfd', 'sti', 'cli','popfw','popfl', 'pushfw','pushfl', 'salc'], | |
#Segment Register Instructions | |
'seg': ['lds', 'les', 'lfs', 'lgs', 'lss',], | |
# | |
'misc': ['lea', 'nop', 'ud', 'xlat', 'xlatb', 'cpuid', 'prefetchw', 'prefetchwt', | |
'clflush', 'clflushopt',], | |
'sr': ['xsave', 'xsavec', 'xsaveopt', 'xrstor', 'xgetbv',], | |
'rng': ['rdrand', 'rdseed'], | |
'arr': ['bound', 'boundb', 'boundw', 'boundl'], | |
'pmi': ['sldt', 'str', 'lldt', 'ltr', 'verr', 'verw', 'sgdt', 'sidt', | |
'smsw', 'lmsw', 'lar', 'lsl', 'clts', 'arpl', 'lgdt', 'lidt',], | |
'pci': ['frstor', 'finitfninit', 'finit', 'fnop', 'fsave', 'fnsave', 'fstcw', | |
'fnstcw', 'fstenv', 'fnstenv', 'fstsw', 'fnstsw', 'fwait', 'wait', | |
'fclex', 'fnclex', 'fdecstp', 'ffree', 'fincstp','pause', 'fclex', | |
'fdecstp', 'ffree', 'fincstp', 'finit', 'fldcw', 'fldenv', | |
'fnclex', 'fninit', 'fnop', 'fnsave', 'fnstcw', 'fnstenv', | |
'fnstsw', 'frstor', 'fsave', 'fstcw', 'fstenv', 'fstsw', 'fwait', | |
'rdtsc','fxrstor', 'fxsave', 'invd', 'winvd',], | |
#MMX Data Transfer | |
'mmxt': ['movd', 'movq'], | |
#MMX Conversion | |
'mmxc': ['packssdw', 'packsswb', 'packuswb', 'punpckhbw', 'punpckhdq', | |
'punpckhwd', 'punpcklbw', 'punpckldq', 'punpcklwd'], | |
#MMX Arithmetic Instuctions | |
'mmxa': ['paddb', 'paddd', 'paddsb', 'paddsw', 'paddusb', 'paddusw', 'paddw', 'pmaddwd', 'pmulhw', | |
'pmullw', 'psubb', 'psubd', 'psubsb', 'psubsw', 'psubusb', 'psubusw', 'psubw'], | |
#MMX Comparision | |
'mmxcmp': ['pcmpeqd', 'pcmpeqb', 'pcmpeqw', 'pcmpgtb', 'pcmpgtd', 'pcmpgtw'], | |
#MMX Logical | |
'mmxl' : ['pand', 'pandn', 'por', 'pxor'], | |
#MMX Shift Rotate Instuctions | |
'mmxsr': ['pslld', 'psllq', 'psllw', 'psrad', 'psraw', 'psrld', 'psrlq', 'psrlw'], | |
#MMX State Management | |
'mmxsm' : ['emms'], | |
#SSE Data Transfer | |
'sset': ['movaps', 'movhlps', 'movhps', 'movlhps', 'movlps', 'movmskps', 'movss', 'movups'], | |
#SSE Arithmetic Instructions | |
'ssea': ['addps', 'addss', 'divps', 'divss', 'maxps', 'maxss', 'minps', 'minss', 'mulps', | |
'mulss', 'rcpps', 'rcpss', 'rsqrtps', 'rsqrtss', 'sqrtps', 'sqrtss', 'subps', 'subss'], | |
#SSE Comparision | |
'ssecmp': ['cmpps', 'cmpss', 'comiss', 'ucomiss',], | |
#SSE Logical | |
'ssel': ['andnps', 'andps', 'orps', 'xorps'], | |
#SSE Shuffle Unpack | |
'ssesu': ['shufps', 'unpckhps', 'unpcklps'], | |
#SSE Convertion | |
'ssecvt': ['cvtpi2ps', 'cvtps2pi', 'cvtsi2ss', 'cvtss2si', 'cvttps2pi', 'cvttss2si'], | |
#SSE | |
#Floating Data Transfer | |
'fdt' : ['fbld', 'fbstp', 'fcmovb', 'fcmovbe', 'fcmove', 'fcmovnb', 'fcmovnbe', 'fcmovne', | |
'fcmovnu', 'fcmovu', 'fild', 'fist', 'fistp', 'fld', 'fst', 'fstp', 'fxch','fisttp',], | |
#Flaot Transcedental | |
'ftrdt': ['f2xm1', 'fcos', 'fpatan', 'fptan', 'fsin', 'fsincos', 'fyl2x', 'fyl2xp1'], | |
#Float Load constant | |
'flc' : ['fld1', 'fldl2e', 'fldl2t', 'fldlg2', 'fldln2', 'fldpi', 'fldz'], | |
'tse': ['xabort', 'xbegin', 'xbeginl', 'xbeginw', 'xend', 'xtest'], | |
'ssebi': ['pavgb', 'pavgw', 'pextrw', 'pinsrw', 'pmaxsw', 'pmaxub', 'pminsw', | |
'pminub', 'pmovmskb', | |
'pmulhuw', 'psadbw', 'pshufw',], | |
'vmx': ['invept', 'invvpid', 'vmcall', 'vmclear', 'vmfunc', 'vmlaunch', 'vmresume', 'vmptrld', | |
'vmptrst', 'vmread', 'vmwrite', 'vmxoff', 'vmxon',] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment