汇编实验2 顺序程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编实验二顺序结构程序设计
实验目的:
(1)掌握汇编语言程序上机过程。
(2)掌握顺序结构程序调试的方法。
实验内容:
调试查表程序
内存中自TABLE开始的七个单元中连续存放着自然数0~6的立方值(立方值表),
任一个数X(0≤X≤6)在FIRST单元中,要求查表找出X的立方值,存SECOND
单元。
准备工作:
1.进入D:
2.建立一个文件夹hb, 即d:\hb
3.将MASM和LINK复制到该文件夹中
4.单击“开始”-“程序”-“附件”-“命令提示符”
5.输入“d:\”
6.输入“cd hb”
操作步骤:
1.输入源程序: EDIT d:\hb\cb.asm
在EDIT编辑环境File菜单下选择Save存盘,选择Exit退出编辑环境
2.汇编源程序
A>MASM CB↙
Microsoft (R) Macro Assembler Version 5.10
Copyright (C) Microsoft Copr 1981,1988 All rights reserved.
Object filename [CB.OBJ]:_↙
Source listing [NUL.LST]:↙
Cross-reference [NUL.CRF]:↙
51394+389950 Bytes symbol space free
0 Warning Errors
0 Severe Errors
A>
3.连接目标程序
A>LINK
Microsoft (R) Overlay Linker Version 3.64
Copyright (C) Microsoft Corp 1983-1988. All rights reserved.
Object Modules [.OBJ]:CB↙
Run File [NUL.MAP]:↙
Libraries [.LIB]: ↙
显示0个错误才能进行下一步LINK操作
4.执行程序
A>B
没有任何结果输出,原因是程序中没有安排显示输出,结果保存在内存单元中。
5.用DEBUG调试并查看运行结果
A>DEBUG CB.EXE
1先用U命令进行反汇编,看到源程序在内存中的存储
2T (单步执行一条指令。)
AX=0BEF BX=0000 CX=0068 DX=0000 SP=0040 BP=0000 SI=0000 DI=0000 DS=0BDB ES=0BDB SS=0BEB CS=0BF0 IP=0003 NV UP EI PL NZ NA PO NC 0BF0:0003 8ED8 MOV DS,AX
3 T (单步执行一条指令。)
AX=0BEF BX=0000 CX=0068 DX=0000 SP=0040 BP=0000 SI=0000 DI=0000 DS=0BEF ES=0BDB SS=0BEB CS=0BF0 IP=0005 NV UP EI PL NZ NA PO NC 0BF0:0005 B80000 MOV BX,0000
4 D DS:0 (显示DS段,偏移地址为0000单元的内容。)
用D命令观看数据段的内容
5 T (继续单步运行若干次。)
............
直到程序运行到MOV AH,4CH为止
或者 G 0014,
用G命令一次执行多条指令直到运行到断点0014H (即指令MOV AH,4CH为止)6 D DS:0 (显示DS段,偏移地址为0000单元的内容。)