原文地址:http://knol.google.com/k/at-t-asm-syntax-highlight-in-source-insight
步驟:
1.添加新的語言:
a) 開啟 "Options"->"Preference"->"Languages"
b) 點"add",輸入語言名稱"at&t asm"
2.設定關鍵字和屬性
a).建立個文字檔,儲存以下內容
!, Delimiter#, Delimiter%, Delimiter&, Delimiter', Delimiter(, Delimiter), Delimiter*, Delimiter+, Delimiter",", Delimiter-, Delimiter.align, Keyword.ascii, Keyword.BREAK, Keyword.bss, Keyword.byte, Keyword.CODE, Keyword.CONST, Keyword.CONTINUE, Keyword.CREF, Keyword.data, Keyword.DATA?, Keyword.define, Keyword.ELSE, Keyword.ELSEIF, Keyword.ENDIF, Keyword.ENDW, Keyword.ERR, Keyword.ERRB, Keyword.ERRDEF, Keyword.ERRDEFI, Keyword.ERRE, Keyword.ERRIDNI, Keyword.ERRNB, Keyword.ERRNDEF, Keyword.ERRNZ, Keyword.fill, Keyword.globl, Keyword.IF, Keyword.long, Keyword.MODEL, Keyword.NOCREF, Keyword.quad, Keyword.RADIX, Keyword.REPEAT, Keyword.STACK, Keyword.text, Keyword.UNTIL, Keyword.UNTILCXZ, Keyword.WHILE, Keyword.word, Keyword/, Delimiter:, Delimiter;, Delimiter<, Delimiter=, Delimiter>, Delimiter?, Delimiter@CATSTR, Keyword@INSTR, Keyword@SIZESTR, Keyword@SUBSTR, KeywordAAA, KeywordAAD, KeywordAAM, KeywordAAS, KeywordADC, KeywordADD, KeywordADDL, KeywordADDR, KeywordADDW, KeywordAH, KeywordAL, KeywordALIGN, KeywordAND, KeywordANDB, KeywordANDL, KeywordANDW, KeywordARPL, KeywordASSUME, KeywordAX, KeywordBH, KeywordBL, KeywordBOUND, KeywordBP, KeywordBSF, KeywordBSFL, KeywordBSR, KeywordBSWAP, KeywordBT, KeywordBTC, KeywordBTR, KeywordBTRL, KeywordBTS, KeywordBX, KeywordBYTE, KeywordCALL, KeywordCASEMAP, KeywordCATSTR, KeywordCBW, KeywordCDQ, KeywordCH, KeywordCL, KeywordCLC, KeywordCLD, KeywordCLI, KeywordCLTS, KeywordCMC, KeywordCMP, KeywordCMPL, KeywordCMPS, KeywordCMPW, KeywordCMPXCHG, KeywordCOMM, KeywordCS, KeywordCWD, KeywordCWDE, KeywordCX, KeywordDAA, KeywordDAS, KeywordDB, KeywordDD, KeywordDEC, KeywordDF, KeywordDH, KeywordDI, KeywordDIV, KeywordDL, KeywordDQ, KeywordDS, KeywordDT, KeywordDW, KeywordDWORD, KeywordDX, KeywordEAX, KeywordEBP, KeywordEBX, KeywordECHO, KeywordECX, KeywordEDI, KeywordEDX, KeywordEIP, KeywordEND, KeywordENDM, KeywordENDS, KeywordENTER, KeywordEPILOGUE, KeywordEQU, KeywordES, KeywordESC, KeywordESI, KeywordESP, KeywordEXITM, KeywordEXTERN, KeywordEXTERNDEF, KeywordFOR, KeywordFORC, KeywordFS, KeywordFWAIT, KeywordFWORD, KeywordGOTO, KeywordGS, KeywordHLT, KeywordIDIV, KeywordIFB, KeywordIFDEF, KeywordIFNB, KeywordIFNDEF, KeywordIMUL, KeywordIN, KeywordINB, KeywordINC, KeywordINCL, KeywordINCLUDE, KeywordINCLUDELIB, KeywordINCW, KeywordINS, KeywordINSTR, KeywordINT, KeywordINTO, KeywordINVD, KeywordINVLPG, KeywordINVOKE, KeywordINW, KeywordIP, KeywordIRET, ControlIRETD, ControlJA, KeywordJAE, KeywordJB, KeywordJBE, KeywordJC, KeywordJCXZ, ControlJE, KeywordJECXZ, ControlJG, KeywordJGE, KeywordJL, KeywordJLE, KeywordJMP, ControlJMPI, ControlJNA, ControlJNAE, ControlJNB, ControlJNBE, ControlJNC, ControlJNE, ControlJNG, ControlJNGE, ControlJNL, ControlJNLE, ControlJNO, ControlJNP, ControlJNS, ControlJNZ, ControlJO, ControlJP, ControlJPE, KeywordJPO, KeywordJS, KeywordJZ, KeywordLAHF, KeywordLANGUAGE, KeywordLAR, KeywordLDS, KeywordLEA, ControlLEAVE, ControlLES, KeywordLFS, KeywordLGDT, KeywordLGS, KeywordLIDT, KeywordLJMP, KeywordLLDT, KeywordLMSW, KeywordLOCAL, KeywordLOCK, KeywordLODS, KeywordLOOP, KeywordLOOPE, KeywordLOOPNE, KeywordLOOPNZ, KeywordLOOPZ, KeywordLSL, KeywordLSS, KeywordLTR, KeywordMACRO, KeywordMOV, KeywordMOVB, KeywordMOVL, KeywordMOVS, KeywordMOVSX, KeywordMOVW, KeywordMOVZX, KeywordMUL, KeywordNEG, KeywordNOP, KeywordNOSCOPED, KeywordNOT, KeywordNOTL, KeywordOFFSET, KeywordOPTION, KeywordOR, KeywordORG, KeywordOUT, KeywordOUTB, KeywordOUTS, KeywordOUTW, KeywordPOP, KeywordPOPA, KeywordPOPAD, KeywordPOPCONTEXT, KeywordPOPF, KeywordPOPFD, KeywordPOPFL, KeywordPOPFW, KeywordPOPL, KeywordPOPW, KeywordPROC, KeywordPROTO, KeywordPTR, KeywordPUBLIC, KeywordPURGE, KeywordPUSH, KeywordPUSHA, KeywordPUSHAD, KeywordPUSHCONTEXT, KeywordPUSHF, KeywordPUSHFD, KeywordPUSHFL, KeywordPUSHL, KeywordQWORD, KeywordRCL, KeywordRCR, KeywordREAL10, KeywordREAL4, KeywordREAL8, KeywordRECORD, KeywordREP, KeywordREPE, KeywordREPEAT, KeywordREPNE, KeywordREPNZ, KeywordREPT, KeywordREPZ, KeywordRET, KeywordRETF, KeywordROL, KeywordROR, KeywordRORL, KeywordSAHF, KeywordSAL, KeywordSAR, KeywordSBB, KeywordSBYTE, KeywordSCAS, KeywordSCOPED, KeywordSDWOR, KeywordSETAE, KeywordSETB, KeywordSETBE, KeywordSETC, KeywordSETE, KeywordSETG, KeywordSETGE, KeywordSETL, KeywordSETLE, KeywordSETNA, KeywordSETNAE, KeywordSETNB, KeywordSETNC, KeywordSETNE, KeywordSETNG, KeywordSETNGE, KeywordSETNL, KeywordSETNLE, KeywordSETNO, KeywordSETNP, KeywordSETNS, KeywordSETNZ, KeywordSETO, KeywordSETP, KeywordSETPE, KeywordSETPO, KeywordSETS, KeywordSETZ, KeywordSGDT, KeywordSHL, KeywordSHLD, KeywordSHR, KeywordSHRD, KeywordSI, KeywordSIDT, KeywordSIZEOF, KeywordSIZESTR, KeywordSLDT, KeywordSMSW, KeywordSP, KeywordSS, KeywordSTC, KeywordSTD, KeywordSTI, KeywordSTOS, KeywordSTR, KeywordSTRUC, KeywordSTRUCT, KeywordSUB, KeywordSUBSTR, KeywordSWORD, KeywordTBYTE, KeywordTEST, KeywordTESTL, KeywordTEXTEQU, KeywordTYPEDEF, KeywordUNION, KeywordUSES, KeywordVERR, KeywordVERW, KeywordWAIT, KeywordWBINVD, KeywordWORD, KeywordXCHG, KeywordXCHGL, KeywordXLAT, KeywordXLATB, KeywordXOR, KeywordXORL, Keyword[, Delimiter|, Delimiter], Delimiter~, Delimiter
儲存完後,將關鍵字匯入:
點"Options"->"Preference"->"keywords... " ,然後按照以示匯入:
b.設定"Comments and Ranges"
開啟 "Options"->"Languages"->"at&t asm Properties"
c)設定"Custom Parsing"
\([A-Za-z0-9_]+\)=.
^\([_A-Za-z][A-Za-z0-9_]+\):*
3.設定symbol lookups
4.添加檔案類型
點擊"Options"->"Document Options"
點擊"add type..."
按照設定即可
最後,將工程重新解析下,就可以看到效果了