实验三 运算类编程实验

2019-03-29 09:36

实验三 运算类编程实验

一、实验目的

1.掌握使用运算类指令编程及调试方法。

2.掌握运算类指令对各状态标志位的影响及其测试方法。 二、实验设备

TDN86/51教学实验系统一台

三、实验内容及步骤

086/8088指令系统提供了实现加、减、乘、除运算的基本指令,可对表3-1所示的数据类型进行算术运算。 表3-1 数据类型算术运算表

数 制 运算符 操作数 二进制 带符号 + - × ? 字节、字、多精度 无符号 BCD码 组合 + - 非组合 + - × ? 字节(二位数字) 字节(一位数字) 1. 二进制双精度加法运算 计算X+Y=Z,将结果Z存入某存储单元。实验程序参考如下。 本实验是双精度(2个16位,即32位)加法运算,编程时可利用累加器AX,先求低16位的和,并将运算结果存入低地址存储单元,然后求高16位的和,将结果存入高地址存储单元中。由于低16运算后可能向高位产生进位,因此高16位运算时使用ADC指令,这样在低16位相加运算有进位时,高位相加会加上CF中的1。

实验步骤

(1)编写程序并检查无误,经编译、链接无误后装入系统。(设:CS:000H IP:2000H)

(2)用U2000查看MOV AX,XXXX(DATA)语句,即得到数据段段地址CS:XXXX,用E命令E=XXXX:0000↙给XL,XH,YL,YH赋值存入二进制数A0 65 15 00和9E B7 21 00。

(3)G=0000:2000↙,运行以上程序。

(4)D=XXXX:0004↙,显示计算结果:3E 1D 37 00 CC (5)反复试几组数,考察程序的正确性。

2.十进制数的BCD码减法运算

计算下X-Y=Z,其中,X、Y、Z均为BCD码。 实验步骤

(1) 输入实验程序并检查无误,经汇编,连接后装入系统。(设CS:0000H,IP:2000H) (2) 用U2000查看MOV AX,XXXX(DATA)语句,即得到数据段段地址DS:XXXX。用

E命令E=XXXX:0000↙给X,Y赋值存入40和12的BCD码:00 04 02 01。 (3) G=0000:2000↙,运行以上程序。

(4) DXXXX:0004↙,显示计算结果:08 02 CC …。 (5) 反复试几组数,考察程序的正确性。

3. 乘法运算

实现十进制数的乘法运算,被乘数与乘数均以BCD码的形式存放在内存中,

乘积在屏幕上显示。乘数为1位,被乘数为5位,结果为6位。

实验步骤

(1)输入实验程序并检查无误,经汇编,连接后装入系统。 (2)用U2000查看MOV AX,XXXX(DATA)语句,即得到数据段段地址CS:XXXX。 (3)用E=XXXX:0000命令在对应数据段填入乘数与被乘数。 (4)G=0000:2000↙,运行程序,屏幕显示结果。。 (5)反复试几组数,验证程序的正确性。 4. 用减奇数开平方运算

8086/8088指令系统中有乘除法指令但没有开平方指令,因此,开平方运算是通过程序来实现的。用减奇数法可求得近似平方根,获得平方根的整数部分。我们知道,N个自然数中的奇数之和等于N2。

即: 1?3?5?9?32 ; 1?3?5?7?9?11?13?15?64?82

若要做S的开方运算,那么就可以从S中逐次减去自然数中的奇数:

1,3,5,7…,一直进行到相减数为0或不够减下一个自然数的奇数为止,然后统计减去自然数的奇数个数,他就是S的近似平方根。

实验步骤

(1)输入实验程序并检查无误,经汇编,连接后装入系统。

(2)在3500-3501H单元中存入呗开放术0010,即E3500↙,输入10 00 (3)G=0000:2000↙,运行程序。

(4)D350A↙,显示结果为:350A 04 00 CC…。 (5)反复试几组数,验证程序的正确性。


实验三 运算类编程实验.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高一物理课时作业

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: