算术运算56讲解学习.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 算术运算;在计算机中直接实现十进制数的运算有两种方法:;(1)指令系统提供专门进行BCD码运算的加、减、乘、除运算指令。; 例如:从键盘输入两个一位数的十进制数,然后相加,结果放在AH和AL中。;2、组合型加法校正指令DAA;例:实现两个4位十进制数的加法4678+2556;3、非组合型减法校正指令AAS;二、十进制数运算程序设计举例;DATA SEGMENT DA1 DB 1,2,3,4 DA2 DB 0,1,2,3 DA3 DB 5 DUP(0),'$' DATA ENDS STACK1 SEGMENT PARA STACK DW 20H DUP(0) STACK1 ENDS;MOV SI,0 LEA DI, DA3+4 MOV CX,4;CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA MOV DS,AX MOV SI,0 LEA DI,DA3+4 ;存结果单元末址送DI MOV CX,4 ;十进制位数送CX CLC LOP: MOV AL,DA1[SI] SBB AL,DA2[SI] ;两数相减 AAS ;校正 LAHF ;暂存向高位的借位 AND AL,0FH ;转换成ASCII码 OR AL,30H MOV [DI],AL ;存结果 SAHF ;恢复向高位的借位 INC SI ; DEC DI LOOP LOP MOV AL,‘+ ’ JNC NEXT MOV AL,‘-’ ;有向更高位的借位, 存‘-’号 NEXT: MOV [DI],AL MOV DX,OFFSET DA3 MOV AH,9 ;9号功能调用显示结果 INT 21H MOV AH,4CH INT 21H CODE ENDS END START ;6. 2 乘除法运算; MUL只影响CF和OF标志。若结果的AH(字节运算)或DX(字运算)为全0,CF=0、OF=0,否则 CF=1、OF=1。;例如,对字节乘法有: 若乘积的(AH)且AL最高为1,则表示符号扩展, 则CF=0、OF=0; 若乘积的(AH)且AL最高为0,则表示符号扩展, 则CF=0、OF=0; 若乘积的(AH)不是符号扩展, 则CF=1、OF=1; 若乘积的(AH)不是符号扩展, 则CF=1、OF=1。;3、无符号数除法指令DIV;4、带符号数除法指令IDIV;由于没有乘方指令,因此需要将乘方转换为乘法运算。即: ;DATA SEGMENT VARX DW 5 VARY DW 6 POWER DW ? DATA ENDS STACK1 SEGMENT PARA STACK DW 20H DUP(0) STACK1 ENDS;初始化:AX<=VARX CX<=VARY;CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 MATH: MOV AX,DATA MOV DS,AX MOV AX,VARX MOV CX,V

文档评论(0)

yuzongxu123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档