📄 masm.vim
字号:
" Vim syntax file" Language: Microsoft Assembler (80x86)" Maintainer: Rob Brady <robb@datatone.com>" Last Change: $Date: 2001/06/07 21:35:11 $" URL: http://www.datatone.com/~robb/vim/syntax/masm.vim" $Revision: 1.1.1.1 $" For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif version < 600 syntax clearelseif exists("b:current_syntax") finishendifsyn case ignore" syn match masmType "\.word"syn match masmIdentifier "[a-z_$][a-z0-9_$]*"syn match masmLabel "^[A-Z_$][A-Z0-9_$]*:"he=e-1syn match masmDecimal "\d*"syn match masmBinary "[0-1]\+b" "put this before hex or 0bfh dies!syn match masmHexadecimal "[0-9]\x*h"syn match masmFloat "[0-9]\x*r"syn match masmComment ";.*"syn region masmString start=+'+ end=+'+syn keyword masmOperator AND BYTE PTR CODEPTR DATAPTR DUP DWORD EQ FARsyn keyword masmOperator FWORD GE GT HIGH LARGE LE LOW LT MOD NE NEARsyn keyword masmOperator NOT OFFSET OR PROC PWORD QWORD SEG SHORT TBYTEsyn keyword masmOperator TYPE WORD PARAsyn keyword masmDirective ALIGN ARG ASSUME CODESEG COMMsyn keyword masmDirective CONST DATASEG DB DD DF DISPLAY DOSSEG DPsyn keyword masmDirective DQ DT DW ELSE ELSEIF EMUL END ENDIF ENDM ENDPsyn keyword masmDirective ENDS ENUM EQU PROC PUBLIC PUBLICDLL RADIXsyn keyword masmDirective EXTRN FARDATA GLOBAL RECORD SEGMENT SMALLSTACKsyn keyword masmDirective GROUP IF IF1 IF2 IFB IFDEF IFDIF IFDIFIsyn keyword masmDirective IFE IFIDN IFIDNI IFNB IFNDEF INCLUDE INCLUDLIBsyn keyword masmDirective LABEL LARGESTACK STACK STRUC SUBTTL TITLEsyn keyword masmDirective MODEL NAME NOEMUL UNION USES VERSIONsyn keyword masmDirective ORG FLATsyn match masmDirective "\.model"syn match masmDirective "\.186"syn match masmDirective "\.286"syn match masmDirective "\.286c"syn match masmDirective "\.286p"syn match masmDirective "\.287"syn match masmDirective "\.386"syn match masmDirective "\.386c"syn match masmDirective "\.386p"syn match masmDirective "\.387"syn match masmDirective "\.486"syn match masmDirective "\.486c"syn match masmDirective "\.486p"syn match masmDirective "\.8086"syn match masmDirective "\.8087"syn match masmDirective "\.ALPHA"syn match masmDirective "\.CODE"syn match masmDirective "\.DATA"syn keyword masmRegister AX BX CX DX SI DI BP SPsyn keyword masmRegister ES DS SS CSsyn keyword masmRegister AH BH CH DH AL BL CL DLsyn keyword masmRegister EAX EBX ECX EDX ESI EDI EBP ESP" these are current as of the 486 - don't have any pentium manuals handysyn keyword masmOpcode AAA AAD AAM AAS ADC ADD AND ARPL BOUND BSFsyn keyword masmOpcode BSR BSWAP BT BTC BTR BTS BSWAP BT BTC BTRsyn keyword masmOpcode BTS CALL CBW CDQ CLC CLD CLI CLTS CMC CMPsyn keyword masmOpcode CMPS CMPSB CMPSW CMPSD CMPXCHG CWD CWDE DAAsyn keyword masmOpcode DAS DEC DIV ENTER HLT IDIV IMUL IN INC INSsyn keyword masmOpcode INSB INSW INSD INT INTO INVD INVLPG IRETsyn keyword masmOpcode IRETD JA JAE JB JBE JC JCXZ JECXZ JE JZ JGsyn keyword masmOpcode JGE JL JLE JNA JNAE JNB JNBE JNC JNE JNG JNGEsyn keyword masmOpcode JNL JNLE JNO JNP JNS JNZ JO JP JPE JPO JS JZsyn keyword masmOpcode JMP LAHF LAR LEA LEAVE LGDT LIDT LGS LSS LFSsyn keyword masmOpcode LODS LODSB LODSW LODSD LOOP LOOPE LOOPZ LOONEsyn keyword masmOpcode LOOPNE RETF RETNsyn keyword masmOpcode LDS LES LLDT LMSW LOCK LSL LTR MOV MOVS MOVSBsyn keyword masmOpcode MOVSW MOVSD MOVSX MOVZX MUL NEG NOP NOT ORsyn keyword masmOpcode OUT OUTS OUTSB OUTSW OUTSD POP POPA POPDsyn keyword masmOpcode POPF POPFD PUSH PUSHA PUSHAD PUSHF PUSHFDsyn keyword masmOpcode RCL RCR ROL ROR REP REPE REPZ REPNE REPNZsyn keyword masmOpcode RET SAHF SAL SAR SHL SHR SBB SCAS SCASBsyn keyword masmOpcode SCASW SCASD SETA SETAE SETB SETBE SETC SETEsyn keyword masmOpcode SETG SETGE SETL SETLE SETNA SETNAE SETNBsyn keyword masmOpcode SETNBE SETNC SETNE SETNG SETNGE SETNL SETNLEsyn keyword masmOpcode SETNO SETNP SETNS SETNZ SETO SETP SETPE SETPOsyn keyword masmOpcode SETS SETZ SGDT SIDT SHLD SHRD SLDT SMSW STCsyn keyword masmOpcode STD STI STOS STOSB STOSW STOSD STR SUB TESTsyn keyword masmOpcode VERR VERW WAIT WBINVD XADD XCHG XLAT XLATB XOR" floating point coprocessor as of 487syn keyword masmOpFloat F2XM1 FABS FADD FADDP FBLD FBSTP FCHS FCLEXsyn keyword masmOpFloat FNCLEX FCOM FCOMP FCOMPP FCOS FDECSTP FDISIsyn keyword masmOpFloat FNDISI FDIV FDIVP FDIVR FDIVRP FENI FNENIsyn keyword masmOpFloat FFREE FIADD FICOM FICOMP FIDIV FIDIVR FILDsyn keyword masmOpFloat FIMUL FINCSTP FINIT FNINIT FIST FISTP FISUBsyn keyword masmOpFloat FISUBR FLD FLDCW FLDENV FLDLG2 FLDLN2 FLDL2Esyn keyword masmOpFloat FLDL2T FLDPI FLDZ FLD1 FMUL FMULP FNOP FPATANsyn keyword masmOpFloat FPREM FPREM1 FPTAN FRNDINT FRSTOR FSAVEsyn keyword masmOpFloat FNSAVE FSCALE FSETPM FSIN FSINCOS FSQRT FSTsyn keyword masmOpFloat FSTCW FNSTCW FSTENV FNSTENV FSTP FSTSW FNSTSWsyn keyword masmOpFloat FSUB FSUBP FSUBR FSUBRP FTST FUCOM FUCOMPsyn keyword masmOpFloat FUCOMPP FWAIT FXAM FXCH FXTRACT FYL2X FYL2XP1syn match masmOpFloat "FSTSW[ \t]\+AX"syn match masmOpFloat "FNSTSW[ \t]\+AX"" Define the default highlighting." For version 5.7 and earlier: only when not done already" For version 5.8 and later: only when an item doesn't have highlighting yetif version >= 508 || !exists("did_masm_syntax_inits") if version < 508 let did_masm_syntax_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif " The default methods for highlighting. Can be overridden later HiLink masmLabel Label HiLink masmComment Comment HiLink masmDirective Statement HiLink masmOperator Statement HiLink masmString String HiLink masmHexadecimal Number HiLink masmDecimal Number HiLink masmBinary Number HiLink masmFloat Number HiLink masmIdentifier Identifier delcommand HiLinkendiflet b:current_syntax = "masm"" vim: ts=8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -