文章目录
前言
参考书籍:
王爽。汇编语言。北京:清华大学出版社, 2013:83-91
本人菜狗一枚,不敢咬文嚼字,只能站在巨人的肩膀上窥探一下未曾了解的世界。
编辑
assume cs:codeseg
codeseg segment
mov ax, 2000H
mov ss, ax
mov sp, 0
add sp, 10
pop ax
pop bx
push ax
push ax
pop ax
pop bx
mov ax, 4c00H
int 21H
codeseg ends
end
使用文本编辑器编写,保存为 hello.asm 文件
编译
使用汇编编译器,如微软的 masm5.0 汇编编译器。
运行 masm 后,输入将要编译的源程序文件的名称(默认后缀名.ASM
)(其余默认回车即可)。
连接
使用连接器,如微软的 Overlay Linker3.60 连接器
运行 link 后,输入将要连接的目标文件的名称(默认后缀名.OBJ
)(其余默认回车即可)。
简化编译和连接过程
命令的结尾加上分号,将在当前路径下生成相关文件,并在编译/连接过程中自动忽略中间文件的生成。
- masm (文件路径)文件名
;
- link (文件路径)文件名
;
运行
hello.exe 程序仅仅做了一些数据操作,并没有想显示器输出任何信息,所以看不到任何运行结果。
汇编程序从写出到执行的过程
过程 | 输入文件 | 输出文件 |
---|---|---|
编程 | 无 | hello.asm |
编译 | hello.asm | hello.obj |
连接 | hello.obj | hello.exe |
跟踪
使用 Debug 跟踪一个程序的运行过程