单片机课程第5次课ppt课件.ppt

单片机课程第5次课ppt课件.ppt

ID:59449154

大小:210.00 KB

页数:38页

时间:2020-09-18

单片机课程第5次课ppt课件.ppt_第1页
单片机课程第5次课ppt课件.ppt_第2页
单片机课程第5次课ppt课件.ppt_第3页
单片机课程第5次课ppt课件.ppt_第4页
单片机课程第5次课ppt课件.ppt_第5页
资源描述:

《单片机课程第5次课ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2算术运算类指令(24条)ArithmeticOperations主要对8位无符号数;也可用于带符号数运算。包括:加、减、乘、除、加1、减1运算指令影响PSW有关位。算术运算类指令(6种/24条)加法运算:(ADD——4条)带进位加法运算:(ADDC——4条)带借位减法运算:(SUBB——4条)加1/减1操作:(INC,DEC——9条)单字节乘/除法运算:(MUL,DIV——2条)十进制调整:(DAA——1条)加法运算:(ADD——4条)带进位加法运算:(ADDC——4条)带借位减法运算:(SUBB——4条)所有的加法(ADD)、带进位加法(AD

2、DC)、带借位减法(SUBB)运算都是以A为一个加数或被减数,最终结果也存进A。加法(ADD)、带进位加法(ADDC)以及带借位减法(SUBB)运算中,如果产生了进位或借位,将自动对PSW中的Cy标志位置“1”。带进位加法(ADDC):(A)(A)+(Cy)+(第二操作数)带借位减法(SUBB):(A)(A)-(Cy)-(第二操作数)ADDA,#data;A+data→AADDA,direct;A+(direct)→AADDA,Rn;A+Rn→AADDA,@Ri;A+(Ri)→A用途:将A中的值与源操作数所指内容相加,最终结果存在A中。

3、1.不带进位位的加法指令(4条)加法指令例:设(A)=49H,(R0)=6BH执行:ADDA,R0结果:CY=?,AC=?,P=?,OV=?,(A)=?CY=0,AC=1,P=0,OV=1,(A)=B4H2.带进位位的加法指令(4条)ADDCA,Rn;A+Rn+CY→AADDCA,direct;A+(direct)+CY→AADDCA,@Ri;A+(Ri)+CY→AADDCA,#data;A+data+CY→A用途:将A中的值和其后面的值以及进位位C中的值相加,最终结果存在A,常用于多字节数运算中。说明:由于51单片机是一种8位机,所以只能做8位

4、的数学运算,但8位运算的范围只有0~255,这在实际工作中是不够的,因此就要进行扩展,一般是将2个8位(两字节)的数学运算合起来,成为一个16位的运算,这样,可以表达的数的范围就可以达到0~65535。例:先做67H+A0H=107H,而107H显然超过了0FFH,因此最终保存在A中的是07H,而1则到了PSW中的CY位了。换言之,CY就相当于是100H。然后再做10H+30H+CY,结果是41H,所以最终的结果是4107H。1067H+30A0H00010000011001110011000010100000010000010000011110

5、67H30A0H4107H例:设1067H存在R1R0中,30A0H存在R3R2中,计算R1R0+R3R2,结果存在R5R4中。MOVA,R0ADDA,R2;R0+R2→A和CYMOVR4,AMOVA,R1ADDCA,R3;R1+R3+CY→A和CYMOVR5,A又例:先做67H+20H=87H,没有超过0FFH,因此最终保存在A中的是87H,而PSW中的CY=0。然后再做10H+30H+CY,结果是40H,所以最终的结果是4087H。1067H+3020H000100000110011100110000001000000100000010000

6、1111067H3020H4087HDAA在进行BCD码加法运算时,跟在ADD和ADDC指令之后,用于对累加器A中刚进行的两个BCD码的加法的结果进行十进制调整。例:A=00010101BCD(代表十进制数15)ADDA,#83.十进制调整指令(1条);A=1DH,按二进制规律加;A=23H,按十进制规律加DAA调整要完成的任务是:(1)当累加器A中的低4位数出现了非BCD码(1010~1111)或低4位产生进位(AC=1),则应在低4位加6调整,以产生低4位正确的BCD结果。(2)当累加器A中的高4位数出现了非BCD码(1010~1111)或高

7、4位产生进位(CY=1),则应在高4位加6调整,以产生高4位正确的BCD结果。十进制调整指令执行后,PSW中的CY表示结果的百位值。例若(A)=01010110B,表示的BCD码为56,(R3)=01100111B,表示的BCD码为67,(CY)=0。执行以下指令:ADDA,R2DAA由于(A)=00100011B,即23,且(CY)=1,即结果为BCD数123。应该注意,DA指令不能对减法进行十进制调整。减法指令(8条)SUBBA,Rn;A-Rn-CY→ASUBBA,direct;A-(direct)-CY→ASUBBA,@Ri;A-(Ri)-

8、CY→ASUBBA,#data;A-data-CY→A将A中的值减去源操作数所指内容以及进位位C中的值,最终结果存在A中。1.带借位的减

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。