汇编语言上机实验八.docx
《汇编语言上机实验八.docx》由会员分享,可在线阅读,更多相关《汇编语言上机实验八.docx(14页珍藏版)》请在冰豆网上搜索。
![汇编语言上机实验八.docx](https://file1.bdocx.com/fileroot1/2023-1/29/1e842a8b-e047-4812-a8ad-c634500297a3/1e842a8b-e047-4812-a8ad-c634500297a31.gif)
汇编语言上机实验八
实验报告
课程:
汇编语言程序设计专业班级:
计算机科学与技术学号:
姓名:
李中
实验八算术运算与代码转换实验一、实验目的
1、掌握多字节整数的加、减、乘除运算方法。
2、掌握十进制的吗表示方法及吗的加减运算方法
3、掌握浮点数的表示方法及在存储区中的存储格式
4、掌握浮点的加、减、乘除运算方法。
5、掌握吗与二进制数、吗与吗、二进制数与吗之间的相互转换方法二、实验要求
·1、学会使用吗运算调整指令
·2、明确指令与指令的区别,将指令改为指令结果怎样
·3、在下观察浮点数的存储格式
·4、在下用T命令跟踪及指令加、减的过程。
弄清加减的进位、借位来自何处三、实验内容
1、在和开始的内存单元中,分别存放一个长度相同的无符号整数,数据长度存放在单
元中,编制程序计算两个数据之积,并将结果存入开始的内存单元
2、编写程序,将两个带符号十进制数据的吗串转换为二进制补码表示的数据,计算两
1/17
数之和,并将结果显示在屏幕上。
数据范围如果产生溢出,则在屏幕上显示字符串“”。
四、解题思路
1、被乘数是1,中间结果加上被乘数,被乘数左移一位。
被乘数是0,被乘数左移一位。
2、利用查表法。
将键盘输入的十进制数存入内存中。
从高位到低位依次取值,将中间结果乘10与之相加。
转化为二进制,在依据键盘输入的符号决定要进行的计算。
最后将结果输出。
五、流程图
1、
2、
六、子程序说明文件
1、
(1)子程序名:
2
(2)子程序功能:
多字节无符号整数之积
(3)入口条件:
分别存放乘数和被乘数
(4)出口条件:
存放结果
(5)受影响的寄存器:
子程序清单在下面
2、
(1))子程序名:
(2))子程序功能:
十进制数据转化为二进制数据进行计算
(3))入口条件:
指向内存中数的高位
(4))出口条件:
结果放在中
(5))受影响的寄存器:
等子程序清单在下面:
七、编程实现
1、主程序
6,0C8H
58H,0A7H
2
2(0)
:
[]
[]
2
[]
[2]
3
421H
811
子程序:
2
2
:
1
1:
1
2
2:
1
1
2
编辑:
连接:
运行:
2、主程序:
110(0)
210(0)'!
'
'!
''0123456789'
:
1
1
01H21H
:
01
21H
0
'+'1
'-'
1
2
1:
1
1
1:
0
1:
2
2
01H21H
1:
01
21H
0
1
'+'2
'-'
2
2
2:
1
2
2:
0
2:
1
3
0
0
2:
0
1
3
0:
0
1
3:
:
3
421H
1:
9
:
[]
0221H
2:
12
1:
[]
0221H
1
821
子程序:
:
[]
'0'
'9'
30H
1
1
1
:
备份一份
;先输出高字节
16
保存的结果(商,余数)
商
余数
02H21H
02H21H
;输出低字节
16
商,余数
商
02H21H
02H21H
'H'
02H21H
编辑:
连接:
八、总结
1、多字节相乘,中间字节高进位要注意,标志寄存器在要清零。
在变成过程中总是发现结
果与正确结果总是相差3*2的8次幂。
通过的T命令单步跟踪执行才发现是进位忘记相加。
2.溢出的判断。
当两个同号数据进行运算时,结果是相反的符号。
说明发生了溢出现象,这是应该添加一部判断,给出提示。