现在的位置: 首页 > 综合 > 正文

ultraedit建立asm集成环境

2018年05月03日 ⁄ 综合 ⁄ 共 3588字 ⁄ 字号 评论关闭

使用环境:winxp+ultraedit 14.20.1.1008版本+masm5.0

 

(1)ue的环境变量

*注:在UltraEdit工具配置里%F表示当前文件名,%P表示当然路径,%N表示当前文件名,%E表示当然文件的扩展名。

*以F:/ASM/lx000.asm为例:
*%F = F:/ASM/lx000.asm
*%P = F:/ASM/
*%N = lx000
*%E = .asm
*详细内容请参考UltraEdit Help

(2)高级-->工具栏配置-->插入

[编译]工具的实现

1命令

菜单项目名称:编译(&C)

命令行: C:/masm5/MASM.EXE %F %P%N.OBJ;   --注意:路径(C:/masm5/)这个要自己设置,我的机子是这样的.机子不同有可能不同的

2选项: 保存活动文件

3输出: 输出到列表框

 

[连接]、[调试]工具的设置类似.

[连接]:C:/masm5/LINK.EXE %P%N.OBJ,%P%N.EXE;

[调试]:debug %P%N.EXE

注意:命令行后面的分号一定要加上的.

 

保存设置后,可以发现在高级下面多了三个选项(编译、连接、运行).可以把它们做成一个工具栏,像speedbutton一样.右键工具栏-->自定义工具栏-->新建工具栏asm-->把用户工具1,2,3放到asm工具栏下面.保存,显示asm工具栏

OK!大功告成!现在就可以尝试一段代码,然后直接在工具栏上点击任务1,2,3.无需重复在命令行下面进行操作了.

 

(3)asm语法高亮显示

一般而言,ue不自带asm的语法高亮显示,可以自己添加一下.

高级-->配置-->编辑器显示-->语法着色-->字词列表完整路径名称-->打开

 

/L15"ASM" Nocase Line Comment = ; File Extensions = ASM INC DEF
/Delimiters = ~!%&^*()-+=|//{}[]:;"'<> ,           
/Function String = "^(%[a-zA-Z_@?$]+[ ^t]^)+proc+[ ^t^p]"
/C1"Opcodes"
aaa aad aam aas adc add and arpl
bound bsf bsr bswap bt btc btr
call cbw cwd cdq clc cld cli clts cmc cmova cmovae cmovb cmovbe cmovc cmove
cmovg cmovge cmovl cmovle cmovna cmovnae cmovnb cmovnbe cmovnc cmovne cmovng
cmovnge cmovnl cmovnle cmovno cmovnp cmovns cmovnz cmovo cmovpo cmovs comvz
cmp cmpsb cmpsd cmpxchg cmpxchg8b cpuid
daa das dec div dbld dbstp
emms enter
f2xm1 fabs fadd faddp fiadd fchs fclex fnclex fcmovb fcmove fcmovbe fcmovu
fcmovnb fcmovne fcmovnbe fcmovnu fcom fcomp fcompp fcomi fcomip fcos fdecstp
fdiv fdivp fidiv fdivr fdivrp fidivr ffree ficom ficomp fild fincstp finit fninit
fist fistp fld fld1 fldl2t fld2e fldpi fldlg2 fldln2 fldz fldcq fldenv
fmul fmulp fimul fnop fpatan fprem fprem1 fptan frndint frstor fsave fnsave
fscale fsin fsincos fsqrt fst fstp fstcw fnstcw fstenv fnstenv fstsw fnstsw fsub
fsubp fisub fsubr fsubrp fisubr ftst fucom fucomp fucompp fxam fxch fxtract
fyl2x fyl2xp1
hlt
idiv imul in inc ins int into invd invlpg iretd
ja jae jbe jc jecxz je jg jge jl jle jne jno jns jo
jpe jpo js ja jae jb jbe je jg jge jl jle jne jno jns jo
jpe jpo js jmp
lahf lar lds lea leave les lfs lgs lgdt lidt lldt lmsw
lock lods loop loope loopz loopne loopnz lsl lss ltr
mov movd movq movs movsx mul
neg nop not
or out outs
packsswb packssdw packuswb paddb paddw paddd paddsb paddsw paddusb paddusw
pand pandn pcmpeqb pcmpeqw pcmpeqd pcmpgtb pcmpgtw pcmpgtd pmaddwd pmulhw
pmullw pop popad popfd por psllw pslld psllq psraw psrad psrlw psrld psrlq
psubb psubw psubd psubsb psubsw psubusb psubusw punpckhbw punpckhwd
punpckhdq punpcklbw punpcklwd punpckldq push pushad pushfd pxor
rcl rcr rol ror rdmsr rdpmc rdtsc rep ret
setae setb sete setg setge setl setle setne setno setns seto setpe setpo
sets sgdt sidt shld shld shrd sldt smsw stc std sti str sub
stos cmps scas cmps ret rsm sahf sal sar shl shr sbb seta
test
ud2
verr verw
wait fwait wbinvd wrmsr
xadd xchg xlat xor
/C2"Registers"
al ah ax
bp bh bl bx
cl cx ecx ch
dl dx di dh
ecx edx ebx eax esp ebp esi edi
sp si st st(0) st(1) st(2) st(3) st(4) st(5) st(6) st(7)
mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7
xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7
/C3"Reserved words 1"
.CODE .CONST .CONTINUE .CREF
.DATA .DATA?
.ERR .ERRB .ERRNB .ERRDEF .ERRNDEF .ERRDIF .ERRIDN .ERRE .ERRNZ .ELSE .ELSEIF
.ENDIF .ENDW .UNTIL
.IF
.LIST .LISTALL .LISTIF .LISTMACRO .LISTMACROALL
.MODEL .NOLIST .NOLISTIF .NOLISTMACRO
.RADIX .REPEAT
.TFCOND
.WHILE
ALIGN ASSUME
BREAK
COMMENT CASEMAP
DOTNAME NODOTNAME
ECHO END ENDM EQU ENDP EXITM EXTERNDEF EXTERN EMULATOR EPILOGUE
EXPR16 EXPR32 ENDS ENDIF ENDW
FOR FORC
GOTO
IF INCLUDE INCLUDELIB INVOKE
LABEL LOCAL LJMP LANGUAGE
MACRO
NOREADONLY NOSCOPED NOLJMP NOEMULATOR NOKEYWORD NOSIGNEXTEND
OPTION OFFSET ORG
PROLOGUE PROC PROC PROTO PUBLIC PURGE PUSHCONTEXT POPCONTEXT
READONLY RECORD REPEAT
SCOPED SEGMENT STRUCT
TYPEDEF TEXTEQU
UNION USES
WHILE
/C4"Reserved words 2"
ADDR
BYTE
CATSTRINSTR
DUP DB DW DD DF DQ DT DWORD
FWORD
HIGH HIGHWORD
LOW LOWWORD LENGTHOF LENGTH LROFFSET
MASK
NULL
OFFSET OPATTR
PTR
QWORD
REAL4 REAL8 REAL10
SIZEOF SIZE SHORT SIZESTR SUBSTR SBYTE SWORD SDWORD STDCALL
THIS TYPE TBYTE
WIDTH WORD
/C5"Operators"
!
%
&
*
+
,
-
// /
>
=
<
|

 

注意:红色的部分可能有所不同(我的ue里面:这个上面有L14,所以这个就做为L15了)

 

PS:debug部分没有做,什么时候有兴趣了,再弄一弄.仅仅方便了一点,不过也不错!花了我整整一上午的时间,现在开始学习了!

 

 

 

抱歉!评论已关闭.