一个完整程序的编写过程
源程序编写
汇编语言源程序分两部分
伪代码
没有对应的机器指令,不会被CPU执行
常见伪代码汇总:
- XXX segment
…
XXX ends
定义一个段 XXX为段的名称 如:codesg segment
一个汇编程序由多个段组成,存放的可以是代码,数据或当作栈空间使用 - end
程序的结束标记,当编译器编译到end 编译结束 - assume
关联segment定义的一个段和一个段寄存器,
例如:assume cs:codesg
汇编指令
对应机器指令,编译完就是机器指令,然后被CPU执行
对源程序的编译连接
源程序文件 test.asm
编译器: masm.exe
- 运行masm.exe
- 输入编译文件名称,默认asm扩展名,非asm需要输入完整扩展名
- 生成obj文件,可以重命名
- 生成LST文件列表文件,默认不生成,输入名称以生成
- 生成CRF交叉引用文件,默认不生成,输入名称以生成
- 编译结束
连接器link.exe
- 运行link.exe
- 输入编译文件名称,默认obj扩展名,非obj需要输入完整扩展名
- 生成exe文件,可以重命名
- 生成map映像文件,默认不生成,输入名称以生成
- 生成lib库文件,默认不生成,输入名称以生成
- 连接操作结束
编译连接过程可简化为:
masm 目录
link 目录