《算术运算》PPT课件.ppt
《《算术运算》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《算术运算》PPT课件.ppt(30页珍藏版)》请在三一办公上搜索。
1、1,第六章 算术运算,6.1 十进制数加减运算,在计算机中采用BCD码来表示十进制数。BCD码就是使用四位二进制数表示一位十进制数。,组合型(压缩型、装配型、PACKED)非组合型(非压缩型、拆散型、UNPACKED),在8086/8088系统中,将BCD码分为两种格式:,组合型:一个字节表示两个BCD码,即两位十进制数。,例如:0010 0011 表示十进制数的23,2,在计算机中直接实现十进制数的运算有两种方法:,2.直接进行十进制数运算:使用计算机中的BCD码指令进行运算。,1.数制转换:先把十进制数转换为二进制数,然后用计算机中的二进制运算指令进行运算。最后将结果由二进制数转换为十进制
2、数。,非组合型:一个字节的低四位表示一个BCD码,而高四位对所表示的十进制数没有影响。常为0000B或0011B。,例如:0000 1001与0011 1001都是十进制数9的非组合型的BCD码,3,(1)指令系统提供专门进行BCD码运算的加、减、乘、除运算指令。,在计算机内部实现BCD码运算的方法有两种:,(2)用二进制数的加、减、乘、除运算指令对BCD码运算,使用BCD码校正指令对结果校正。在8086/8088系统中就是使用这种方法。,4,8086/8088系统共有六条BCD码校正指令。首先介绍加减运算的校正指令。,1、非组合型加法校正指令AAA,在AAA指令执行前,必须是使用ADD或AD
3、C指令完成了加法,且结果是在AL中。AAA指令对AL中内容进行校正。,当AL中的低4位9或者AF=1,则AL=(AL)+6,AH=(AH)+1,AL中高4位清0,AF和CF置1。,校正过程为:,一、BCD码校正指令,AAA指令实现对一位十进制数进行校正。,5,例如:从键盘输入两个一位数的十进制数,然后相加,结果放在AH和AL中。,MOV AH,1 INT 21H MOV BL,AL;BL中为输入的一位十进制数的ASCII码,低4位为该数的BCD码MOV AH,1 INT 21H;AL中为输入的另一位十进制数的ASCII码MOV AH,0 ADD AL,BL AAA,6,2、组合型加法校正指令D
4、AA,在执行DAA指令前,必须是用ADD或ADC完成了加法操作,且加的结果放在AL中。,若AL中低4位9或AF=1,则 AL9或CF=1,则AL=(AL)+60H,CF=1,其校正过程为:,DAA指令实现对二位十进制数进行校正。,7,例:实现两个4位十进制数的加法4678+2556,NUM1 DB 78H,46HNUM2 DB 56H,25HSUM DB?,?.MOV AL,NUM1 ADD AL,NUM2;低字节BCD码相加 DAA;结果低字节校正 MOV SUM,AL MOV AL,NUM1+1 ADC AL,NUM2+1;高字节BCD码相加 DAA;结果高字节校正 MOV SUM+1,A
5、L,8,3、非组合型减法校正指令AAS,执行AAS指令前,必须是用SUB或SBB完成了减法操作,且结果放在AL中。,若AL中低4位9或AF=1,则AL=(AL)-6,AH=(AH)-1,同时将AL中高4位清零,CF和AF置1。,其校正过程为:,4、组合型减法校正指令DAS,执行DAS指令前,必须是用SUB或SBB完成了减法操作,且结果放在AL中。其校正过程为:,*若AL中低4位9或AF=1,则AL 9或CF=1,则AL=(AL)-60H,CF置1。,9,二、十进制数运算程序设计举例,设数据段有两个4位十进制数(非组合型BCD码)A1和A2。分别放在以DA1和DA2为首址的存储单元中(低字节放低
6、位,高字节放高位)。,例1 试编制一程序,实现非组合型BCD码减法并显示结果。,结果存放在以DA3为首址的存储单元中。为了显示方便,结果采用低字节放高位,高字节放低位。,为了表示A1和A2的相对大小,若A1 A2,则结果前加+号,否则加-号。,结果的显示使用9号DOS功能调用。,10,DATA SEGMENTDA1 DB 1,2,3,4DA2 DB 0,1,2,3DA3 DB 5 DUP(0),$DATA ENDSSTACK1 SEGMENT PARA STACK DW 20H DUP(0)STACK1 ENDS,源程序的数据段和堆栈安排如下:,11,MOV SI,0LEA DI,DA3+4M
7、OV CX,4,CLC,MOV AL,DA1SISBB AL,DA2SIAAS,LAHF,AND AL,0FHOR AL,30H,MOV DI,AL,SAHF,INC SIDEC DI,LOOP LOP,MOV AL,+,JNC NEXT,MOV AL,-,MOV DI,AL,MOV DX,OFFSET DA3MOV AH,09HINT 21H,12,CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATA MOV DS,AX MOV SI,0 LEA DI,DA3+4;存结果单元末址送DI MOV CX,4;十进制位数送CX
8、 CLCLOP:MOV AL,DA1SI SBB AL,DA2SI;两数相减 AAS;校正 LAHF;暂存向高位的借位 AND AL,0FH;转换成ASCII码 OR AL,30H MOV DI,AL;存结果 SAHF;恢复向高位的借位 INC SI,13,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 21HCODE ENDS END START,14,6.2 乘除法运算,一.乘除法
9、指令,指令格式:MUL OPRD其中:OPRD提供乘法运算的一个操作数,它只能是寄存器或存储器操作数。另一操作数隐含使用AL或AX寄存器。运算结果存放在AX(字节运算)或DX:AX(字乘法)中。,字节运算:AX=(AL)(OPRD)字运算:DX:AX=(AX)(OPRD),1、无符号数乘法指令MUL,15,MUL只影响CF和OF标志。若结果的AH(字节运算)或DX(字运算)为全0,CF=0、OF=0,否则 CF=1、OF=1。,2、带符号数乘法指令IMUL,指令格式:IMUL OPRD该指令的功能除了操作数是带符号外,其余与MUL指令相同。,对标志位的影响:若乘积的高半部AH(字节乘法)或DX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算术运算 算术 运算 PPT 课件
链接地址:https://www.31ppt.com/p-5565420.html