📄 tasm.vim
字号:
" Vim syntax file" Language: TASM: turbo assembler by Borland" Maintaner: FooLman of United Force <foolman@bigfoot.com>" Last change: 22 aug 2000" 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 ignoresyn match tasmLabel "^[\ \t]*[@a-z_$][a-z0-9_$@]*\ *:"syn keyword tasmDirective ALIAS ALIGN ARG ASSUME %BIN CATSRT CODESEGsyn match tasmDirective "\<\(byte\|word\|dword\|qword\)\ ptr\>"" CALL extended syntaxsyn keyword tasmDirective COMM %CONDS CONST %CREF %CREFALL %CREFREFsyn keyword tasmDirective %CREFUREF %CTLS DATASEG DB DD %DEPTH DF DISPLAYsyn keyword tasmDirective DOSSEG DP DQ DT DW ELSE EMUL END ENDIF" IF XXXXsyn keyword tasmDirective ENDM ENDP ENDS ENUM EQU ERR EVEN EVENDATA EXITCODEsyn keyword tasmDirective EXITM EXTRN FARDATA FASTIMUL FLIPFLAG GETFIELD GLOBALsyn keyword tasmDirective GOTO GROUP IDEAL %INCL INCLUDE INCLUDELIB INSTR IRP"JMPsyn keyword tasmDirective IRPC JUMPS LABEL LARGESTACK %LINUM %LIST LOCALsyn keyword tasmDirective LOCALS MACRO %MACS MASKFLAG MASM MASM51 MODELsyn keyword tasmDirective MULTERRS NAME %NEWPAGE %NOCONDS %NOCREF %NOCTLSsyn keyword tasmDirective NOEMUL %NOINCL NOJUMPS %NOLIST NOLOCALS %NOMACSsyn keyword tasmDirective NOMASM51 NOMULTERRS NOSMART %NOSYMS %NOTRUNC NOWARNsyn keyword tasmDirective %PAGESIZE %PCNT PNO87 %POPLCTL POPSTATE PROC PROCDESCsyn keyword tasmDirective PROCTYPE PUBLIC PUBLICDLL PURGE %PUSHCTL PUSHSTATE"rept, retsyn keyword tasmDirective QUIRKS RADIX RECORD RETCODE SEGMENT SETFIELDsyn keyword tasmDirective SETFLAG SIZESTR SMALLSTACK SMART STACK STARTUPCODEsyn keyword tasmDirective STRUC SUBSTR %SUBTTL %SYMS TABLE %TABSIZE TBLINITsyn keyword tasmDirective TBLINST TBLPTR TESTFLAG %TEXT %TITLE %TRUNC TYPEDEFsyn keyword tasmDirective UDATASEG UFARDATA UNION USES VERSION WAR WHILE ?DEBUGsyn keyword tasmInstruction AAA AAD AAM AAS ADC ADD AND ARPL BOUND BSF BSRsyn keyword tasmInstruction BSWAP BT BTC BTR BTS CALL CBW CLC CLD CLI CLTSsyn keyword tasmInstruction CMC CMP CMPXCHG CMPXCHG8B CPUID CWD CDQ CWDEsyn keyword tasmInstruction DAA DAS DEC DIV ENTER RETN RETF F2XM1syn keyword tasmCoprocInstr FABS FADD FADDP FBLD FBSTP FCHG FCOM FCOM2 FCOMIsyn keyword tasmCoprocInstr FCOMIP FCOMP FCOMP3 FCOMP5 FCOMPP FCOS FDECSTPsyn keyword tasmCoprocInstr FDISI FDIV FDIVP FDIVR FENI FFREE FFREEP FIADDsyn keyword tasmCoprocInstr FICOM FICOMP FIDIV FIDIVR FILD FIMUL FINIT FINCSTPsyn keyword tasmCoprocInstr FIST FISTP FISUB FISUBR FLD FLD1 FLDCW FLDENVsyn keyword tasmCoprocInstr FLDL2E FLDL2T FLDLG2 FLDLN2 FLDPI FLDZ FMUL FMULPsyn keyword tasmCoprocInstr FNCLEX FNINIT FNOP FNSAVE FNSTCW FNSTENV FNSTSWsyn keyword tasmCoprocInstr FPATAN FPREM FPREM1 FPTAN FRNDINT FRSTOR FSCALEsyn keyword tasmCoprocInstr FSETPM FSIN FSINCOM FSQRT FST FSTP FSTP1 FSTP8syn keyword tasmCoprocInstr FSTP9 FSUB FSUBP FSUBR FSUBRP FTST FUCOM FUCOMIsyn keyword tasmCoprocInstr FUCOMPP FWAIT FXAM FXCH FXCH4 FXCH7 FXTRACT FYL2Xsyn keyword tasmCoprocInstr FYL2XP1 FSTCW FCHS FSINCOSsyn keyword tasmInstruction IDIV IMUL IN INC INT INTO INVD INVLPG IRET JMPsyn keyword tasmInstruction LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDTsyn keyword tasmInstruction LMSW LOCK LODSB LSL LSS LTR MOV MOVSX MOVZX MULsyn keyword tasmInstruction NEG NOP NOT OR OUT POP POPA POPAD POPF POPFD PUSHsyn keyword tasmInstruction PUSHA PUSHAD PUSHF PUSHFD RCL RCR RDMSR RDPMC RDTSCsyn keyword tasmInstruction REP RET ROL ROR RSM SAHF SAR SBB SGDT SHL SAL SHLDsyn keyword tasmInstruction SHR SHRD SIDT SMSW STC STD STI STR SUB TEST VERRsyn keyword tasmInstruction VERW WBINVD WRMSR XADD XCHG XLAT XORsyn keyword tasmMMXinst EMMS MOVD MOVQ PACKSSDW PACKSSWB PACKUSWB PADDBsyn keyword tasmMMXinst PADDD PADDSB PADDSB PADDSW PADDUSB PADDUSW PADDWsyn keyword tasmMMXinst PAND PANDN PCMPEQB PCMPEQD PCMPEQW PCMPGTB PCMPGTDsyn keyword tasmMMXinst PCMPGTW PMADDWD PMULHW PMULLW POR PSLLD PSLLQsyn keyword tasmMMXinst PSLLW PSRAD PSRAW PSRLD PSRLQ PSRLW PSUBB PSUBDsyn keyword tasmMMXinst PSUBSB PSUBSW PSUBUSB PSUBUSW PSUBW PUNPCKHBWsyn keyword tasmMMXinst PUNPCKHBQ PUNPCKHWD PUNPCKLBW PUNPCKLDQ PUNPCKLWDsyn keyword tasmMMXinst PXOR"FCMOVsyn match tasmInstruction "\<\(CMPS\|MOVS\|OUTS\|SCAS\|STOS\|LODS\|INS\)[BWD]"syn match tasmInstruction "\<\(CMOV\|SET\|J\)N\=[ABCGLESXZ]\>"syn match tasmInstruction "\<\(CMOV\|SET\|J\)N\=[ABGL]E\>"syn match tasmInstruction "\<\(LOOP\|REP\)N\=[EZ]\=\>"syn match tasmRegister "\<[A-D][LH]\>"syn match tasmRegister "\<E\=\([A-D]X\|[SD]I\|[BS]P\)\>"syn match tasmRegister "\<[C-GS]S\>"syn region tasmComment start=";" end="$""HACK! comment ? ... selectionsyn region tasmComment start="comment \+\$" end="\$"syn region tasmComment start="comment \+\~" end="\~"syn region tasmComment start="comment \+#" end="#"syn region tasmString start="'" end="'"syn region tasmString start='"' end='"'syn match tasmDec "\<-\=[0-9]\+\.\=[0-9]*\>"syn match tasmHex "\<[0-9][0-9A-F]*H\>"syn match tasmOct "\<[0-7]\+O\>"syn match tasmBin "\<[01]\+B\>"" 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_tasm_syntax_inits") if version < 508 let did_tasm_syntax_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif HiLink tasmString String HiLink tasmDec Number HiLink tasmHex Number HiLink tasmOct Number HiLink tasmBin Number HiLink tasmInstruction Keyword HiLink tasmCoprocInstr Keyword HiLink tasmMMXInst Keyword HiLink tasmDirective PreProc HiLink tasmRegister Identifier HiLink tasmProctype PreProc HiLink tasmComment Comment HiLink tasmLabel Label delcommand HiLinkendiflet b:curret_syntax = "tasm"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -