在网上找了一下,没有找到现成的步骤,自己对照着cao_cong老兄的说明弄了好久,现在总算成功了 ,虽然还有个地方不算太完美,但是不敢独享,拿出来给诸位同仁分享一下。有什么需要改进的,请告诉我一下
把以下内容存到txt文档里面,然后再把该文档重命名,例如masm16.ini
==============================================
[Description]
1=微软宏汇编系统\r\n支持16位asm
[Environment]
;1=path,c:\masm32\bin;C:\Program Files\Microsoft Visual Studio\VC98\Include;C:\Program Files\Microsoft Visual Studio\VC98\Bin;C:\Program Files\Microsoft Visual Studio\VB98;
1=path,c:\masm32\bin;
[CharTab]
2=0251222522222232;20-2F
3=1111111111242221;30-3F
[Open]
0="汇编源文件 (*.asm;*.inc),*.asm;*.inc"
1="资源文件 (*.rc),*.rc"
2="文本文件 (*.txt),*.txt"
3="所有文件 (*.*),*.*"
src="汇编文件 (*.asm),*.asm,asm"
hdr="头文件 (*.inc),*.inc,inc"
mod="模块 (*.asm),*.asm,asm"
[CodeMacro]
;KeyWord,InsertBeforeActiveLine,InsertAfterActiveLine
;{I}=Copy indent from keyword line
;{C}=Cr
;{S}=Space
;{T}=Tab
;{$}=Copy Proc/Struct Name
;The macros are set up to assume AutoIndent on
1=.if,{T},{C}{I}.endif
2=.else,{T},
3=.elseif,{T},
4=.while,{T},{C}{I}.endw
5=$ macro,{T},{C}{I}endm
6=$ proc,{T}{C}{I}{T},{C}{I}{T}ret{C}{C}{I}{$} endp
7=$ struct,{T},{C}{I}{$} ends
8=$ struc,{T},{C}{I}{$} ends
9=Method,{I}{T}SetObject EDX{C}{I}{T},{C}{I}MethodEnd
10=Object,{I}{T},{C}{I}ObjectEnd
[Code]
Skip={C},option,@@,include,includelib
Code=? endp,$ proc
Const={C},$ equ,$ =,$ textequ
Data={C},$ db,$ dw,$ dd,$ dq,$ df,$ dt,$ byte,$ word,$ dword,$ qword,$ real4,$ real8,$ tbyte
Macro=endm,$ macro
Struct=? ends,$ struct,$ struc,$ union
Label={C},$ :
Local={C},local $
Other=Methods,10,Objects,11
Methods=MethodEnd,Method $
Objects=ObjectEnd,Object $
[CodeBlock]
1=$ proc,? endp,,,6
2=.if,.endif,.elseif,.else,0
3=.while,.endw,.break,,0
4=switch,endsw,case,default,0
5=? struct,? ends,,,2
6=? struc,? ends,,,2
7=? union,? ends,,,2
8=$ macro,endm,,,14
9=.code,,,,16
10=.data,,,,16
11=.data?,,,,16
12=.const,,,,16
13=BEGIN,END,,,0,1
14=Method,MethodEnd,,,6
15=Object,ObjectEnd,,,4
16=;##\,;##/,,,4
17=comment,,,,32
[Api]
Trig=invoke,func(,call,$invoke(
Call=Masm\masmApiCall.api,Masm\masmStdlib.api,Masm\masmCryptoHash.api
Const=Masm\masmApiConst.api
Struct=Masm\masmApiStruct.api
Word=Masm\masmApiWord.api
Message=Masm\masmMessage.api
Type=Masm\masmType.api
inc=include
lib=includelib
Array=Masm\masmArray.api
[Edit]
Font=宋体
FontHeight=-16
FontWeight=400
FontItalic=0
FontCharSet=134
TxtFont=宋体
TxtFontHeight=-16
TxtFontWeight=400
TxtFontCharSet=134
TabSize=8
Backup=9
AutoSave=1
BacupPath=$P\Bak\
AutoIndent=1
ApiList=1
ApiToolTip=1
Properties=1
MouseWheel=1
SaveSize=1
Maximize=1
ApiConst=1
CodeWrite=1
TabToSpc=0
ApiStruct=1
PrnFont=宋体
PrnFontHeight=-16
PrnFontWeight=400
PrnFontCharSet=134
PrnPage=20990,29690,1000,1000,1000,1000,0
PrnOption=2,0,1,1,1
PrnColor=0,32768,8421504,255,65280,10485760,10485760,10485760,10485760,10485760,10485760,10485760,10485760,10485760,10485760,10485760,10485760,10485760,10485760,10485760,10485760
ApiWordConv=1
ApiWordLocal=1
CodeFiles=.asm.inc.rc.tpl.rad.def.api.nsi.
ProcsToApi=1
ProcInSBar=1
CmntBlock=comment +,-
LnrFont=宋体
LnrFontHeight=-16
TxtFontItalic=0
ApiShiftSpace=1
LnrWidth=4
LnrOnOpen=0
PageSize=63
OpenCollapsed=0
LnSpc=0
AutoBrackets=1
CodeTooltip=1
HexFont=新宋体
HexFontHeight=-16
HexFontWeight=400
HexFontItalic=0
HexFontCharSet=134
DlgFont=宋体
DlgFontHeight=-12
DlgFontWeight=400
DlgFontItalic=0
DlgFontCharSet=134
ToolFont=宋体
ToolFontHeight=-12
ToolFontWeight=400
ToolFontItalic=0
ToolFontCharSet=134
ThreadBuild=1
ChangeNotify=1
HiliteLine=0
EnterOnTab=0
HiliteCmnt=0
BraceMatch=({[,)}],\,
[Dialog]
Grid=1
GridX=3
GridY=3
SnapToGrid=1
ShowSize=1
SaveRC=1
SimpleProperty=0
DlgID=1000
CtrlID=1001
[Error]
BookMark=3
Text=$R\masm\error.txt
[Paths]
$A=$R\Masm32
$B=$A\Bin
$D=$R\AddIns
$H=$A\Help
$I=$A\Include
$L=$A\Lib
$P=$R\Masm\Projects
$S=$R\Masm\Sniplets
$T=$R\Masm\Templates
$M=$R\Masm\Macro
$E=$R\OllyDBG
[MakeFiles]
0=.rap
1=.rc
2=.asm
3=.obj
4=.res
5=.exe
6=.def
7=.dll
8=.txt
9=.lib
10=.mak
11=.hla
12=.com
13=.ocx
14=.idl
15=.tlb
16=.sys
[Project]
Type=Win32 App,Console App,Dll Project,Ocx Project,LIB Project,NMAKE Project,Win32 App (no res),Dos App,Dos App (.com),Driver (.sys)
Files=Asm,Inc,Rc,Def,Txt,Mak,idl,rgs
Folders=Bak,Mod,Res
MenuMake=编译资源脚本,编译,连接,构建,构建并运行,运行,在调试器中运行,全部构建并运行,编译模块,编译 IDL
Group=1
GroupExpand=1
[MakeDefNoProject]
MenuMake=0,1,1,1,1,1,1,1,1,0
1=
2=$.obj,O,$B\ML.EXE /c /Cp /nologo /I"$I",$.asm
3=$.exe,O;,$B\DOSLNK.EXE,$.obj
4=0,0,$D\RunStub,5
5=
6=*.obj,O,$B\ML.EXE /c /Cp /nologo /I"$I",*.asm
7=0,0,$B\CV.EXE,$.exe
11=
12=3,O,$B\ML.EXE /c /Cp /Zi /Zd /Zm /Fl /nologo /I"$I",2
13=5,O;,$B\DOSLNK.EXE /CODEVIEW,3
14=0,0,$D\RunStub,5
15=
16=*.obj,O,$B\ML.EXE /c /Cp /Zi /Zd /Zm /Fl /nologo /I"$I",*.asm
17=0,0,$B\CV.EXE,5
[Win32 App]
Files=1,1,1,0,0
Folders=1,0,1
MenuMake=1,1,1,1,1,1,1,1,0,0
;x=FileToDelete/CheckExistsOnExit,
;(O)utput/(C)onsole/0,Command,
;MakeFile1[,MakeFile2[,MakeFile3...]]
1=4,O,$B\RC.EXE /v,1
2=3,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",2
3=5,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"$L" /OUT:"$5",3,4
4=0,0,,5
5=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
6=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
7=0,0,"$E\OllyDbg",5
11=4,O,$B\RC.EXE /v,1
12=3,O,$B\ML.EXE /c /coff /Cp /Zi /nologo /I"$I",2
13=5,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /DEBUG /VERSION:4.0 /LIBPATH:"$L" /OUT:"$5",3,4
14=0,0,,5
15=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
16=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
17=0,0,"$E\OllyDbg",5
[Console App]
Files=1,1,0,0,0
Folders=1,0,0
MenuMake=0,1,1,1,1,1,1,1,0,0
;x=FileToDelete/CheckExistsOnExit,
;(O)utput/(C)onsole/0,Command,
;MakeFile1[,MakeFile2[,MakeFile3...]]
1=4,O,$B\RC.EXE /v,1
2=3,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",2
3=5,O,$B\LINK.EXE /SUBSYSTEM:CONSOLE /RELEASE /VERSION:4.0 /LIBPATH:"$L" /OUT:"$5",3
4=0,0,$D\RunStub,5
5=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
6=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
7=0,0,"$E\OllyDbg",5
11=4,O,$B\RC.EXE /v,1
12=3,O,$B\ML.EXE /c /coff /Cp /Zi /nologo /I"$I",2
13=5,O,$B\LINK.EXE /SUBSYSTEM:CONSOLE /DEBUG /VERSION:4.0 /LIBPATH:"$L" /OUT:"$5",3
14=0,0,$D\RunStub,5
15=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
16=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
17=0,0,"$E\OllyDbg",5
[Dll Project]
Files=1,1,0,1,0
Folders=1,0,0
MenuMake=0,1,1,1,0,0,0,0,0,0
;x=MakeFileToDelete/CheckExistsOnExit,
;(O)utput/(C)onsole/0,Command,
;MakeFile1[,MakeFile2[,MakeFile3...]]
1=4,O,$B\RC.EXE /v,1
2=3,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",2
3=7,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /DLL /DEF:$6 /LIBPATH:"$L" /OUT:"$7",3
4=0,0,,5
5=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
6=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
7=0,0,"$E\OllyDbg",5
11=4,O,$B\RC.EXE /v,1
12=3,O,$B\ML.EXE /c /coff /Cp /Zi /nologo /I"$I",2
13=7,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /DEBUG /DLL /DEF:$6 /LIBPATH:"$L" /OUT:"$7",3
14=0,0,,5
15=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
16=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
17=0,0,"$E\OllyDbg",5
[Ocx Project]
Files=1,1,1,1,0,0,1,1
Folders=1,0,1
MenuMake=1,1,1,1,0,0,0,0,0,1
;x=MakeFileToDelete/CheckExistsOnExit,
;(O)utput/(C)onsole/0,Command,
;MakeFile1[,MakeFile2[,MakeFile3...]]
1=4,O,$B\RC.EXE /v,1
2=3,O,$B\ML.EXE /nologo /c /Fl /Sn /coff /Sa /I"$I",2
3=13,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /DLL /DEF:$6 /LIBPATH:"$L" /OUT:"$13",3,4
4=0,0,,5
5=15,OT,MIDL.EXE /tlb,15,14
6=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
7=0,0,"$E\OllyDbg",5
11=4,O,$B\RC.EXE /v,1
12=3,O,$B\ML.EXE /nologo /c /Fl /Sn /coff /Sa /I"$I",2
13=13,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /DLL /DEF:$6 /LIBPATH:"$L" /OUT:"$13",3,4
14=0,0,,5
15=15,OT,MIDL.EXE /tlb,15,14
16=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
17=0,0,"$E\OllyDbg",5
;Section added by Irving W. - For LIB projects
[LIB Project]
Files=1,1,0,1,0
Folders=1,0,0
MenuMake=0,1,1,1,0,0,0,0,0,0
;x=MakeFileToDelete/CheckExistsOnExit,
;(O)utput/(C)onsole/0,Command,
;MakeFile1[,MakeFile2[,MakeFile3...]]
1=4,O,$B\RC.EXE /v,1
2=3,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",2
3=9,O,$B\LIB.EXE,3
4=0,0,,5
5=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
6=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
7=0,0,"$E\OllyDbg",5
11=4,O,$B\RC.EXE /v,1
12=3,O,$B\ML.EXE /c /coff /Cp /Zi /nologo /I"$I",2
13=9,O,$B\LIB.EXE,3
14=0,0,,5
15=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
16=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
17=0,0,"$E\OllyDbg",5
;Section added by bitRAKE. - For NMAKE projects
[NMAKE Project]
Files=1,1,1,0,0,1
Folders=1,1,1
MenuMake=0,1,0,0,0,1,0,0,0,0
;x=FileToDelete/CheckExistsOnExit,
;(O)utput/(C)onsole/0,Command,
;MakeFile1[,MakeFile2[,MakeFile3...]]
1=
2=5,O,$B\NMAKE.EXE /f,10
3=
4=0,0,,5
5=
6=
7=0,0,"$E\OllyDbg",5
11=
12=5,O,$B\NMAKE.EXE /f,10
13=
14=0,0,,5
15=
16=
17=0,0,"$E\OllyDbg",5
[Win32 App (no res)]
Files=1,1,0,0,0
Folders=1,0,0
MenuMake=0,1,1,1,1,1,1,0,0,0
;x=FileToDelete/CheckExistsOnExit,
;(O)utput/(C)onsole/0,Command,
;MakeFile1[,MakeFile2[,MakeFile3...]]
1=4,O,$B\RC.EXE /v,1
2=3,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",2
3=5,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"$L" /OUT:"$5",3
4=0,0,,5
5=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
6=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
7=0,0,"$E\OllyDbg",5
11=4,O,$B\RC.EXE /v,1
12=3,O,$B\ML.EXE /c /coff /Cp /Zi /nologo /I"$I",2
13=5,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /DEBUG /VERSION:4.0 /LIBPATH:"$L" /OUT:"$5",3
14=0,0,,5
15=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
16=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
17=0,0,"$E\OllyDbg",5
[Dos App]
Files=1,0,0,0,0
Folders=1,0,0
MenuMake=0,1,1,1,1,1,0,0,0,0
1=
2=3,O,$B\ML.EXE /c /Cp /nologo /I"$I",2
3=5,O;,$B\DOSLNK.EXE,3
4=0,0,$D\RunStub,5
5=
6=*.obj,O,$B\ML.EXE /c /Cp /nologo /I"$I",*.asm
7=0,0,$B\CV.EXE,5
11=
12=3,O,$B\ML.EXE /c /Cp /Zi /Zd /Zm /Fl /nologo /I"$I",2
13=5,O;,$B\DOSLNK.EXE /CODEVIEW,3
14=0,0,$D\RunStub,5
15=
16=*.obj,O,$B\ML.EXE /c /Cp /Zi /Zd /Zm /Fl /nologo /I"$I",*.asm
17=0,0,$B\CV.EXE,5
[Dos App (.com)]
Files=1,0,0,0,0
Folders=1,0,0
MenuMake=0,1,1,1,1,1,0,0,0,0
1=
2=3,O,$B\ML.EXE /c /Cp /nologo /I"$I",2
3=12,O;,$B\DOSLNK.EXE /TINY,3
4=0,0,,12
5=
6=*.obj,O,$B\ML.EXE /c /Cp /nologo /I"$I",*.asm
7=0,0,$B\CV.EXE,12
11=
12=3,O,$B\ML.EXE /c /Cp /Zi /Zd /Zm /Fl /nologo /I"$I",2
13=12,O;,$B\DOSLNK.EXE /TINY /CODEVIEW,3
14=0,0,,12
15=
16=*.obj,O,$B\ML.EXE /c /Cp /Zi /Zd /Zm /Fl /nologo /I"$I",*.asm
17=0,0,$B\CV.EXE,12
[Driver (.sys)]
Files=1,1,0,0,0
Folders=1,0,0
MenuMake=0,1,1,0,0,0,0,0,0,0
;x=FileToDelete/CheckExistsOnExit,
;(O)utput/(C)onsole/0,Command,
;MakeFile1[,MakeFile2[,MakeFile3...]]
1=4,O,$B\RC.EXE /v,1
2=3,O,$B\ML.EXE /nologo /c /coff /I"$I",2
3=16,O,$B\LINK.EXE /nologo /driver /base:0x10000 /align:32 /subsystem:native /out:"$16",3
4=0,0,,5
5=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
6=*.obj,O,$B\ML.EXE /c /coff /nologo /I"$I",*.asm
7=0,0,"$E\OllyDbg",5
11=4,O,$B\RC.EXE /v,1
12=3,O,$B\ML.EXE /nologo /c /coff /I"$I",2
13=16,O,$B\LINK.EXE /nologo /driver /base:0x10000 /align:32 /subsystem:native /out:"$16",3
14=0,0,,5
15=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
16=*.obj,O,$B\ML.EXE /c /coff /nologo /I"$I",*.asm
17=0,0,"$E\OllyDbg",5
[Empty make.bat]
Files=0,0,0,0,0
Folders=1,0,0
MenuMake=0,0,0,1,1,1,1,0,0,0
;x=FileToDelete/CheckExistsOnExit,
;(O)utput/(C)onsole/0,Command,
;MakeFile1[,MakeFile2[,MakeFile3...]]
1=0
2=0
3=5,O,make.bat
4=0,0,,5
5=0
6=0
7=0,0,"$E\OllyDbg",5
[MenuMake]
1=编译资源脚本(&C),372,M,1
2=编译(&A),116,M,2
3=连接(&L),1652,M,3
4=构建(&B),1396,M,2,3
5=-,0,M,
6=构建并运行(&G),628,M,2,3,4
7=-,0,M,
8=运行(&R),884,M,4
9=在调试器中运行(&D),580,M,7
10=-,0,M,
11=全部构建并运行(&A),1140,M,1,2,3,4
12=-,0,M,
13=编译模块(&M),0,M,6
Ver=100
[Color]
UseColor=1
DivLine=1
NoFlicker=0
Back=2039583
Fore=12632256
SelBack=16711680
SelText=16777215
HiLine1=6316128
HiLine2=12644544
HiLine3=4605510
Bar=12550399
BarPen=8421504
LnrFontColor=8388608
Cmnt=8454143
Str=16777215
Oper=2631935
C0=8454016
C1=16777088
C2=16744448
C3=12615935
C4=12615808
C5=11184640
C6=4227327
C7=16711935
C8=33488896
C9=16711808
C10=285147136
C11=16711680
C12=16711680
C13=16711680
C14=16711680
C15=16711680
Output=12058623
Project=12058623
Property=12058623
Dialog=8421376
CustColors=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Outputtext=0
Projecttext=0
Propertytext=0
CmntBack=2039583
StrBack=2039583
NumBack=2039583
OperBack=2039583
B0=2039583
B1=2039583
B2=2039583
B3=2039583
B4=2039583
B5=2039583
B6=2039583
B7=2039583
B8=2039583
B9=2039583
B10=2039583
B11=2039583
B12=2039583
B13=2039583
B14=2039583
B15=2039583
[KeyWords]
;Registers
C0=AH AL AX BH BL BP BX CH CL CR0 CR2 CR3 CS CX DH DI DL DR0 DR1 DR2 DR3 DR6 DR7 DS DX EAX EBP EBX ECX EDI EDX ES ESI ESP FS GS MM0 MM1 MM2 MM3 MM4 MM5 MM6 MM7 SI SP SS ST TR3 TR4 TR5 TR6 TR7 XMM0 XMM1 XMM2 XMM3 XMM4 XMM5 XMM6 XMM7
;Instructions
C1=ADC ADD AND ARPL BOUND BSF BSR BSWAP BT BTC BTR BTS CALL CBW 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 CMOVP CMOVPE CMOVPO CMOVS CMOVZ CMP CMPS CMPSB CMPSD CMPSW CMPXCHG CMPXCHG8B CPUID CWD CWDE DAS DEC DIV DAA ENTER HLT IDIV IMUL IN INC INS INSB INSD INSW INT INTO INVD INVLPG IRET IRETD IRETDF IRETF JA JAE JB JBE JC JCXZ JE JECXZ JG JGE JL JLE JMP JNA JNAE JNB JNBE JNC JNE JNG JNGE JNL JNLE JNO JNP JNS JNZ JO JP JPE JPO JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOCK LODS LODSB LODSD LODSW LOOP LOOPD LOOPE LOOPED LOOPEW LOOPNE LOOPNED LOOPNEW LOOPNZ LOOPNZD LOOPNZW LOOPW LOOPZ LOOPZD LOOPZW LSL LSS LTR MOV MOVS MOVSB MOVSD MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OUT OUTS OUTSB OUTSD OUTSW POP POPA POPAD POPF POPFD PUSH PUSHA PUSHAD PUSHAW PUSHD PUSHF PUSHFD PUSHW RCL RCR RDMSR RDTSC REP REPE REPNE REPNZ REPZ RET RETF RETN ROL ROR RSM SAHF SAL SAR SBB SCAS SCASB SCASD SCASW SETA SETAE SETB SETBE SETC SETE SETG SETGE SETL SETLE SETNA SETNAE SETNB SETNBE SETNC SETNE SETNG SETNGE SETNL SETNLE SETNO SETNP SETNS SETNZ SETO SETP SETPE SETPO SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW STC STD STI STOS STOSB STOSD STOSW STR SUB TEST VERR VERW WAIT WBINVD WRMSR XADD XCHG XLAT XLATB XOR AAA AAD AAM AAS
;Instructions
C2=F2XM1 FABS FADD FADDP FBLD FBSTP FCHS FCLEX FCMOVA FCMOVAE FCMOVB FCMOVBE FCMOVE FCMOVNA FCMOVNAE FCMOVNB FCMOVNBE FCMOVNE FCMOVNU FCMOVU FCOM FCOMI FCOMIP FCOMP FCOMPP FCOS FDECSTP FDISI FDIV FDIVP FDIVR FDIVRP FENI FFREE FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FINCSTP FINIT FIST FISTP FISUB FISUBR FLD FLD1 FLDCW FLDENV FLDENVD FLDENVW FLDL2E FLDL2T FLDLG2 FLDLN2 FLDPI FLDZ FMUL FMULP FNCLEX FNDISI FNENI FNINIT FNOP FNSAVE FNSAVED FNSAVEW FNSTCW FNSTENV FNSTENVD FNSTENVW FNSTSW FPATAN FPREM FPREM1 FPTAN FRNDINT FRSTOR FRSTORD FRSTORW FSAVE FSAVED FSAVEW FSCALE FSETPM FSIN FSINCOS FSQRT FST FSTCW FSTENV FSTENVD FSTENVW FSTP FSTSW FSUB FSUBP FSUBR FSUBRP FTST FUCOM FUCOMI FUCOMIP FUCOMP FUCOMPP FWAIT FXAM FXCH FXTRACT FYL2X FYL2XP1
C3=EMMS FEMMS FXRSTOR FXSAVE MOVD MOVQ PACKSSDW PACKSSWB PACKUSWB PADDB PADDD PADDSB PADDSW PADDUSB PADDUSW PADDW PAND PANDN PCMPEQB PCMPEQD PCMPEQW PCMPGTB PCMPGTD PCMPGTW PMADDWD PMULHW PMULLW POR PSLLD PSLLQ PSLLW PSRAD PSRAW PSRLD PSRLQ PSRLW PSUBB PSUBD PSUBSB PSUBSW PSUBUSB PSUBUSW PSUBW PUNPCKHBW PUNPCKHDQ PUNPCKHWD PUNPCKLBW PUNPCKLDQ PUNPCKLWD PXOR
C4=ADDPS ADDSS ANDNPS ANDPS CMPPS CMPSS COMISS CVTPI2PS CVTPS2PI CVTSI2SS CVTSS2SI CVTTPS2PI CVTTSS2SI DIVPS DIVSS LDMXCSR MASKMOVQ MAXPS MAXSS MINPS MINSS MOVAPS MOVHLPS MOVHPS MOVLHPS MOVLPS MOVMSKPS MOVNTPS MOVNTQ MOVSS MOVUPS MULPS MULSS ORPS PAVGB PAVGUSB PAVGW PEXTRW PF2ID PFACC PFADD PFCMPEQ PFCMPGE PFCMPGT PFMAX PFMIN PFMUL PFRCP PFRCPIT1 PFRCPIT2 PFRSQRT PFSUB PFSUBR PI2FD PINSRW PMAXSW PMAXUB PMINSW PMINUB PMOVMSKB PMULHRW PMULHUW PREFETCH PREFETCHNTA PREFETCHT0 PREFETCHT1 PREFETCHT2 PSADBW PSHUFW RCPPS RCPSS RDPMC RSQRTPS RSQRTSS SFENCE SHUFPS SQRTPS SQRTSS STMXCSR SUBPS SUBSS SYSCALL SYSENTER SYSEXIT SYSRET UCOMISS UNPCKHPS UNPCKLPS XORPS
C5=ADDPD ADDSD ANDNPD ANDPD CLFLUSH CMPPD COMISD CVTDQ2PD CVTDQ2PS CVTPD2DQ CVTPD2PI CVTPD2PS CVTPDPS CVTPI2PD CVTPS2DQ CVTPS2PD CVTSD2SI CVTSD2SS CVTSI2SD CVTSS2SD CVTTPD2DQ CVTTPD2PI CVTTPS2DQ CVTTPS2DQ CVTTSD2SI CVTTSI2SD CVTTSI2SS DIVPD DIVSD LFENCE MASKMOVDQU MAXPD MAXSD MFENCE MINPD MINSD MOVAPD MOVDQ2Q MOVDQA MOVDQU MOVHPD MOVLPD MOVMSKPD MOVNIG MOVNTDQ MOVNTI MOVNTPD MOVQ2DQ MOVQA MOVSQ MOVSXD MOVUPD MULPD MULSD ORPD PACKUSDW PADDQ PF2IW PFNACC PFPNACC PFRSQIT1 PI2FW PMULUDQ POPFQ PSHUFD PSHUFHW PSHUFLW PSLLDQ PSRAQ PSRLDQ PSUBQ PSWAPD PUNPCKHQDQ PUNPCKLQDQ PUSHFQ RDIVISR SHUFPD SQRTPD SQRTSD SUBPD SUBSD SWAPGS UCOMISD UNPCKHPD UNPCKLPD XORPD EXPORTS FALSE LIBRARY NULL TRUE
C6=$ ? @@ @B @F ^HWND ^LPARAM ^UINT ^WPARAM ADDR BASIC BYTE C CARRY? DWORD FAR FAR16 FORTRAN FWORD NEAR NEAR16 OVERFLOW? OWORD PARITY? PASCAL QWORD REAL10 REAL4 REAL8 SBYTE SDWORD SIGN? STDCALL SWORD SYSCALL TBYTE VARARG WORD ZERO?
;MASM Keywords (non-code producing)
C7=%OUT .186 .286 .286C .286P .287 .386 .386C .386P .387 .486 .486P .586 .686 .686p .8086 .8087 .ALPHA .CODE .CONST .CREF .DATA .DATA? .DOSSEG .ERR .ERR1 .ERR2 .ERRB .ERRDEF .ERRDIF .ERRDIFI .ERRE .ERRIDN .ERRIDNI .ERRNB .ERRNDEF .ERRNZ .EXIT .FARDATA .FARDATA? .K3D .LALL .LFCOND .LIST .LISTALL .LISTIF .LISTMACRO .LISTMACROALL .MMX .MODEL .MSFLOAT .NO87 .NOCREF .NOLIST .NOLISTIF .NOLISTMACRO .RADIX .SALL .SEQ .SFCOND .STACK .STARTUP .TFCOND .TYPE .XALL .XCREF .XLIST .XMM ALIAS ALIGN ASSUME CATSTR COMM COMMENT+ DB DD DF DOSSEG DQ DT DUP DW ECHO ELSE ELSEIF ELSEIF1 ELSEIF2 ELSEIFB ELSEIFDEF ELSEIFDIF ELSEIFDIFI ELSEIFE ELSEIFIDN ELSEIFIDNI ELSEIFNB ELSEIFNDEF END ENDIF ENDM ENDP ENDS endw EQ EQU EVEN EXITM EXTERN EXTERNDEF EXTRN FOR FORC GE GOTO GROUP GT HIGH HIGHWORD IF IF1 IF2 IFB IFDEF IFDIF IFDIFI IFE IFIDN IFIDNI IFNB IFNDEF INCLUDE- INCLUDELIB- INSTR IRP IRPC LABEL LE LENGTH LENGTHOF LOCAL LOW LOWWORD LROFFSET LT MACRO MASK MOD NAME NE OFFSET OPATTR OPTION ORG PAGE POPCONTEXT PROC PROTO PTR PUBLIC PURGE PUSHCONTEXT RECORD REPEAT REPT SEG SEGMENT SHORT SIZE SIZEOF SIZESTR STRUC STRUCT SUBSTR SUBTITLE SUBTTL TEXTEQU THIS TITLE- TYPE TYPEDEF UNION WHILE WIDTH
;MASM High Level Key Words (code producing)
C8=.BREAK .CONTINUE .ELSE .ELSEIF .ENDIF .ENDW .IF .REPEAT .UNTIL .UNTILCXZ .WHILE INVOKE
;CaseSensitive Macro Ops
C9=@CatStr @code @CodeSize @Cpu @CurSeg @data @DataSize @Date @Environ @fardata @fardata? @FileCur @FileName @InStr @Interface @Line @Model @SizeStr @stack @SubStr @Time @Version @WordSize
;RC file
C10=#define #include ACCELERATORS ALT AUTOCHECKBOX AUTORADIOBUTTON BEGIN BITMAP BLOCK CAPTION CLASS COMBOBOX CONTROL CURSOR DIALOGEX DISCARDABLE EDITTEXT EXSTYLE FALSE FILEOS FILETYPE FILEVERSION FONT GROUPBOX ICON LISTBOX LTEXT MENU MENUITEM NOINVERT NULL POPUP PRODUCTVERSION PUSHBUTTON SEPARATOR SHIFT STRINGTABLE STYLE TRUE VALUE VERSIONINFO VIRTKEY
C11=
C12=
C13=
C14=
C15=
;On Hold
C16=
[ReallyRad]
AddDlg=1
AddMnu=1
AddRes=1
AddVer=1
AddStr=1
CtlClk=1
MnuSel=1
AddFile=1
AddFolder=1
CtlNme=1
[RadHelp]
x86=$R\Help\x86eas.hlp
winapi=$R\Help\WIN32api.hlp
masm=$H\masm32.hlp
GoAsm=
fpu=$H\fphelp.hlp
default=
KeywordLists=x86,winapi,masm,fpu
KeywordCacheFile=D:\RadASM\AddIns\hlp164D.tmp
[MenuMacro]
Ver=100
[Version]
Version=2215
=====================================================
然后把masm16.ini 放到RadASM根目录下面
接着 打开radasm,“选项/编程语言”,把这个masm16.ini添加进去
再去 “工程/设置编译器”,里面把masm16设置成默认编译器
这样,radasm就默认16位汇编环境了——要说明的是,我的radasm版本是HA_RadASM_2.2.1.5_cao_cong.exe。其他版本没有测试。
这是cao_cong老兄汉化的,感谢这位老兄。
如果不这样设置,新建个dos asm环境,也可以编译16位代码。
我这个设置,不知道哪里设置的问题,“4=0,0,$D\RunStub,5”这句 不起作用——也就是说看不清dos的输出,请那位老兄指点一下应该怎么设置
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cceaec/archive/2009/10/31/4752370.aspx