实验5:使用debug练习各种基本指令
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一使用debug练习各种指令
一、实验目的:
1.熟悉debug的使用
2.进一步理解各种基本指令的功能
二、实验要求:
1.上机实验前,做好充分准备,仔细阅读debug有关命令的使用说明及基本指令的功能描述2.上机实验时,要认真完成各项实验内容
3.上机实验后,写出实验报告,实验报告的书写要求如下:
(1)实验题目
(2)实验目的
(3)实验过程描述:包括各项实验的运行结果、遇到问题、解决方法
(4)实验总结:包括调试的心得体会
三、实验内容:
1.熟悉debug有关指令,包括:
-d 显示内存命令-e 修改内存命令
-r 修改显示寄存器命令-g 运行命令
-t 单步运行命令-q 退出命令
-a 汇编命令-u 反汇编命令
2.按上机时计算机当时环境,执行下面各条指令,给出结果.
1)MOV AX, 1200H
2)MOV AX, BX
3)MOV AX, [1200H]
4)MOV AX, [BX]
按下列步骤完成(以” 1)MOV AX, 1200H”为例,注意观察各步的执行结果) :
(1)进入MS-DOS并启动debug
(2)执行命令(黑体画线部分为同学们自己输入)
-r;显示寄存器内容命令
AX =????
-a0100;汇编命令,从地址0100处输入汇编指令
xxxx:0100 mov ax,1200
xxxx:????
-d0100;内存显示命令,从地址0100处显示刚刚输入的mov ax,1200h
;指令对应的机器指令
xxxx:0100
-u0100;反汇编命令,将0100处开始的机器码对应的汇编指令显示出来,
;;注意观察开始的第一条指令是否是刚刚输入的“mov ax,1200h“指令-t=0100;单步运行命令,执行刚刚输入的一条mov ax,1200h指令,并显示所有
;寄存器的内容
……
xxxx:0103 ……
3.用单步运行命令T运行以下程序,给出各标志位的值。
MOV AL, 91
4.用r命令将AX置为3344H , BX置为5566H, CX置为7788H, BP置为99AAH, DX置为1122H。
5.用E命令在内存地址1000H开始的连续8个存储单元中依次写入:
6162 6364 6566 6768 696A 6B6C 6D6E 6F70
然后用d命令观察刚刚输入的内容,并注意窗口右侧的显示内容。然后自己选定一些存储单元查看并改写其内容。
6.80X86 CPU 汇编语言程序设计举例
例子1: 计算1 到10 的累加和。
<1> 在命令行提示符状态下输入:
A100↙
屏幕将显示:
0100:
从地址0100H 开始输入下列程序:
(0100)mov ax,0000 ;置累加和的初值为0
mov bx,00OA ;最大的加数
mov cx,0000
(0109)INC cx ;得到下一个参加累加的数
ADD ax,cx ;累加计算
CMP cx,bx ;判是否累加完
JNZ 109 ;未完, 开始下一轮累加
RET
<2> 在命令行提示符状态下输入:
G 100↙
T=100
T
…
Ret
P
P
运行过后, 可以用R 命令观察累加器的内容。
问题2:运行例2程序后,ax=?,bx=?,CZVS=?
7.完成上述实验之后,使用q命令退出debug
-q↙