一个汇编程序写好,要编译成目标文件,文件后缀是obj的,再链接形成exe后缀的,再接着去执行
伪指令由编译器执行,汇编指令由CPU执行
assume是伪指令,关联段寄存器和程序中用segment and end代表的段关联
segment 和ends表示段的开始和结束
end表示整个程序结束
写源程序1.asm 编译1.asm->1.obj链接1.obj->1.exe
1.简单的汇编源程序结构:
① 组成② 几个常用的伪指令③ 两条特殊指令
(a) 指令产生机器码;由CPU执行;是程序执行的关键
(b) 伪指令不产生机器码;由汇编器处理;
做一些辅助性操作,如: 界定段的起止,界定程序结束位置等
(c) 标号、注释等不产生机器码;由汇编器处理;
常与伪指令配合使用,做一些辅助性操作
2.注意:① 编写汇编源程序时,默认是十进制。对于十六进制,需手动添加H。如:
mov ax, 30H debug工具中默认是十六进制。二者不要混淆。
② 使用debug调试时,调试的必须是得到的可执行文件,且要带扩展名。即: debug ××.exe
③ 使用debug ××.exe调试时,首次进入调试界面时,寄存器CX中存放的是可执行文件机器码长度。
可以通过u命令,结合CS、IP、CX的值,对*.exe文件反汇编,得到汇编源程序。单步调试时,调试到int 21h这条时,使用p命令。
第1步,编写汇编程序文件example.asm (使用任何文本编辑器均可)
第2步,对example.asm进行汇编,得到目标文件example.obj
第3步,对example.obj进行链接,得到可执行文件example.exe
第4步,执行。
第5步,使用debug调试可执行文件example.exe