汇编试验二 算术运算类操作试验(基础与设计)_第1页
汇编试验二 算术运算类操作试验(基础与设计)_第2页
汇编试验二 算术运算类操作试验(基础与设计)_第3页
汇编试验二 算术运算类操作试验(基础与设计)_第4页
汇编试验二 算术运算类操作试验(基础与设计)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——汇编试验二算术运算类操作试验(基础与设计)

汇编语言试验报告

试验二算术运算类操作试验(基础与设计)

班级:姓名:学号:试验日期:

汇编语言试验报告班级:姓名:学号:

试验二算术运算类操作试验(基础与设计)

一、试验要求和目的

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。3.BCD码的调整指令

主要有非压缩的BCD码加法调整指令DAA,压缩的BCD码减法调整指令DAS,非压缩的BCD码加法调整指令AAA,非压缩的BCD码减法调整指令AAS,乘法的非压缩BCD码调整指令AAM,除法的非压缩BCD码调整指令AAD。

8088/8086指令系统提供了实现加、减、乘、除运算的上述基本指令,可对表1所示的数据类型进行数据运算。数制带符号运算符操作数无符号组合+、-非组合+、-、×、÷+、-、×、÷字节、字、多精度二进制BCD码字节(二位数字)字节(一位数字)表1数据类型数据运算表

各指令的格式、功能及其对标志位的影响等细节知识,请同学们查阅相关书籍,这里不再赘述。

四、试验内容与步骤

1、对于两组无符号数,087H和034H,0C2H和5FH,试编程求这两组数的和差积商,并考虑计算结果对标志寄放器中状态标志位的影响

2、在数据段定义了两个多精度的有符号16进制数,FIRST和SECOND,1)求两数的和与差,并将结果存放在THIRD为首地址的缓冲区中;2)假使把两组数据当作十进制数据来处理,再次求两数的和与差,并将结果存放在FORTH为首地址的缓冲区中。试编程实现

1

汇编语言试验报告班级:姓名:学号:上述运算。

3、编程计算((Z+X*Y-328)-V)/Y,其中X、Y、Z、V均为16位带符号数,假设初始数据分别装入X、Y、Z、V单元,要求上式计算结果的商存入AX,余数存入DX寄放器。同学自行给出初始值加以验证程序。

五、程序设计:

试验1:流程图如下:

开始

输入数据

进行运算

输出结果

终止试验2:以16进制加法为例,流程图如下:开始

输入FIRST和SECOND

SI=3,CX=4YCX=0?N输出[THIRD+1][SI]=FIRST[SI]+SECOND[SI]THIRD

CX-1,SI-1终止

其他程序流程图类似。

六、试验过程及结果:

试验1:

1.根据要求,设计程序如下:

2

汇编语言试验报告班级:姓名:学号:

2.编译代码,生成OBJ文件,再生成EXE文件,可成功运行。3.进行程序调试可得运算结果如下:087H+034H的结果:

087H-034H的结果:

087H×034H的结果:

3

汇编语言试验报告班级:姓名:学号:087H/034H的结果:

0C2H+5FH的结果:

0C2H-5FH的结果:

0C2H×5FH的结果:

0C2H÷5FH的结果:

4.总结两组数的和差积商及标志状态位状况如下表:

计算表达式087H+034H087H-034H087H*034H087H/034H0C2H+5FH0C2H-5FH0C2H*5FH0C2H/5FH

4

状态标志结果0BBH53H1B6CH商2H余1FH121H63H47FE商2H余4HCFNCNCNCNCNCNCNCNCAFNANANANAACACNANAZFNZNZNZZRNZNZNZZROFNVNVNVNVNVNVNVNVSFPLPLPLPLPLPLPLPLPFPEPEPEPEPEPEPOPE

汇编语言试验报告班级:姓名:学号:

状态标志位CF0最高有效位向高位无进位1最高有效位向高位有进位0二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的状况)AFZFOF同符号数相减时,或不减,其结果符号与减数不同。1二进制减法运算中最高有效位向高位有借位(被减数小于减数,不0CFOF=00乘积的高一半为0(字节操作的(AH)或字操作的1CFOF=11乘积的高一半不为00不确定1加法减法乘法除法够减的状况(DX))两数符号相反(正数-负数,或负而结果符号与减数一致。无影响无影响CFOF=00乘积的高一半为0(字(AH)或字操作的(DX))无影响无影响无影响无影响无影响无影响CFOF=11乘积的高一半不为0结果不为零结果为零两个不同符号数相加,或同符号数相加,结果符号与其一致。两个同符号数相加(正负数+负数),结果符号与其相反。数+正数或同符号数相数-正数),节操作的SFPF结果不为负结果为负试验2:1.根据要求,编译程序如下:

FIRST+SECOND的16进制:

5

汇编语言试验报告班级:姓名:学号:FIRST-SECOND的16进制:

FIRST+SECOND的10进制:

6

汇编语言试验报告班级:姓名:学号:FIRST-SECOND的10进制:

2.编译代码,生成OBJ文件,再生成EXE文件,可成功运行。3.进行程序调试可得运算结果如下:FIRST+SECOND的16进制结果:

7

汇编语言试验报告班级:姓名:学号:FIRST-SECOND的16进制结果:

FIRST+SECOND的10进制结果:

FIRST-SECOND的10进制结果:

4.最终结果如下:

FIRST+SECONDFIRST-SECOND

十六进制结果57H,C8H,19H,9CH33H,3CH,13H,12H十进制结果58,29,80,0333,36,13,128

汇编语言试验报告班级:姓名:学号:试验3:

1.依据题意编写代码如下:

2.编译代码,生成OBJ文件,再生成EXE文件,可成功运行。3.进行程序调试可得运算结果如下:

即商为82H,余数为1FH

七、试验感想:

经过两次试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论