




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
. . . . 本科实验报告实验名称: 算术运算类操作实验 课程名称:CPU与汇编实验实验时间:2015.10.29任课教师:王耀威实验地点:10-102实验教师:潘丽敏实验类型: 原理验证 综合设计 自主创新学生姓名:王晓玥学号/班级:1120131332/05111311组 号:学 院:信息与电子学院同组搭档:专 业:信息工程成 绩:一、实验要求和目的 1、了解汇编语言中的二进制、十六进制、十进制、BCD 码的表示形式; 2、掌握各类运算类指令对各状态标志位的影响及测试方法; 3、熟悉汇编语言二进制多字节加减法基本指令的使用方法; 4、熟悉无符号数和有符号数乘法和除法指令的使用; 5、掌握符号位扩展指令的使用。 6、掌握 BCD 码调整指令的使用方法 二、软硬件环境 1、硬件环境:计算机系统 windows; 2、软件环境:装有 MASM、DEBUG、LINK、等应用程序。 三、实验涉及的主要知识 1、加减法处理指令 主要有加法指令 ADD,带进位加法 ADC,减法指令 SUB,带进位减法指令 SBB。 2乘除法指令和符号位扩展指令 主要有无符号数乘法指令MUL,带符号数乘法指令IMUL,无符号数除法指令DIV,带符号数除法指令 IDIV,以及符号位从字节扩展到字的指令 CBW 和从字扩展到双字的指令 CWD。 3BCD 码的调整指令 主要有非压缩的 BCD 码加法调整指令 DAA,压缩的 BCD 码减法调整指令 DAS,非压缩的 BCD 码加法调整指令 AAA,非压缩的 BCD 码减法调整指令 AAS,乘法的非压缩 BCD码调整指令 AAM,除法的非压缩 BCD 码调整指令 AAD。 8088/8086 指令系统提供了实现加、减、乘、除运算的上述基本指令, 可对表 1 所示的数据类型进行数据运算。 表 1-2-1 数据类型数据运算表数制二进制BCD码带符号无符号组合非组合运算符、操作数字节、字、多精度字节(二位数字)字节(一位数字)四、实验内容与步骤 1、对于两组无符号数,087H 和 034H,0C2H 和 5FH,试编程求这两组数的和差积商,并考虑计算结果对标志寄存器中状态标志位的影响: (1)实验流程将一组操作数存入内存分别用ADD,SUB,MUL,DIV对两数进加减乘除,并把结果存入内存,进行除法运算时商和余数单独储存运算结束(2)实验代码:DATAS SEGMENT BUF1 DB 087H BUF2 DB 034H BUF3 DB 4 DUP(?);此处输入数据段代码 DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX MOV AX,0 MOV SI,AX ;两数相加 MOV AL,BUF1 MOV BL,BUF2 ADD AL,BL MOV BUF3SI,AL MOV AL,0 MOV AL,0 INC SI MOV BUF3SI,AL ;两数相减 MOV AL,BUF1 MOV BL,BUF2 SUB AL,BL INC SI MOV BUF3SI,AL MOV AL,0 SBB AL,0 INC SI MOV BUF3SI,AL ;两数相乘 MOV AL,BUF1 MOV BL,BUF2 MUL BL INC SI MOV BUF3SI,AL INC SI MOV BUF3SI,AH ;两数相除,AL中存放商,AH中存放余数 MOV AX,0 MOV AL,BUF1 MOV BL,BUF2 DIV BL INC SI MOV BUF3SI,AL INC SI MOV BUF3SI,AH ;此处输入代码段代码 MOV AH,4CH INT 21HCODES ENDS END START(3)实验结果: 1)第一组操作数87H,34H 2)第二组操作数0C2H,5FH(4)计算结果计算状态标志表达式结果CFAFZFOFSFPF087H+034H00BB000011087H-034H0053000101087H*034H1B6C100100087H/084H02(1F)1000010C2H+05FH01210000000C2H-O5FH00630010010C2H*05FH47FE0000010C2H/05FH02(04)000000(5)各运算对状态标志位的影响及其意义。 状态标志位加法减法乘法除法CF最高有效位向高位有进位为1,否则为0最高有效位向高位有借位为1,否则为0CF OF=0,乘积的高一半为0(字节操作的AH或字操作的DX);CF OF=1,乘积的高一半不为0不确定AF无影响ZF运算结果非0,ZF=0,否则为1无影响OF两个不同符号数相加,或同符号数相加,结果符号与其相同,则为0;同符号数相加,结果符号与其相反,则为1同符号数相减,或不同符号数相减时结果符号与减数不同,则为0;两数符号相反,结果符号与减数相同,则为1CF OF=0,乘积的高一半为0(字节操作的AH或字操作的DX);CF OF=1,乘积的高一半不为0SF结果不为负则为0;否则为1无影响PF无影响2、在数据段定义了两个多精度的有符号 16 进制数,FIRST 和 SECOND ,1)求两数的和与差,并将结果存放在 THIRD 为首地址的缓冲区中;2)如果把两组数据当作十进制数据来处理,再次求两数的和与差,并将结果存放在 FORTH 为首地址的缓冲区中。试编程实现上述运算。 FIRST DB 45 H,82H,96 H,57H SECOND DB 12 H,46H,83 H,45H (1)程序流程图将两组数字存入内存用ADC从最低位对操作数进行相加,结果存入THIRD中是否加到最高位 否 是上次运算是否有进位调整 是 否相加结束,进行相减循环 进行十进制运算,结果存入FORTH中结束(2)程序代码:DATAS SEGMENT FIRST DB 45H,82H,96H,57H SECOND DB 12H,46H,83H,45H THIRD DB 8 DUP(?) FORTH DB 8 DUP(?) DATAS ENDS STACKS SEGMENTSTACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AXMOV AX,0 MOV BX,4MOV CX,4L: MOV AL,BX+3ADC AL,BX-1MOV BX+7,ALDEC BXLOOP LMOV BX,4MOV CX,4M: MOV AL,BX-1 SBB AL,BX+3MOV BX+11,AL DEC BX LOOP M MOV BX,4 MOV CX,4N: MOV AL,BX+3 ADC AL,BX-1DAAMOV BX+15,ALDEC BXLOOP NMOV BX,4MOV CX,4O: MOV AL,BX-1SBB AL,BX+3DASMOV BX+19,ALDEC BXLOOP O MOV AH,4CH INT 21H CODES ENDS END START (3)运行结果 16 进制结果10 进制结果FIRST +SECOND57 C9 19 9C58 29 80 02FIRST -SECOND33 3C 13 1233 36 13 123、编程计算((Z +X*Y -328) -V)/ Y,其中 X、Y、Z、V 均为 16 位带符号数,假设初始数据分别装入 X、Y、Z、V 单元,要求上式计算结果的商存入 AX,余数存入 DX 寄存器。同学自行给出初始值加以验证程序。 (1)流程图及代码DATAS SEGMENT X DW 0D9H Y DW 05CH Z DW 22H V DW 33H result DW 2 DUP(?);此处输入数据段代码 DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX MOV AX,X IMUL Y MOV BX,AX MOV CX,DX MOV AX,Z CWD ADD BX,AX ADC CX,DX SUB BX,328 SBB CX,0 MOV AX,V CWD SUB BX,AX SBB CX,DX MOV AX,BX MOV DX,CX IDIV Y MOV RESULT,AX MOV RESULT+2,DX;此处输入代码段代码 MOV AH,4CH INT 21HCODES ENDSEND START(2)运行结果运算结果为AX=00D5H,DX=0017H,经验证,结果正确1. 若不给自己设限,则人生中就没有限制你发挥的藩篱。2. 若不是心宽似海,哪有人生风平浪静。在纷杂的尘世里,为自己留下一片纯静的心灵空间,不管是潮起潮落,也不管是阴晴圆缺,你都可以免去浮躁,义无反顾,勇往直前,轻松自如地走好人生路上的每一步3. 花一些时间,总会看清一些事
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高一上学期英语分层教学计划
- 电除颤术电极贴放置流程
- 2025年小学一二年级体育趣味竞赛计划
- 高一下学期年级部家校沟通计划
- 苗木运输包装保护改进措施
- 信息技术云计算研修计划
- 水利工程安全监督岗位职责与组织结构
- 新冠疫情后复学复课教育教学工作计划
- 餐饮服务岗位个人工作自查报告范文
- 儿童合理检查合理治疗合理用药管理措施
- 2025至2030高纯氯化钾行业产业运行态势及投资规划深度研究报告
- ××中学实验室危化品管理细则
- 2025年人教版小学五年级下册数学期末重难点测评试题(含答案和解析)
- 2024年天津市应急管理局招聘行政执法专职技术检查员笔试真题
- 《2025年CSCO肾癌诊疗指南》解读
- 从知沟到数字鸿沟课件
- 《企业员工培训国内外文献综述》4800字
- 客户确认单(标准模版)
- 船舶修理92黄本
- 慢性颈内动脉闭塞血管内再通治疗评估与技术课件
- 模板摊销计算规则
评论
0/150
提交评论