北京理工大学汇编实验二报告

上传人:豆*** 文档编号:131183579 上传时间:2022-08-06 格式:DOCX 页数:14 大小:204.25KB
返回 下载 相关 举报
北京理工大学汇编实验二报告_第1页
第1页 / 共14页
北京理工大学汇编实验二报告_第2页
第2页 / 共14页
北京理工大学汇编实验二报告_第3页
第3页 / 共14页
点击查看更多>>
资源描述
本科实验报告实验名称: 算术运算类操作实验 课程名称:CPU与汇编实验实验时间:.10.29任课教师:王耀威实验地点:10-102实验教师:潘丽敏实验类型: 原理验证 综合设计 自主创新学生姓名:王晓玥学号/班级:/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,经验证,成果对的
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!