实验二算术运算类操作实验_第1页
实验二算术运算类操作实验_第2页
实验二算术运算类操作实验_第3页
实验二算术运算类操作实验_第4页
实验二算术运算类操作实验_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、汇编程序上机实践实验报告实验二算术运算类操作实验 (基础与设计班级:05811101学号:1120111447姓名:敬汉丹实验二算术运算类操作实验 (基础与设计一、实验要求和目的1、了解汇编语言中的二进制、十六进制、十进制、BCD 码的表示形式;2、掌握各类运算类指令对各状态标志位的影响及测试方法;3、熟悉汇编语言二进制多字节加减法基本指令的使用方法;4、熟悉无符号数和有符号数乘法和除法指令的使用;5、掌握符号位扩展指令的使用。6、掌握BCD 码调整指令的使用方法二、软硬件环境1、硬件环境:计算机系统 windows;2、软件环境:装有MASM、DEBUG、LINK、等应用程序。三、实验涉及的

2、主要知识本实验主要进行算术运算程序设计和调试,涉及到的知识点包括:1.加减法处理指令主要有加法指令 ADD,带进位加法ADC,减法指令SUB,带进位减法指令SBB。2.乘除法指令和符号位扩展指令主要有无符号数乘法指令MUL,带符号数乘法指令IMUL,无符号数除法指令DIV,带符号数除法指令IDIV,以及符号位从字节扩展到字的指令CBW 和从字扩展到双字的指令CWD。3.BCD 码的调整指令主要有非压缩的 BCD 码加法调整指令DAA,压缩的BCD 码减法调整指令DAS,非压缩的BCD 码加法调整指令AAA,非压缩的BCD 码减法调整指令AAS,乘法的非压缩BCD码调整指令AAM,除法的非压缩B

3、CD 码调整指令AAD。四、实验内容与步骤1、对于两组无符号数,087H 和034H,0C2H 和5FH,试编程求这两组数的和差积商,并考虑计算结果对标志寄存器中状态标志位的影响:源程序:注:由于所给数据长度都是一字节,因而求和求差运算用al与bl进行以观察标志位状态DATAS SEGMENT;此处输入数据段代码DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV ax,87hMOV bx,34hadd al,blnopMOV ax,87hMOV bx,34hsub al,blnopMOV ax,87hMOV bx,34hmul bx

4、nopMOV ax,87hMOV bl,34hdiv blnopMOV ax,00C2hMOV bx,5Fhadd al,blnopMOV ax,00C2hMOV bx,005Fhsub al,blnopMOV ax,00C2hMOV bx,005Fhmul bxnopMOV ax,00C2hMOV bl,5Fhdiv blnop;此处输入代码段代码MOV AH,4CHINT 21HCODES ENDSEND START计算状态标志表达式结果CF AF ZF OF SF PF 087H+034H BBH 0 0 0 0 0 1 087H-034H 53H 1 0 0 0 0 1 087H*03

5、4H 1B6CH 0 0 0 0 0 1 087H/034H 1F02H 0 0 0 0 0 1 0C2H+5FH 21H 1 1 0 0 0 1 0C2H-5FH 63H 0 1 0 1 0 1 0C2H*5FH 47FEH 0 1 0 0 0 1 0C2H/5FH 402H 0 1 0 0 0 1 CF:进位标志位当进行加(减法运算时,若最高位向前有进(借位,则CF=1,否则CF=0。AF:辅助进位在加(减法操作中,Bit3向Bit4有进位(借位发生时,AF=1,否则AF=0。DAA和DAS指令测试这个标志位,以便在BCD加法或减法之后调整AL中的值。ZF:零标志位当运算结果为零时ZF=1

6、,否则ZF=0。OF:溢出标志位当算术运算结果超出了带符号数的范围,即溢出时,OF=1,否则OF=0。SF:符号标志位当运算结果的最高位为1时SF=1,否则SF=0。PF:奇偶标志位当运算结果的低8位中的“1”的个数为偶数时PF=1,为奇数时,PF=0。2、在数据段定义了两个多精度的有符号16 进制数,FIRST 和SECOND ,1求两数的和与差,并将结果存放在THIRD 为首地址的缓冲区中;2如果把两组数据当作十进制数据来处理,再次求两数的和与差,并将结果存放在FORTH 为首地址的缓冲区中。试编程实现上述运算。FIRST DB 45 H,82H,96 H,57HSECOND DB 12

7、H,46H,83 H,45H程序分析:首先定义4个连续占用4个字节空间的存储单元,首地址分别为FIRST , SECOND,THIRD和FORTH,然后将双精度16进制数分成4个字节,分别以字节为单位存入FIRST和SECOND。由于数字的低位在存储单元的高地址单元里,因此,为了保留低位向高位的进位及借位,应当从高地址内存储的数据开始计算。程序:DATAS SEGMENTfirst db 45h,82h,96h,57hsecond db 12h,46h,83h,45hthird db 00h,00h,00h,00h ;此处输入数据段代码DATAS ENDSCODES SEGMENTASSUME

8、 CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXmov ax,0mov bx,0mov cx,0mov dx,0mov cx,4mov si,3(16进制加法L1:mov al,firstsimov bl,almov al,secondsiadc al,blmov thirdsi,aldec cxjnz L1nop ;此处输入代码段代码MOV AH,4CHINT 21HCODES ENDSEND START(16进制减法的循环体L1:mov bl,firstsimov al,blmov bl,secondsisbb al,blmov thirdsi,a

9、ldec sidec cxjnz L1(10进制加法循环体L1:mov al,firstsimov bl,almov al,secondsiadc al,bldaamov thirdsi,aldec sidec cxjnz L1(10进制减法的循环体L1:mov bl,firstsimov al,blmov bl,secondsicmp si,1je S1sbb al,bljmp S2S1: sbb al,blsub al,6S2: daamov thirdsi,aldec sijnz L1add al,1nop16进制加法单步调试结果,ax里的值依次为求和后从低位到高位的结果: 57C919

10、9C 16进制减法单步调试结果,ax里的值依次为求差后从低位到高位的结果: 333C1312 10进制加法单步调试结果,ax里的值依次为求和后从低位到高位的结果: 58298002 10进制减法单步调试结果,ax里的值依次为求差后从低位到高位的结果: 33361312 16进制结果10进制结果FIRST+SECOND 57C9199C 58298002FIRST-SECOND 333C1312 333613123、编程计算(Z +X*Y -328 -V/ Y,其中X、Y、Z、V 均为16 位带符号数,假设初始数据分别装入X、Y、Z、V 单元,要求上式计算结果的商存入AX,余数存入DX 寄存器。

11、同学自行给出初始值加以验证程序。程序分析:首先,X、Y、Z、V 均为16 位带符号数,则,X*Y为32位,那么需要对存入z和v的寄存器的内容进行扩展,同时328的高16位补零。最后进行除法时还应注意商默认存入AX,而余数默认存入DX寄存器。源程序:DATAS SEGMENTx dw 20y dw 50z dw 20v dw 20;此处输入数据段代码DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXmov ax,ximul ynopmov cx,axmov bx,dxmov ax,zcwdadd cx,axadc bx,dxnopsub cx,328sbb bx,0nopmov ax,vcwdsub cx,axsbb bx,dxxchg cx,axxchg bx,dxidiv ynop;此处输入代码段代码MOV AH,4CHINT 21HCODES ENDSEND START (Z +X*Y -328 -V/ Y=(20+20*50-328-

温馨提示

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

评论

0/150

提交评论