让editplus支持汇编
By:veizz
Editplus真是太强大了,看看如何支持汇编吧。
前提,我的汇编的编译器,链接器,调试器全在我的文档下的,assem文件夹里。供参考。如下:C:/Documents and Settings/*****/My Documents/assem/
用户工具配置如下:
图片不会插入中……
其中,“命令”为:C:/Documents and Settings/*****/My Documents/assem/ML.EXE
“参数”为:/c /coff /Fl /Zi $(FileName)
“初始目录”为:$(FileDir)
注意,勾选“捕捉输出”。
以上是汇编器的配置。可以生成清单文件(lst)及目标代码文件(obj)。
图片不会插入中……
“命令”为:C:/Documents and Settings/*****/My Documents/assem/link.exe “参数”为:/debug /subsystem:console /entry:start /out:$(FileNameNoExt).exe $(FileNameNoExt).obj "C:/Documents and Settings/*****/My Documents/assem/kernel32.lib" “初始目录”为:$(FileDir) 注意,勾选“捕捉输出”选项。 以上是链接器选项。可生成调试必须文件.ilk和.pdb。还有最终程序exe文件。
图片不会插入中……
“命令”为:C:/Documents and Settings/*****/My Documents/assem/windbg.exe
“参数”为空。
“起始目录”为:$(FileDir)
注意,不要勾选“捕捉输出”选项。
以上为调试器的配置。
上面的工作做完之后,editplus就可以完美支持汇编了,这么小的一个文本编辑器,有这么大的能耐,不能说不强大啊。一直觉得,微软出的最伟大的两个程序,一个是画图,一个是记事本。而记事本最为强大,可以打开任何文件,就算是打开了是乱码也能打开。强大!而editplus不仅能完全实现记事本的所有功能,还可以设置一下,做开发java,汇编,c++等的集成环境。这段是个人感觉。
然后,从别人处转帖的。如何让editplus支持汇编语法高亮。 图片还不会插入中……
然后,浏览,找到这个文件夹。将如下内容复制到记事本中,命名为“asm.stx”,并转移到目的文件夹下。 如图:
这是文件内的内容。 #TITLE=ASM ; ASM syntax file written by kylin. ; This file is required for EditPlus to run correctly. #DELIMITER=,(){}[]-+*/=~!&|<>?:. #QUOTATION1=' #QUOTATION2=" #CONTINUE_QUOTE=n #LINECOMMENT=; #ESCAPE=/ #CASE=y #PREFIX3=$ #PREFIX4=@ #PREFIX5=% #NUMBER_PATTERN=asm #SPECIAL_STX=asm #KEYWORD=Reserved words db dw dd dq mov movsx movzx xchg push pusha pushad pop popa popad in out xlat lea lds les lfs lgs lss lahf sahf pushf pushfd popf popfd add sub adc sbb inc dec mul div imul idiv cbw cwd cwde cdq cmp neg daa das aaa aas aam aad and or xor not test shl sal rol ror rcl rcr shld shrd movs movsb movsw movsd cmps cmpsb cmpsw cmpsd scas scasb scasw scasd lods lodsb lodsw lodsd stos stosb stosw stosd ins insb insw insd outs outsb outsw outsd jmp jc jnc jz je jnz jne js jns jo jno jp jpe jnp jpo ja jneb jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jcxz jecxz loop loopz loope loopnz loopne ret retn retf int into iret iretd set clc stc cmc cld std cli sti hlt wait esc lock nop bt btc btr bts bsf bsr bound enter leave lar lsl lgdt lidt sgdt sidt ltr str lmsw smsw lldt sldt arpl clts verr verw DW DD DQ MOV MOVSX MOVZX XCHG PUSH PUSHA PUSHAD POP POPA POPAD IN OUT XLAT LEA LDS LES LFS LGS LSS LAHF SAHF PUSHF PUSHFD POPF POPFD ADD SUB ADC SBB INC DEC MUL DIV IMUL IDIV CBW CWD CWDE CDQ CMP NEG DAA DAS AAA AAS AAM AAD AND OR XOR NOT TEST SHL SAL ROL ROR RCL RCR SHLD SHRD MOVS MOVSB MOVSW MOVSD CMPS CMPSB CMPSW CMPSD SCAS SCASB SCASW SCASD LODS LODSB LODSW LODSD STOS STOSB STOSW STOSD INS INSB INSW INSD OUTS OUTSB OUTSW OUTSD JMP JC JNC JZ JE JNZ JNE JS JNS JO JNO JP JPE JNP JPO JA JNEB JAE JNB JB JNAE JBE JNA JG JNLE JGE JNL JL JNGE JLE JNG JCXZ JECXZ LOOP LOOPZ LOOPE LOOPNZ LOOPNE RET RETN RETF INT INTO IRET IRETD SET CLC STC CMC CLD STD CLI STI HLT WAIT ESC LOCK NOP BT BTC BTR BTS BSF BSR BOUND ENTER LEAVE LAR LSL LGDT LIDT SGDT SIDT LTR STR LMSW SMSW LLDT SLDT ARPL CLTS VERR VERW #KEYWORD=Register flat stdcall casemap none dup proto call local invoke eax ax ah al ebx bh bl bx ecx cx ch cl edx dx dh dl esi si edi di ebp bp esp sp carry overflow parity sign zero true false FLAT STDCALL CASEMAP NONE DUP PROTO CALL LOCAL INVOKE EAX AX AH AL EBX BH BL BX ECX CX CH CL EDX DX DH DL ESI SI EDI DI EBP BP ESP SP CARRY OVERFLOW PARITY SIGN ZERO TRUE FALSE #KEYWORD=Statements 386 model option data const stack code proc endp struc ends end include includelib if else elseif endif while endw repeat break continue until null 386 MODEL OPTION DATA CONST STACK CODE PROC ENDP STRUC ENDS END INCLUDE INCLUDELIB IF ELSE ELSEIF ENDIF WHILE ENDW REPEAT BREAK CONTINUE UNTIL NULL #KEYWORD=Description ds cs es ss fs gs addr offset byte word dword ptr DS CS ES SS FS GS ADDR OFFSET BYTE WORD DWORD PTR #KEYWORD=Symbols = : @ ( ) , . ; / + - * % #