- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机实验debug入门
一:实验目的和要求
1,学习,了解DEBUG常用命令(A,U,D,E,R,T,G,Q)的使用方法.
2,通过观察,了解部分数据传送指令的功能和行为特征.
3,了解DEBUG中FLAGS的各标志的表示方法.
二:实验设备和软件
PC,DEBUG,.EXE.
三:实验内容
数据传送类指令观察
(1)题目:首先用A命令从地址2000;0000 开始依次逐条输入以下所有指令,然后用T命令单步执行每一条指令,其他要求请参见各条指令的注释部分.通过实验理解每条指令的功能.
代码:
STAK SEGMENT STACK
ORG 0020
STAK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV AL,78H
MOV AX,1234H
MOV BX,0200H
MOV [BX],AX
MOV SI,[0200H]
MOV DH,AL
MOV WORD PTR 2[BX],5600H
MOV CX,-1233H[BX+SI]
PUSH AX
PUSH 2[BX]
PUSHF
POP [BX]
POP AX
POPF
XCHG AX,DX
XCHG DL,2[BX]
LEA DX,0FF00H[BX+SI]
LAHF
NOT AH
SAHF
CODE ENDS
END START
在实验过程中记录指令执行的结果,并在实验报告中以表格的形式体现.
(2)调试结果截屏以及说明
用R命令显示AL的值: 78H
用R命令显示AX的值: 1234H
用R命令显示BX的值: 0200H
用D命令显示存储器单元中的值(0200~0220)
用R命令显示SI的值: 0200H
用R命令显示DH的值: 34H
用D命令显示存储器单元中的值(0200~0220)
用R命令显示CX的值: 0000H
用D命令显示堆栈情况(栈顶指针SP:0012)
用D命令显示堆栈情况(栈顶指针SP:0010)
用D命令显示堆栈情况(栈顶指针SP:000E),和FLAGS标志对比(RF命令)
用D命令显示存储器单元中的值(0200~0220)
用R命令显时AX的值:5600H
查看FLAGS各标志情况(RF命令)
用R命令显示AX和DX的值 :AX为3400H DX为5600H
用R命令,D命令分别查看DL和存储器单元: DL为00H ,存储器单元0200~0220
查看DX的值 :DX=0300H
查看AH的值 :AH=16H
查看AH的值:AH=E9H
查看FLAGS低8位标志情况(RF命令)
(3)所遇问题及解决办法
未定义堆栈段栈顶指针位置,系统默认0000H,出现压栈错误,加入堆栈段定义后解决。
查表程序
(1)题目:首先用E命令从DA:0200H开始的内存中写入一个0~9的平方表,然后用A命令输入以下查表程序并执行,观察查表结果.
MOV AL,5
MOV BX,0200H
XLAT
提示 :(1)输入的平房值表必须转换成十六进制数.
(2) R命令只能查看16位寄存器的内容,其中16位的前8位是8位寄存器的内容, 后8位是低8位寄存器的内容。
代码: STAK SEGMENT STACK
STAK ENDS
DATA SEGMENT
ORG 0200H
TAB DB 0,1,4,9,16,25,36,49,64,81
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL,5
MOV BX,0200H
XLAT
CODE ENDS
END START
(2)调试结果截屏以及说明
查表结果为AL=19H
(3)所遇问题及解决办法
因未定义堆栈段,链接时报错,加堆栈段定义后解决.
文档评论(0)