📄 tde.shl
字号:
; Instruction set taken from intel.doc that I got from their site (I think).
; Only goes up to the 486. Not sure if I have all variations. Corrections
; greatly appreciated.
; 8086
keyword AH AL BH BL CH CL DH DL
keyword AX BX CX DX SI DI SP BP
keyword CS DS ES SS SEGCS SEGDS SEGES SEGSS
keyword AAA CMPSW JAE JNE LDS MUL REPNZ STC
keyword AAD CWD JB JNG LEA NEG RET STD
keyword AAM DAA JBE JNGE LES NOP RETF STI
keyword AAS DAS JC JNL LOCK NOT RETN STOS
keyword ADC DEC JCXZ JNLE LODS OR ROL STOSB
keyword ADD DIV JE JNO LODSB OUT ROR STOSW
keyword AND ESC JG JNP LODSW POP SAHF SUB
keyword CALL HLT JGE JNS LOOP POPF SAL TEST
keyword CBW IDIV JL JNZ LOOPE PUSH SHL WAIT
keyword CLC IMUL JLE JO LOOPZ PUSHF SAR FWAIT
keyword CLD IN JMP JP LOOPNZ RCL SBB XCHG
keyword CLI INC JNA JPE LOOPNE RCR SCAS XLAT
keyword CMC INT JNAE JPO MOV REP SCASB XLATB
keyword CMP INTO JNB JS MOVS REPE SCASW XOR
keyword CMPS IRET JNBE JZ MOVSB REPZ SHL
keyword CMPSB JA JNC LAHF MOVSW REPNE SHR
; 80188
keyword BOUND INS INSW OUTS OUTSB OUTSW POPA PUSHA
keyword ENTER INSB LEAVE
; 286
keyword ARPL LAR LIDT LMSW LTR SIDT SMSW VERR
keyword CLTS LGDT LLDT LSL SGDT SLDT STR VERW
; 386
keyword EAX EBX ECX EDX EDI ESI EBP ESP
keyword FS GS SEGFS SEGGS
keyword CR0 CR2 CR3 TR4 TR5 TR6 TR7
keyword DR0 DR1 DR2 DR3 DR6 DR7
keyword BSF CWDE MOVSD PUSHFD SETE SETNB SETNLE SETPE
keyword BSR INSD MOVSX SCASD SETG SETNBE SETNO SETPO
keyword BT IRETD MOVZX SETA SETGE SETNC SETNP SETS
keyword BTC JECXZ OUTSD SETAE SETL SETNE SETNS SETZ
keyword BTR LFS POPAD SETB SETLE SETNG SETNZ SHLD
keyword BTS LGS POPFD SETBE SETNA SETNGE SETO SHRD
keyword CDQ LODSD PUSHAD SETC SETNAE SETNL SETP STOSD
keyword CMPSD LSS
; 486
keyword BSWAP CMPXCHG INVD INVLPG WBINVD
; Maths/numeric coprocessor. Taken from "BC45\DOC\TD_ASM.TXT".
; 8087/287
keyword ST
keyword F2XM1 FCOMP FFREE FINIT FLDL2E FNSTS FSQRT FSUBRP
keyword FABS FCOMPP FIACOM FIST FLDL2T FPATAN FST FTST
keyword FADD FDECSTP FIACOMP FISTP FLDLG2 FPREM FSTCW FWAIT
keyword FADDP FDISI FIADD FISUB FLDLN2 FPTAN FSTENV FXAM
keyword FBLD FDIV FIDIV FISUBR FLDPI FRNDINT FSTP FXCH
keyword FBSTP FDIVP FIDIVR FLD FLDZ FRSTOR FSTSW FXTRACT
keyword FCHS FDIVR FILD FLD1 FMUL FSAVENT FSUB FYL2X
keyword FCLEX FDIVRP FIMUL FLDCWR FMULP FSCALE FSUBP FYL2XPI
keyword FCOM FENI FINCSTP FLDENV FNOP FSETPM FSUBR
; 387
keyword FCOS FPREM1 FSIN FSINCOS FUCOM FUCOMP FUCOMPP
;---------------------------------- AT&T ----------------------------------
; Assembly - AT&T style (GAS). Taken from RHIDE's syntaxhl.shl file.
language at&t
pattern *.s
case ignore
hex 0x-
string """"
character ' 0
; Let's treat (some) labels as functions
function :
preprocessor #
comment /* */
startword ._
inword _
Keyword aaa aad aam aas adc adcb adcw adcl add addb addw addl and andb andw
Keyword andl arpl bound bsf bsr bswap bt btc btr bts lcall call cbw cbtw cdq
Keyword cltd clc cld cli clts cmc cmp cmpb cmpw cmpl cmps cmpsb cmpsw cmpsl
Keyword cmpxchg cwd cwtd cwde cwtl daa das dec decb decw decl div divw divl
Keyword enter esc hlt idiv idivw idivl imul imulw imull in inb inw inl inc
Keyword incb incw incl ins insb insw insl int into invd invlpg iret iretd ja
Keyword jae jb jbe jc je jg jge jl jle jmp jna jnae jnb jnbe jnc jne jng
Keyword jnge jnl jnle jno jnp jns jnz jo jp jpe jpo js jz jcxz jecxz jmp
Keyword ljmp lahf lar lds lea leaw leal leave les lfs lgdt lidt lgs lldt
Keyword lmsw lock lods lodsb lodsw lodsl loop loope loopz loopnz loopne lsl
Keyword lss ltr mov movb movw movl movs movsb movsw movsl movsx movsbl
Keyword movsbw movswl movzx movzbl movzbw movzwl mul mulw mull neg negb negw
Keyword negl nop not notb notw notl or orb orw orl out outb outw outl outs
Keyword outsb outsw outsl pop popb popw popl popa popad popf popfd push
Keyword pushb pushw pushl pusha pushad pushf pushfd rcl rclb rclw rcll rcr
Keyword rcrb rcrw rcrl rep repe repz repne repnz ret retf rol rolb rolw roll
Keyword ror rorb rorw rorl sahf sal salb salw sall shl shlb shlw shll sar
Keyword sarb sarw sarl sbb sbbb sbbw sbbl scas scasb scasw scasl setae setnb
Keyword setb setnae setbe setna sete setz setne setnz setl setnge setge
Keyword setnl setle setng setg setnle sets setns setc setnc seto setno setp
Keyword setpe setnp setpo sgdt sidt shl shlb shlw shll shr shrb shrw shrl
Keyword shld shldb shldw shldl shrd shrdb shrdw shrdl sldt smsw stc std sti
Keyword stos stosb stosw stosl str sub subb subw subl test testb testw testl
Keyword verr verw wait fwait wbinvd xchg xchgb xchgw xchgl xlat xlatb xor
Keyword xorb xorw xorl ax eax ah al bx ebx bh bl cx ecx ch cl dx edx dh dl
Keyword si esi di edi sp esp bp ebp cs ds ss es fs gs
; GAS specific
Keyword .abort .align .app-file .ascii .asciz .balign .byte .comm
Keyword .data .def .desc .dim .double .eject .else .endef .endif .equ
Keyword .extern .file .fill .float .global .hword .ident .if .include
Keyword .int .irp .irpc .lcomm .lflags .line .ln .linkonce .list .long
Keyword .macro .mri .nolist .octa .org .p2align .psize .quad .rept
Keyword .sbttl .scl .section .set .short .single .size .skip .space
Keyword .stabd .stabn .stabs .string .tag .text .title .type .val .word
Keyword .globl
; Floating point
keyword st
keyword f2xm1 fabs fadd faddp fiadd fbld fbstp fchs fclex fnclex fcmovb fcmove
keyword fcmovbe fcmovu fcmovnb fcmovne fcmovnbe fcmovnu fcom fcomp fcompp fcomi
keyword fcomip fucomi fucomip fcos fdecstp fdiv fdivp fidiv fdivr fdivrp fidivr
keyword ffree ficom ficomp fild fincstp finit fninit fist fistp fld fld1 fldl2t
keyword fldl2e fldpi fldlg2 fldln2 fldz fldcw fldenv fmul fmulp fimul fnop
keyword fpatan fprem fprem1 fptan frndint frstor fsave fnsave fscale fsin
keyword fsincos fsqrt fst fstp fstcw fnstcw fstenv fnstenv fstsw fnstsw fsub
keyword fsubp fisub fsubr fsubrp fisubr ftst fucom fucomp fucompp fwait fxam
keyword fxch fxtract fyl2x fyl2xp1
; Suffixed versions - not all of them, just the ones I've come across
keyword faddl fildl fistpl fldl fldt fmull fstpl fstpt
;---------------------------------- NASM ----------------------------------
; Assembly - NASM style.
language nasm
pattern *.nsm *.nas *.mac
case ignore
binary -b
octal -o ; or -q
hex -h ; or 0x-, $-
string """" spanline \
character ' 0 spanline \
; Let's treat (some) labels as functions.
function :
comment ";"
; . can start and be in a word, but let's leave it as a separator.
startword _?@$
inword _$#@~?
innumber xa-fnolist ; in case 0x is used and to get around 0.nolist
; Pseudo-instructions
preprocessor db dw dd dq dt resb resw resd resq rest
preprocessor incbin equ times
preprocessor seg wrt strict
preprocessor byte word dword qword tword near far long short nosplit to
preprocessor a16 a32 o16 o32
; Preprocessor
; Since the % symbol forms part of the name define these explicitly.
;preprocessor % spanline \
startword %
preprocessor %define %idefine %xdefine %xidefine %undef
preprocessor %assign %iassign %strlen %substr
preprocessor %macro %imacro %endmacro %endm %rotate nolist %clear
preprocessor %if %elif %else %endif
preprocessor %ifdef %ifndef %elifdef %elifndef
preprocessor %ifmacro %ifnmacro %elifmacro %elifnmacro
preprocessor %ifctx %ifnctx %elifctx %elifnctx
preprocessor %ifidn %ifnidn %elifidn %elifnidn
preprocessor %ifidni %ifnidni %elifidni %elifnidni
preprocessor %ifnum %ifnnum %elifnum %elifnnum
preprocessor %ifid %ifnid %elifid %elifnid
preprocessor %ifstr %ifnstr %elifstr %elifnstr
preprocessor %error
preprocessor %rep %exitrep %endrep
preprocessor %include
preprocessor %push %pop %repl
preprocessor %line
preprocessor %arg %stacksize %local
; Standard macros
preprocessor __NASM_MAJOR__ __NASM_MINOR__ __NASM_SUBMINOR__
preprocessor ___NASM_PATCHLEVEL__ __NASM_VERSION_ID__ __NASM_VER__
preprocessor __FILE__ __LINE__
preprocessor struc endstruc istruc at iend
preprocessor align alignb
preprocessor __SECT__
; Directives
preprocessor bits use16 use32 section segment absolute extern global common cpu
preprocessor list warning debug
; bin, obj, win32, coff
preprocessor org progbits nobits start vstart follows vfollows map
preprocessor private public stack class overlay flat group
preprocessor uppercase import export resident nodata parm
preprocessor code text data rdata bss info
; Registers
keyword al cl dl bl ah ch dh bh
keyword ax cx dx bx sp bp si di
keyword eax ecx edx ebx esp ebp esi edi
keyword es cs ss ds fs gs
keyword st0 st1 st2 st3 st4 st5 st6 st7
keyword mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7
keyword cr0 cr2 cr3 cr4
keyword dr0 dr1 dr2 dr3 dr6 dr7
keyword tr3 tr4 tr5 tr6 tr7
; Condition codes
keyword o no b c nae nb nc ae e z ne nz be na nbe a
keyword s ns p pe np po l nge nl ge le ng nle g
keyword cxz ecxz
; Instruction set (adapted from insns.dat, v1.46)
; 8086
keyword aaa aad aam aas adc add and call cbw clc cld cli cmc cmp cmpsb cmpsw cwd
keyword daa das dec div fwait hlt idiv imul in inc int int03 int3 into iret
keyword iretw ja jae jb jbe jc jcxz je jg jge jl jle jmp jna jnae jnb jnbe jnc
keyword jne jng jnge jnl jnle jno jnp jns jnz jo jp jpe jpo js jz lahf lds lea
keyword les lodsb lodsw loop loope loopne loopnz loopz mov movsb movsw mul neg
keyword nop not or out pop popf popfw push pushf pushfw rcl rcr ret retf retn
keyword rol ror sahf sal salc sar sbb scasb scasw shl shr stc std sti stosb
keyword stosw sub test wait xchg xlat xlatb xor
keyword lock rep repe repz repne repnz
; 80186
keyword bound enter insb insw leave outsb outsw popa popaw pusha pushaw
; 286
keyword arpl clts lar lgdt lidt lldt lmsw loadall286 lsl ltr sgdt sidt sldt smsw
keyword str ud0 ud1 ud2 verr verw
; 386
keyword bsf bsr bt btc btr bts cdq cmpsd cwde ibts icebp insd int01 int1 iretd
keyword jecxz lfs lgs loadall lodsd lss movsd movsx movzx outsd popad popfd
keyword pushad pushfd scasd shld shrd smi stosd umov xbts seta setae setb setbe
keyword setc sete setg setge setl setle setna setnae setnb setnbe setnc setne
keyword setng setnge setnl setnle setno setnp setns setnz seto setp setpe setpo
keyword sets setz
; 486
keyword bswap cmpxchg486 invd invlpg rsdc rsldt rsts smintold svdc svldt svts
keyword wbinvd xadd
; Pentium (586, including MMX/3DNow!)
keyword cmpxchg cmpxchg8b cpuid emms movd movq packssdw packsswb packuswb paddb
keyword paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn paveb
keyword pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id
keyword pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1
keyword pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw
keyword pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb por
keyword prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb
keyword psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq
keyword punpckhwd punpcklbw punpckldq punpcklwd pxor rdmsr rdtsc rsm wrmsr
; AMD Enhanced 3DNow! (Athlon) instructions
keyword pf2iw pfnacc pfpnacc pi2fw pswapd
; P6 (686, PentiumPro, P2)
keyword cmova cmovae cmovb cmovbe cmovc cmove cmovg cmovge cmovl cmovle cmovna
keyword cmovnae cmovnb cmovnbe cmovnc cmovne cmovng cmovnge cmovnl cmovnle
keyword cmovno cmovnp cmovns cmovnz cmovo cmovp cmovpe cmovpo cmovs cmovz rdpmc
keyword rdshr smint syscall sysenter sysexit sysret wrshr xstore
; P3 (Pentium III, Katmai)
keyword prefetchnta prefetcht0 prefetcht1 prefetcht2 sfence
; Katmai Streaming SIMD instructions (SSE -- a.k.a. KNI, XMM, MMX2)
keyword addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss
keyword cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss
keyword cmpps cmpss cmpunordps cmpunordss comiss cvtpi2ps cvtps2pi cvtsi2ss
keyword cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss
keyword movaps movhlps movhps movlhps movlps movmskps movntps movss movups mulps
keyword mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr
keyword subps subss ucomiss unpckhps unpcklps xorps
; New MMX
keyword maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub
keyword pmovmskb pmulhuw psadbw pshufw
; P4 (Pentium 4, Williamette)
; Willamette SSE2 Cacheability Instructions
keyword clflush lfence maskmovdqu mfence movntdq movnti movntpd pause
; Willamette MMX instructions (SSE2 SIMD Integer Instructions)
keyword movdq2q movdqa movdqu movq2dq packssdw packsswb packuswb paddd paddq
keyword paddsb paddsw paddusb paddusw paddw pand pandn pavgb pavgw pcmpeqd
keyword pcmpeqw pcmpgtb pcmpgtd pcmpgtw pextrw pinsrw pmaddwd pmaxsw pmaxub
keyword pminsw pminub pmovmskb pmulhuw pmulhw pmullw pmuludq por psadbw pshufd
keyword pshufhw pshuflw pslld pslldq psllq psllw psrad psraw psrld psrldq psrlq
keyword psrlw psubb psubd psubq psubsb psubsw psubusb psubusw psubw punpckhbw
keyword punpckhdq punpckhqdq punpckhwd punpcklbw punpckldq punpcklqdq punpcklwd
keyword pxor
; Willamette Streaming SIMD instructions (SSE2)
keyword addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd
keyword cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd
keyword cmppd cmpsd cmpunordpd cmpunordsd comisd cvtdq2pd cvtdq2ps cvtpd2dq
keyword cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd
keyword cvtss2sd cvttpd2dq cvttpd2pi cvttps2dq cvttsd2si divpd divsd maxpd maxsd
keyword minpd minsd movapd movhpd movlpd movmskpd movsd movupd mulpd mulsd orpd
keyword shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd
; Prescott
keyword monitor mwait
; Prescott New Instructions (SSE3)
keyword addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup
keyword movsldup
; IA64
keyword jmpe
; Floating point
; 8087
keyword f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcom fcomp fcompp fdecstp
keyword fdisi fdiv fdivp fdivr fdivrp feni ffree fiadd ficom ficomp fidiv fidivr
keyword fild fimul fincstp finit fist fistp fisub fisubr fld fld1 fldcw fldenv
keyword fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni
keyword fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fptan frndint
keyword frstor fsave fscale fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr
keyword fsubrp ftst fxam fxch fxtract fyl2x fyl2xp1
; 287
keyword ffreep fsetpm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -