一、MASM5.0使用概述
1.最好把MASM5.0放在根目录下例如D:\masm
2.把编辑好的asm文件(用TXT文档编写程序,保存,把后缀名txt改成asm)放在masm文件夹下如(D:\masm\filename.asm)
3.汇编工具使用步骤:
点击开始菜单,运行->cmd
d:
cd masm
masm filename.asm
link filename.obj
debug filename.exe
4.补充下常用的DOS命令
md --建立子目录
cd --改变当前目录
rd --删除子目录命令
dir --显示磁盘目录命令
path --路径设置命令
copy --文件复制命令
type --显示文件内容命令
edit --编辑文件内容命令
ren --文件改名命令
del --删除文件命令
cls --清屏幕命令
ver --查看系统版本号命令
data --日期设置命令
time --系统时钟设置命令
prompt -- 更改命令提示符
deltree --删除整个目录命令
format --磁盘格式化命令
diskcopy--整盘复制命令
label --建立磁盘卷标命令
vol --显示磁盘卷标命令
sys --系统复制命令
xcopy --目录复制命令
fc --文件比较命令
attrib --修改文件属性命令
mem --查看当前内存状况命令
tree --显示磁盘的目录结构
二、MASM详解
masm内有10个.exe程序,其中常用的也就masm.exe,link.exe,debug.exe等,其它不用管。
附件中是masm5.0汇编器和实验用的源程序:
1.编写汇编源代码
用记事本写好保存后,把后缀名txt改成asm,放在masm文件夹下如(D:\masm\filename.asm)
下面随便写点代码试验试验,程序源代码:
stsg segment stack
dw 32 dup(?)
stsg ends
data segment
a dw 123
b dw 456
sum dw ?
data ends
code segment
main proc far
assume cs:code, ds:data, ss:stsg, es:nothing
push ds
xor ax, ax
push ax
mov ax, data
mov ds, ax
mov ax, a
add ax, b
mov sum, ax
ret
main endp
code ends
end main
2.打开cmd进入D:\masm目录
开始->运行->cmd
d:
cd masm
效果图:
3.汇编masm
masm filename.asm
;注:进入masm汇编程序后,连续按下3个键,汇编出来的.obj文件名和.asm文件名相同
; 这里我们直接就3个键,不改变.obj名称,当然你可以自己随意重新该名称
汇编好后将生成filename.obj,如果源程序有错误,masm会提示
效果图:
4.链接link
link filename.obj
;注:同上,直接3个键,不改变.exe名称
链接好后将生成filename.exe,如果源程序有错误,link会提示
效果图:
5.调试debug
debug filename.exe
-u ;反汇编
-t ;单步执行
-q ;退出debug
效果图:
补充:debug命令列表
? 显示 Debug 命令列表。
a 汇编 8086/8087/8088 记忆码。
c 比较内存的两个部分。
d 显示部分内存的内容。
e 从指定地址开始,将数据输入到内存。
f 使用指定值填充一段内存。
g 执行到断点处,后面 行号,例如-g2。
h 执行十六进制运算。
i 显示来自特定端口的 1 字节值。
l 将文件或磁盘扇区内容加载到内存。
m 复制内存块中的内容
n 为 l 或 w 命令指定文件,或者指定正在测试的文件的参数。
o 向输出端口发送 1 个字节的值。
p 执行循环、重复的字符串指令、软件中断或子例程。
q 停止 Debug 会话。
r 显示或改变一个或多个寄存器。
s 在部分内存中搜索一个或多个字节值的模式。
t 执行一条指令,然后显示所有寄存器的内容、所有标志的状态和 Debug 下一步要执行的指令的解码形式。
u 反汇编字节并显示相应的原语句。
w 将被测试文件写入磁盘。
xa 分配扩展内存。
xd 释放扩展内存。
xm 映射扩展内存页。
xs 显示扩展内存的状态。
三、总结
.asm源程序-->经masm汇编-->.obj二进制文件-->link链接-->.exe二进制可执行文件-->debug进行调试
点击开始菜单,运行->cmd
d:
cd masm
masm filename.asm
link filename.obj
debug filename.exe