北理工-汇编-实验二-算术运算类操作实验.doc

北理工-汇编-实验二-算术运算类操作实验.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

131****9010 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档