- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本科实验报告
实验名称: 实验二 算术运算类操作实验(基础与设计)
课程名称:
CPU与汇编实验
实验时间:
任课教师:
实验地点:
实验教师:
实验类型:
□ 原理验证
■ 综合设计
□ 自主创新
学生姓名:
学号/班级:
组 号:
无
学 院:
信息与电子
同组搭档:
无
专 业:
信息工程
成 绩:
一、实验要求和目的?
1.了解汇编语言中的二进制、十六进制、十进制、BCD?码的表示形式;
2.掌握各类运算类指令对各状态标志位的影响及测试方法;
3.熟悉汇编语言二进制多字节加减法基本指令的使用方法;
4.熟悉无符号数和有符号数乘法和除法指令的使用;
5.掌握符号位扩展指令的使用;
6.掌握BCD?码调整指令的使用方法?。
二、软硬件环境?
1、硬件环境:计算机系统?windows;?
2、软件环境:装有MASM、DEBUG、LINK、等应用程序。?
三、实验涉及的主要知识
1.加减法处理指令
2.乘除法指令和符号位扩展指令
3.BCD 码的调整指令
四、实验内容
(一)对于两组无符号数,087H 和034H,0C2H 和5FH,试编程求这两组数的和差积商,并考虑计算结果对标志寄存器中状态标志位的影响:
计算
状态标识
表达式
结果(H)
CF
AF
ZF
OF
SF
PF
087H +034H
00BB
0
0
0
0
0
1
087H -034H
0053
0
0
0
0
0
1
087H *034H
1B6C
0
0
0
0
0
1
087H/034H
0002(1F)
0
0
0
0
0
1
0C2H+5FH
0121
0
1
0
0
0
1
0C2H-5FH
0063
0
1
0
0
0
1
0C2H*5FH
47FE
0
1
0
0
0
1
0C2H/5FH
0002(04)
0
1
0
0
0
1
开始结束
开始
结束
将两组数据分别存入AX,BX中,将二者中的数据相加,存入AX中
将两组数据分别存入AX,BX中,用AX中数据减去BX中数据,存入AX中
将两组数据分别存入AX,BX中,将二者中的数据相乘,存入AX中
将两组数据分别存入AX,BX中,用AX中数据除以BX中数据,存入AX中
2.程序代码:
DATAS SEGMENT
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV AX,0C2H
MOV BX,5FH
ADD AX,BX ;add
MOV AX,0C2H
MOV BX,5FH
SUB AX,BX ;sub
MOV AX,0C2H
MOV BX,5FH
MUL BX ;mul
MOV AX,0C2H
MOV BX,5FH
DIV BX ;div
MOV AH,4CH
INT 21H
CODES ENDS
END START
(将数据改变得到另一组输出结果)
实验结果
以第一组数的加法为例
(已将截图以上输入-t进行debug的步骤省略)
此时右下角信息(NV UP……)代表标志寄存器的值 。
结果分析:
由资料可得:
1.CF(carry flag):进位标志位,运算结果需要进位为1,不需进位为0
2.PF(parity flag):奇偶标志位,当运算结果的低8位中的“1”的个数为偶数时PF=1,为奇数时,PF=0。
3.AF(auxiliary flag):辅助进位标志,第3位有进位为1,无进位为0?
4.ZF(zero flag):零标志位,当运算结果为零时ZF=1,否则ZF=0。
5.SF(sign flag):符号标志位,当运算结果的最高位为1时SF=1,否则SF=0。
6.OF(overflow flag):溢出标志位,当算术运算结果超出了带符号数的范围,即溢出时,OF=1,否则OF=0.
其中注意在本程序中,SUB影响全部的条件标志:
减法的CF反应的是无符号数运算中的借位情况:当减数>被减数是CF=1,否则CF=0;2.OF:如果两个数的符号相反而结果的符号与减数相同,则OF=1,否则OF=0;3.SF(运算结果<0为1否则为0)、ZF(零标志)、AF(辅助进位标志)、PF(奇偶标志)根据其含义设置。
(二)在数据段定义了两个多精度的有符号16 进制数,FIRST 和SECOND ,1)求两数的和与差,并将结果存放在THIRD 为首地址的缓冲区中;2)如果把两组数据当作十进制数据来处理,再次求两
文档评论(0)