让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
=
:
@
(
)
,
.
;
/
+
-
*
%
#