145 lines · 8.5 KB · Text
RawDownload
" Vim syntax file" Language:	Flat Assembler (FASM)" Maintainer:	Ron Aaron <ron@ronware.org>" Last Change:	2004 May 16" Vim URL:	http://www.vim.org/lang.html" FASM Home:	http://flatassembler.net/" FASM Version: 1.52 if version < 600  syntax clearelseif exists("b:current_syntax")  finishendif setlocal iskeyword=a-z,A-Z,48-57,.,_setlocal isident=a-z,A-Z,48-57,.,_syn case ignore syn keyword fasmRegister	ah al ax bh bl bp bx ch cl cr0 cr1 cr2 cr3 cr4 cr5 cr6syn keyword fasmRegister	cr7 cs cx dh di dl dr0 dr1 dr2 dr3 dr4 dr5 dr6 dr7 ds dxsyn keyword fasmRegister	eax ebp ebx ecx edi edx es esi esp fs gs mm0 mm1 mm2 mm3syn keyword fasmRegister	mm4 mm5 mm6 mm7 si sp ss st st0 st1 st2 st3 st4 st5 st6syn keyword fasmRegister	st7 tr0 tr1 tr2 tr3 tr4 tr5 tr6 tr7 xmm0 xmm1 xmm2 xmm3syn keyword fasmRegister	xmm4 xmm5 xmm6 xmm7syn keyword fasmAddressSizes 	byte dqword dword fword pword qword tword wordsyn keyword fasmDataDirectives 	db dd df dp dq dt du dw file rb rd rf rp rq rt rwsyn keyword fasmInstr 	aaa aad aam aas adc add addpd addps addsd addss addsubpdsyn keyword fasmInstr	addsubps and andnpd andnps andpd andps arpl bound bsf bsrsyn keyword fasmInstr	bswap bt btc btr bts call cbw cdq clc cld clflush cli cltssyn keyword fasmInstr	cmc cmova cmovae cmovb cmovbe cmovc cmove cmovg cmovge cmovlsyn keyword fasmInstr	cmovle cmovna cmovnae cmovnb cmovnbe cmovnc cmovne cmovngsyn keyword fasmInstr	cmovnge cmovnl cmovnle cmovno cmovnp cmovns cmovnz cmovo cmovpsyn keyword fasmInstr	cmovpe cmovpo cmovs cmovz cmp cmpeqpd cmpeqps cmpeqsd cmpeqsssyn keyword fasmInstr	cmplepd cmpleps cmplesd cmpless cmpltpd cmpltps cmpltsd cmpltsssyn keyword fasmInstr	cmpneqpd cmpneqps cmpneqsd cmpneqss cmpnlepd cmpnleps cmpnlesdsyn keyword fasmInstr	cmpnless cmpnltpd cmpnltps cmpnltsd cmpnltss cmpordpd cmpordpssyn keyword fasmInstr	cmpordsd cmpordss cmppd cmpps cmps cmpsb cmpsd cmpss cmpswsyn keyword fasmInstr	cmpunordpd cmpunordps cmpunordsd cmpunordss cmpxchg cmpxchg8bsyn keyword fasmInstr	comisd comiss cpuid cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2pssyn keyword fasmInstr	cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd cvtps2pi cvtsd2si cvtsd2sssyn keyword fasmInstr	cvtsi2sd cvtsi2ss cvtss2sd cvtss2si cvttpd2dq cvttpd2pi cvttps2dqsyn keyword fasmInstr	cvttps2pi cvttsd2si cvttss2si cwd cwde daa das data dec divsyn keyword fasmInstr	divpd divps divsd divss else emms end enter extrn f2xm1 fabssyn keyword fasmInstr	fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnbsyn keyword fasmInstr	fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcomppsyn keyword fasmInstr	fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffreesyn keyword fasmInstr	ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstpsyn keyword fasmInstr	finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenvsyn keyword fasmInstr	fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisisyn keyword fasmInstr	fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fpremsyn keyword fasmInstr	fprem1 fptan frndint frstor frstpm fsave fscale fsetpm fsinsyn keyword fasmInstr	fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubrsyn keyword fasmInstr	fsubrp ftst fucom fucomi fucomip fucomp fucompp fwait fxamsyn keyword fasmInstr	fxch fxrstor fxsave fxtract fyl2x fyl2xp1 haddpd haddps heapsyn keyword fasmInstr	hlt hsubpd hsubps idiv if imul in inc ins insb insd insw intsyn keyword fasmInstr	int3 into invd invlpg iret iretd iretw ja jae jb jbe jc jcxzsyn keyword fasmInstr	je jecxz jg jge jl jle jmp jna jnae jnb jnbe jnc jne jng jngesyn keyword fasmInstr	jnl jnle jno jnp jns jnz jo jp jpe jpo js jz lahf lar lddqusyn keyword fasmInstr	ldmxcsr lds lea leave les lfence lfs lgdt lgs lidt lldt lmswsyn keyword fasmInstr	load loadall286 loadall386 lock lods lodsb lodsd lodsw loopsyn keyword fasmInstr	loopd loope looped loopew loopne loopned loopnew loopnz loopnzdsyn keyword fasmInstr	loopnzw loopw loopz loopzd loopzw lsl lss ltr maskmovdqu maskmovqsyn keyword fasmInstr	maxpd maxps maxsd maxss mfence minpd minps minsd minss monitorsyn keyword fasmInstr	mov movapd movaps movd movddup movdq2q movdqa movdqu movhlpssyn keyword fasmInstr	movhpd movhps movlhps movlpd movlps movmskpd movmskps movntdqsyn keyword fasmInstr	movnti movntpd movntps movntq movq movq2dq movs movsb movsdsyn keyword fasmInstr	movshdup movsldup movss movsw movsx movupd movups movzx mulsyn keyword fasmInstr	mulpd mulps mulsd mulss mwait neg nop not or org orpd orpssyn keyword fasmInstr	out outs outsb outsd outsw packssdw packsswb packuswb paddbsyn keyword fasmInstr	paddd paddq paddsb paddsw paddusb paddusw paddw pand pandnsyn keyword fasmInstr	pause pavgb pavgusb pavgw pcmpeqb pcmpeqd pcmpeqw pcmpgtbsyn keyword fasmInstr	pcmpgtd pcmpgtw pextrw pf2id pf2iw pfacc pfadd pfcmpeq pfcmpgesyn keyword fasmInstr	pfcmpgt pfmax pfmin pfmul pfnacc pfpnacc pfrcp pfrcpit1 pfrcpit2syn keyword fasmInstr	pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pi2fw pinsrw pmaddwd pmaxswsyn keyword fasmInstr	pmaxub pminsw pminub pmovmskb pmulhrw pmulhuw pmulhw pmullwsyn keyword fasmInstr	pmuludq pop popa popad popaw popd popf popfd popfw popw porsyn keyword fasmInstr	prefetch prefetchnta prefetcht0 prefetcht1 prefetcht2 prefetchwsyn keyword fasmInstr	psadbw pshufd pshufhw pshuflw pshufw pslld pslldq psllq psllwsyn keyword fasmInstr	psrad psraw psrld psrldq psrlq psrlw psubb psubd psubq psubsbsyn keyword fasmInstr	psubsw psubusb psubusw psubw pswapd punpckhbw punpckhdq punpckhqdqsyn keyword fasmInstr	punpckhwd punpcklbw punpckldq punpcklqdq punpcklwd push pushasyn keyword fasmInstr	pushad pushaw pushd pushf pushfd pushfw pushw pxor rcl rcppssyn keyword fasmInstr	rcpss rcr rdmsr rdpmc rdtsc rep repe repne repnz repz retsyn keyword fasmInstr	retd retf retfd retfw retn retnd retnw retw rol ror rsm rsqrtpssyn keyword fasmInstr	rsqrtss sahf sal salc sar sbb scas scasb scasd scasw setasyn keyword fasmInstr	setae setalc setb setbe setc sete setg setge setl setle setnasyn keyword fasmInstr	setnae setnb setnbe setnc setne setng setnge setnl setnlesyn keyword fasmInstr	setno setnp setns setnz seto setp setpe setpo sets setz sfencesyn keyword fasmInstr	sgdt shl shld shr shrd shufpd shufps sidt sldt smsw sqrtpdsyn keyword fasmInstr	sqrtps sqrtsd sqrtss stc std sti stmxcsr store stos stosbsyn keyword fasmInstr	stosd stosw str sub subpd subps subsd subss sysenter sysexitsyn keyword fasmInstr	test ucomisd ucomiss ud2 unpckhpd unpckhps unpcklpd unpcklpssyn keyword fasmInstr	verr verw wait wbinvd wrmsr xadd xchg xlat xlatb xor xorpdsyn keyword fasmPreprocess 	common equ fix forward include local macro purge restoresyn keyword fasmPreprocess	reverse strucsyn keyword fasmDirective 	align binary code coff console discardable display dllsyn keyword fasmDirective	elf entry executable export extern far fixups format guisyn keyword fasmDirective	import label ms mz native near notpageable pe public readablesyn keyword fasmDirective	repeat resource section segment shareable stack timessyn keyword fasmDirective	use16 use32 virtual wdm writeablesyn keyword fasmOperator 	as at defined eq eqtype from mod on ptr rva used syn match	fasmNumericOperator	"[+-/*]"syn match	fasmLogicalOperator	"[=|&~<>]\|<=\|>=\|<>"" numberssyn match	fasmBinaryNumber	"\<[01]\+b\>"syn match	fasmHexNumber		"\<\d\x*h\>"syn match	fasmHexNumber		"\<\(0x\|$\)\x*\>"syn match	fasmFPUNumber		"\<\d\+\(\.\d*\)\=\(e[-+]\=\d*\)\=\>"syn match	fasmOctalNumber		"\<\(0\o\+o\=\|\o\+o\)\>"syn match	fasmDecimalNumber	"\<\(0\|[1-9]\d*\)\>"syn region	fasmComment		start=";" end="$"syn region	fasmString		start="\"" end="\"\|$"syn region	fasmString		start="'" end="'\|$"syn match	fasmSymbol		"[()|\[\]:]"syn match	fasmSpecial		"[#?%$,]"syn match	fasmLabel		"^\s*[^; \t]\+:" hi def link	fasmAddressSizes	typehi def link	fasmNumericOperator	fasmOperatorhi def link	fasmLogicalOperator	fasmOperator hi def link	fasmBinaryNumber	fasmNumberhi def link	fasmHexNumber		fasmNumberhi def link	fasmFPUNumber		fasmNumberhi def link	fasmOctalNumber		fasmNumberhi def link	fasmDecimalNumber	fasmNumber hi def link	fasmSymbols		fasmRegisterhi def link	fasmPreprocess		fasmDirective "  link to standard syn groups so the 'colorschemes' work:hi def link	fasmOperator operatorhi def link	fasmComment  commenthi def link	fasmDirective	preprochi def link	fasmRegister  typehi def link	fasmNumber   constanthi def link	fasmSymbol structurehi def link	fasmString  Stringhi def link	fasmSpecial	specialhi def link	fasmInstr keywordhi def link	fasmLabel labelhi def link	fasmPrefix preproclet b:current_syntax = "fasm"" vim: ts=8 sw=8 :