实验一、汇编语言程序的上机过程及调试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一、汇编语言程序的上机过程及调试
汇编程序调试过程
实验一、汇编语言程序的上机过程及调试
汇编程序调试过程
一、实验目的熟练掌握汇编语言上机汇编、连接和装入运行。学会使用调试程序DEBUG或TD来进行程序调试。
汇编程序调试过程
二、实验内容(一)汇编程序建立过程a.建立汇编源程序─通过
b.编译为目标文件
d.连接为可执行文件
c.不通过,重新修改(语句错误)
f.不正确,用调试工具调试,重新修改(逻辑错误)
e运行正确
g.完成
汇编程序调试过程
汇编语言的源程序需要编译和连接后才能在计算机上执行。汇编语言源程序扩展名规定为.ASM。用MASM编译源程序后,将产生源程序的目标程序文件,其扩展名为.OBJ。再经过连接程序(LINK)把目标程序文件与库文件或其他目标文件连接在一起形成可执行文件(扩展名为.EXE)。这时就可以运行该程序了。DOS下可直接键入可执行程序的文件名从而运行该程序。
汇编程序调试过程
(二)过程详细说明步骤a: 建立汇编源程序如果现在的根目录不是E盘,写入E :然后回车,再打入cd *** (***是你新建的文件夹名),例如电气031班的同学,现在你的DOS界面根目录为:E\dq031 。打入edit然后回车,EDIT的操作画面便会出现在屏幕上,alt键可以控制工具栏操作,←↑→↓箭头控制阴影选择的上下移动。我们现
在按alt键,选中flie, 按↓选中open,回车,找到刚刚拷贝的asm 文件,回车。选择存盘并给你输入的文件起一个文件名,形式:*** . asm ;然后回到dos环境。
汇编程序调试过程
步骤b: 编译目标文件在DOS提示符下键入MASM *** .asm回车,(其中***为你刚才在*****RE a 中建立的文件名)这时汇编程序的输出文件可以有三个(分别:.obj .lst .crf),便会出现三次提问,在这可以一路回车即可。如果没有任何错误,系统会显示:0 Warning Error 0 Severe Error
汇编程序调试过程
步骤c: 编译不通过,重新修改在执行过*****RE b后,如有出错信息时,就要我们自己按*****RE c去做,在*****RE b中检测出的错误均为每一条语句的语法或用法错误,它并不能检测出程序的逻辑设计(错误,所以就要记好出错的行号。在记录行号后,就应再次执行*****RE a,这时操作应是打开已编好的源程序(以EDIT为例:在DOS提示符下键入:EDIT***.asm回车),依据行号进行修改并存盘,再次进行汇编,直至*****RE b通过为止。便可继续向下执行*****RE d。
汇编程序调试过程
步骤d: 连接为可执行文件(即:连接为.exe 或.com文件) 形式:在DOS提示符下:LINK ***. obj回车,连接程序的输出文件可以有三个(分别:. ***.exe .map .lib),便会出现三次提问,在这可以一路回车即可。
汇编程序调试过程
*****RE e: 运行编译好的可执行文件
当*****RE d通过后,会产生一个可执行文
件,这时只需运行这个程序,***.exe回车。本实验的结果是显示“my name is sf”
汇编程序调试过程
步骤f: 用调试工具调试DEBUG ***.exe 回车。其中*****E是主文件名,???是扩展文件名,例如我们在此前已编译好了一个文件,它的名字为:spoon.exe 要对它进行调试时就在DOS提示符下打:DEBUG spoon.exe 回车,便可见到'-' 提示符,如无任何提示说明正确,可进行调试
汇编程序调试过程
(三)在PC-DOS环境下运行的8086、8088源程序应具有如下的基本框架STACK STACK DATA DATA CODE ***** DW 10 DUP(?) ENDS ***** DB ? ENDS ***** ASSUME CS:CODE,DS:DATA,SS:STACK MOV AX,STACK MOV SS,AX PUSH DS MOV AX,00 PUSH AX MOV AX,DATA MOV DS,AX ┋ ENDS END
START:
CODE
汇编程序调试过程
DATA ***** STRING DB 'HELLO,WORLD$!' DATA ENDS CODE ***** ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA DX,STRING MOV AH,09H INT 21H MOV AH,4CH INT 21H CODE ENDS END START
汇编程序调试过程
二、实验总结1.程序的运行结果是什么?为什么?修改程序使运行结果显示你自己的名字。2.对实验中遇到的问题、如何解决、获得的收获等进行分析总结。
汇编程序调试过程
(三)TD调试程序的使用(TD学习寻址方式)
一、立即寻址例:MOV AX,1200H 二、寄存器寻址例:MOV AX,BX 三、直接寻址例:MOV AX,[1200H] 四、寄存器间接寻址例:MOV BX,1200H MOV AX,[BX]
汇编程序调试过程
五、寄存器相对寻址例:C MOV BX ,220H C MOV CL,[BX+5] C
六、基址、变址寻址C MOV SI,1100H C MOV BX,SI C MOV AX,[SI+BX]
七、基址、变址、相对寻址例:MOV DI,1100H MOV BP,DI MOV AL,[BP][DI]5