欢迎来到天天文库
浏览记录
ID:16478021
大小:761.50 KB
页数:10页
时间:2018-08-10
《汇编实验二 算术运算类操作实验(基础与设计)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、汇编语言实验报告班级:姓名:学号:汇编语言实验报告实验二算术运算类操作实验(基础与设计)班级:姓名:学号:实验日期:9汇编语言实验报告班级:姓名:学号:实验二算术运算类操作实验(基础与设计)一、实验要求和目的1、了解汇编语言中的二进制、十六进制、十进制、BCD码的表示形式;2、掌握各类运算类指令对各状态标志位的影响及测试方法;3、熟悉汇编语言二进制多字节加减法基本指令的使用方法;4、熟悉无符号数和有符号数乘法和除法指令的使用;5、掌握符号位扩展指令的使用。6、掌握BCD码调整指令的使用方法二、软硬件环境1、硬件
2、环境:计算机系统windows;2、软件环境:装有MASM、DEBUG、LINK、等应用程序。三、实验涉及的主要知识本实验主要进行算术运算程序设计和调试,涉及到的知识点包括:1.加减法处理指令主要有加法指令ADD,带进位加法ADC,减法指令SUB,带进位减法指令SBB。2.乘除法指令和符号位扩展指令主要有无符号数乘法指令MUL,带符号数乘法指令IMUL,无符号数除法指令DIV,带符号数除法指令IDIV,以及符号位从字节扩展到字的指令CBW和从字扩展到双字的指令CWD。3.BCD码的调整指令主要有非压缩的BCD码
3、加法调整指令DAA,压缩的BCD码减法调整指令DAS,非压缩的BCD码加法调整指令AAA,非压缩的BCD码减法调整指令AAS,乘法的非压缩BCD码调整指令AAM,除法的非压缩BCD码调整指令AAD。8088/8086指令系统提供了实现加、减、乘、除运算的上述基本指令,可对表1所示的数据类型进行数据运算。数制二进制BCD码带符号无符号组合非组合运算符+、-、×、÷+、-+、-、×、÷操作数字节、字、多精度字节(二位数字)字节(一位数字)表1数据类型数据运算表各指令的格式、功能及其对标志位的影响等细节知识,请同学们
4、查阅相关书籍,这里不再赘述。四、实验内容与步骤1、对于两组无符号数,087H和034H,0C2H和5FH,试编程求这两组数的和差积商,并考虑计算结果对标志寄存器中状态标志位的影响2、在数据段定义了两个多精度的有符号16进制数,FIRST和SECOND,1)求两数的和与差,并将结果存放在THIRD为首地址的缓冲区中;2)如果把两组数据当作十进制数据来处理,再次求两数的和与差,并将结果存放在FORTH为首地址的缓冲区中。试编程实现9汇编语言实验报告班级:姓名:学号:上述运算。3、编程计算((Z+X*Y-328)-V
5、)/Y,其中X、Y、Z、V均为16位带符号数,假设初始数据分别装入X、Y、Z、V单元,要求上式计算结果的商存入AX,余数存入DX寄存器。同学自行给出初始值加以验证程序。五、程序设计:实验1:流程图如下:开始输入数据进行运算输出结果结束实验2:以16进制加法为例,流程图如下:开始输入FIRST和SECONDSI=3,CX=4YCX=0?N输出[THIRD+1][SI]=FIRST[SI]+SECOND[SI]THIRDCX-1,SI-1结束其他程序流程图类似。六、实验过程及结果:实验1:1.根据要求,设计程序如下
6、:9汇编语言实验报告班级:姓名:学号:2.编译代码,生成OBJ文件,再生成EXE文件,可成功运行。3.进行程序调试可得运算结果如下:087H+034H的结果:087H-034H的结果:087H×034H的结果:9汇编语言实验报告班级:姓名:学号:087H/034H的结果:0C2H+5FH的结果:0C2H-5FH的结果:0C2H×5FH的结果:0C2H÷5FH的结果:4.总结两组数的和差积商及标志状态位情况如下表:计算状态标志表达式结果CFAFZFOFSFPF087H+034H0BBHNCNANZNVPLPE08
7、7H-034H53HNCNANZNVPLPE087H*034H1B6CHNCNANZNVPLPE087H/034H商2H余1FHNCNAZRNVPLPE0C2H+5FH121HNCACNZNVPLPE0C2H-5FH63HNCACNZNVPLPE0C2H*5FH47FENCNANZNVPLPO0C2H/5FH商2H余4HNCNAZRNVPLPE9汇编语言实验报告班级:姓名:学号:状态标志位加法减法乘法除法01010101CF最高有效位向高位无进位最高有效位向高位有进位二进制减法运算中最高有效为向高位无借位(被减
8、数〉=减数,够减的情况)二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况CFOF=00乘积的高一半为0(字节操作的(AH)或字操作的(DX))CFOF=11乘积的高一半不为0不确定AF无影响无影响ZF结果不为零结果为零无影响无影响OF两个不同符号数相加,或同符号数相加,结果符号与其相同。两个同符号数相加(正数+正数或负数+负数),结果符号与其相反。同符号数相减时,或
此文档下载收益归作者所有