您的位置:首页 > 其它

16位汇编智能编译环境的搭建

2009-04-09 14:56 260 查看
16位汇编的上机有以下几步:编辑源代码,编译,链接,调试。
(1)Uedit32或者记事本等编辑源代码,保存为.asm(此处为Hello.asm)。一般选用Uedit32,因为可以语法着色,高亮显示、显示行号、列号等。

stack segment
db 100 dup(?)
stack ends

data segment
message db 'Hello, World',0dh,0ah,'$'
data ends

code segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax

mov dx,offset message
mov ah,9
int 21h

mov ah,4ch
int 21h
code ends
end start

(2)masm编译源文件,生成obj目标文件。
在提示符键入masm Hello.asm回车
显示:Object filename [Hello.obj]:回车
显示:Source listing [NUL.LST]:回车
显示:Cross-referce [NUL.CRF]:回车
显示 0 Warning Errors
0 Server Errors
说明成功编译通过

(3)link,生成exe文件
在提示符键入link Hello.obj 回车
显示:Run File [Hello.obj]:回车
显示:List File [NUL.MAP]:回车
显示:Libraries [.LIB]:回车
显示:LINK:warning L4021:no stack segment
最后显示,没有堆栈,不用理会。

(4)debug调试程序,查看结果是否正确。
具体使用,参阅相关资料。

注:(2)、(3)为了跳过输入目标文件名、资源列表、执行文件名等,可以在后面加一个分号。分别为
masm Hello.asm;
link Hello.obj;

上面(2)(3)(4)步中用到的程序假设是放到当前目录下,需要设置路径,如果每次设置路径,则会比较麻烦。为了管理方便,把masm.exe、link.exe和debug.exe等程序单独放在一个文件中。每个汇编源文件一个文件夹。

■方法一:永久设置环境变量
把masm.exe、link.exe和debug.exe等程序放在J:/Asm16/00_Tool(自己想怎么放就怎么放,保持目录与环境变量值一致就可以了。)
设置环境变量:我的电脑→属性→高级→环境变量→Administrator的用户变量,双击path,编辑用户变量中的变量值,在后面添加“;J:/Asm16/00_Tool”不包含引号。也可以在系统变量的path中添加。
在J:/Asm16/00_Tool目录下新建一个文件v.bat,内容为
MASM %1.asm;
link %1.obj;
新建一个CmdLine.bat文件,内容为cmd。把CmdLine.bat每个汇编例子文件夹下,需要编译、链接的时候,双击CmdLine.bat,再输入v hello就可以了。

■方法二:把masm.exe、link.exe、debug.exe和CmdLine.bat拷贝到系统目录下,如E:/WINNT/system32下面也是可以的。

■方法三:方法一和二都是永久性的设置,再来一个临时性的设置。
把masm.exe、link.exe、debug.exe拷贝到J:/Asm16/00_Tool目录下,并建立SetPath.bat和v.bat文件,
SetPath.bat内容:
set path=J:/asm16/00_Tool;%path%
cls
v.bat文件内容:
MASM %1.asm;
link %1.obj;

在需要汇编的文件夹下,建立“设置路径_命令窗口.bat”文件,其内容:
call J:/asm16/00_Tool/SetPath.bat
cmd
汇编的时候,双击“设置路径_命令窗口.bat”,再输入v hello回车就可了。

说明:以上设置都是基于虚86模式而言的。在实模式下SetPath.batm内容中的set path=J:/asm16/00_Tool;%path%去掉set;设置路径_命令窗口.bat文件改成自己喜欢的字母文件名,内容中的cmd一行去掉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: