文档详情

微机原理实验报告.doc

发布:2025-04-15约4.61千字共13页下载文档
文本预览下载声明

试验一Debug程序的使用

一、试验目的

学习使用DEBUG调试命令。

学习用DEBUG调试简朴程序。

通过程序验证码制及其对标志位的影响。

通过调试熟悉和掌握个寄存器的作用与特点。

二、试验内容

用DEBUG调试简朴程序。

三、试验仪器

微机一台

四、试验环节

1.由DOS进入DEBUG调试环境。

C:DEBUG将调试程序装入内存

注意:当机器控制权由DOS成功地转移给调试程序后,将显示“-”号,它是DEBUG的状态提醒符,表达可以接受调试子命令了。

-R显示CPU中各寄存器目前初始内容,请记录下列各项:

AX=0000

BX=0000

CX=0000

DX=0000

BP=0000

SI=0000

DI=0000

DS=13D4

ES=13D4

SS=13D4

SP=FFEE

CS=13D4

IP=0100

FLAG寄存器中的8个标志位状态值是:

OF

DF

IF

SF

ZF

AF

PF

CF

0

1

0

0

0

0

0

0

DEBUG用符号给出标志寄存器中8个标志位的目前状态,其含义如下表所示。

标志位含义

‘1’的对应符号

‘0’的对应符号

OF溢出

OV有

NV无

DF方向

DN递减

UP递增

IF中断

EI容许

DI严禁

SF符号

NG负

PL正

ZF全零

ZR零

NZ非零

AF辅助进位

AC有

NA无

PF奇偶性

PE偶

PO奇

CF进位

CY有

NC无

2.用DEBUG调试简朴程序

例1-ACS:0106

MOVAX,1234

MOVBX,2345

MOVCX,0

ADDAX,BX

MOVCX,AX

INT20

运行程序

(注:执行程序时IP应指向要执行的指令,需要修改时

-RIP

目前值

输入需要值该处为0106

当然也可以在T或G命令中指出程序起始地址)

-R显示各寄存器目前内容及首条指令

-T3跟踪执行三条赋值传送指令,观测寄存器及标志位变化

-T2跟踪执行相加及送和数指令,观测寄存器及标志位变化

-G执行软件中断指令INT20,机器将显示“程序正常终止”的信息,并显示“-”,表明仍处在DEBUG的调试控制状态下,注意未用T命令,由于我们不想进入到20H中断处理程序中去,P命令也可实现相似操作

试验现象记录:观测每条指令执行后各有关寄存器值及标志位状态

例2-ACS:116

MOVAX,[0124]

MOVBX,[0126]

ADDAX,BX

MOV[0128],AX

INT20

DW2222

DW8888

DW0

设置断点分段运行程序

-G=CS:11611D从指定入口运行程序,至断点11D停,可见两个数已取至AX,BX,但还没有求和

-G122从上一断点运行至新断点停,已完毕求和并存入指定成果单元

-G完毕程序

观看内存内容

-DCS:11612A显示本程序小段目的代码和数据单元内容

-UCS:11612A反汇编指定范围的内存内容-

试验现象记录:通过反汇编,记录程序执行前指定范围的内存内容,并记录每条指令执行后各有关寄存器值及指定范围的内存内容)

例3-ACS:0192

MOVDX,19B

MOVAH,9

INT21

INT20

DB‘HELLO,WORLD!$’

-P命令单步执行

试验现象记录:观测每条指令执行后各寄存器的变化,记录DX,AX的变化。

思索:根据程序输入状况,考虑‘HELLO,WORLD!$’在内存中的ASCⅡ码和地址范围

-D019401A7

ASCⅡ码为:48454C4C4F20574F524C4421;

例4自己设计一段小程序验证补码的加法、进位、溢出的概念;

参照程序(可对数据进行修改):

-ACS:0100

MOVAL,74

ADDAL,70

MOVAL,7A

ADDAL,94

MOVAL,43

ADCAL,65

INT20

-P命令单步执行

试验现象记录:记录每条指令执行后AX及标志位变化

例5

1.使用R命令,实现AX=0108,BX=F1AA

-RAX-RBX

0108

2.编辑下列程序

-ACS:

显示全部
相似文档