ultraedit建立asm集成環境

使用環境: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部分沒有做,什麼時候有興趣了,再弄一弄.僅僅方便了一點,不過也不錯!花了我整整一上午的時間,現在開始學習了!

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章