汇编语言实验报告综合算术运算的练习(Debug P67例3.56)

一、实验目的

1.熟悉汇编语言调试工具Debug的使用方法

2.熟悉debug下的十一个单字符指令

二、实验环境

DOS BOX 0.74

三、实验内容

1.在DEGUG下编写汇编指令片段实现X+Y-Z,调试并查看执行结果,X=0002H,Y=0005H,Z=0005H。

2. 学会DEBUG下的11个单字符命令的执行,并掌握其简单用法。

四、实验步骤与过程分析(描述)

1.在DEGUG下编写汇编指令片段实现X+Y-Z,调试并查看执行结果,X=0002H,Y=0005H,Z=0005H。

方法一:用三次R和两条指令

分析:

用r分别去改ax,bx,cx的值,-a写入加指令和减指令,-t运行,可以看到ax,bx,cx的内容以及运行完后的ax的结果,-u可以看到敲入的命令,即可用两条指令求出0002+0005-0005的值。

截图:

方法二:三条mov和两条指令

分析:

-r查看各寄存器的状况,-a写入三条mov指令,两条运算指令,然后将0002写入寄存器ax,将0005写入寄存器bx,将0005写入寄存器cx,将ax的值与bx的值相加,ax与cx里的值相减,之后-t运行,可以看到ax,bx,cx的内容以及运行完后的ax的结果。

截图:

 

 

方法三:使用三条指令完成

分析:

使用a指令用于将输入的汇编指令汇编成为机器代码保存于主存,输入ax=0002H,bx=0005H,add两者相加,再用sub减去0005H,之后使用t指令查看结果,每条指令执行后都要显示所有寄存器和标志位的值以及下一条指令。

截图:

 

方法四:利用r用四条指令

分析:

将0002H和0005H放入ax和bx寄存器内进行运算。将两条mov指令写入寄存器内,再用add和sub指令将运算结果显示到ax中。

截图:

 

 

方法五:利用M内存来存放数据

分析:

利用内存存放数据,-r查看各寄存器的状况,-e修改内存中的内容,-d查看修改后的内存具体内容,可以看到数据已被写入内存,-a写入四条mov指令,两条运算指令,用-t运行,可以看到ax,bx,cx的内容以及运行完后的ax的结果。

截图:

 

 

2.十一条指令的分析与执行

①D命令

d命令显示主存单元的内容显示当前或指定开始地址的主存内容显示指定范围的主存内容

②E命令

E命令用于修改主存内容,修改指定地址的内容用数据表的数据修改指定地址的内容。此处我将073F:0100 改为0150

③F命令

用于对一个主存区域填写内容,同时改写原来的内容,该命令用数据表的数据写入指定范围的主存。如果数据个数超过指定的范围,则忽略多出的项;如果数据个数小于指定的范围,则重复使用这些数据,直到填满指定范围。

④R命令

用于显示和修改处理器的寄存器,显示所有寄存器内容和标志位状态。

⑤A命令

用于将输入的汇编指令汇编成为机器代码保存于主存。从指定地址开始汇编指令

A命令中如果没有指定地址,则接着上一个A命令的最后一个单元开始;若还没有使用过A命令,则从当前CS:IP开始。

⑥U命令

将主存内容按照机器代码形成汇编指令显示

U命令中如果没有指定地址,则接着上一个U命令的最后一个单元开始;若还没有使用过U命令,则从当前CS : IP开始。

G命令

从指定地址处开始运行程序,直到遇到断点或者程序正常结束。操作不当会出现死机情况。

⑧T命令

跟踪命令T,也称为单步命令,每执行一条指令就显示运行结果,使程序员可以细致地观察程序的执行情况。

P命令

类似T命令,逐条执行指令、显示结果。但是当遇到子程序调用、中断功能调用和循环指令等时,不在子程序、中断服务程序或循环体中单步执行,而是直接执行完成子程序、中断服务程序或循环体,然后显示结果。

⑩L命令

装入由N命令指定的文件d:/

W命令

写盘命令W主存内容写入磁盘的文件或扇区中,与L命令相反

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值