第7讲单片机指令系统3.ppt

第7讲单片机指令系统3.ppt

ID:48167640

大小:706.00 KB

页数:50页

时间:2020-01-16

第7讲单片机指令系统3.ppt_第1页
第7讲单片机指令系统3.ppt_第2页
第7讲单片机指令系统3.ppt_第3页
第7讲单片机指令系统3.ppt_第4页
第7讲单片机指令系统3.ppt_第5页
资源描述:

《第7讲单片机指令系统3.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7讲(2011-05-05)10-11第2学期第10周汽车单片机1.指令系统简介;2.寻址方式;3.指令系统;4.汇编语言程序设计;5.程序设计实例;第3章MCS-51指令系统及汇编语言复习数据传送类指令P50~57片内数据传送指令:MOV片外数据传送指令:MOVX程序存储器数据传送指令:MOVC数据交换指令:XCH,XCHD,SWAP堆栈操作指令:PUSH,POP3.3.2算术运算类指令(24条)单字节的加、减、乘、除法指令,都是针对8位二进制无符号数。执行的结果对Cy、Ac、OV三种标志位有影响。但增1和减1指

2、令不影响上述标志。主要包括(1)加法(带、不带进位加法、加1、十进制调整);(2)减法(带借位、减1);(3)乘法;(4)除法;1加法指令(1)不带进位加法指令这类指令所完成的操作是把源操作数(立即数、直接地址单元内容、间接地址单元内容、工作寄存器内容)与累加器A的内容相加,将结果保存在累加器A中。指令助记符与功能说明如下:目的操作数源操作数功能说明源操作数寻址方式ADDA,#data;(A)←(A)+data立即寻址ADDA,direct;(A)←(A)+(direct)直接寻址ADDA,@Ri;(A)←(A)+(

3、(Ri))寄存器间接寻址ADDA,Rn;(A)←(A)+(Rn)寄存器寻址要注意累加器A中的运算结果对各个标志位的影响:(a)如果位7有进位,则置“1”进位标志Cy,否则清“0”Cy(b)如果位3有进位,置“1”辅助进位标志Ac,否则清“0”Ac(Ac为PSW寄存器中的一位)(c)如果位6有进位,而位7没有进位,或者位7有进位,而位6没有,则溢出标志位OV置“1”,否则清“0”OV。溢出标志位OV的状态,只有在带符号数加法运算时才有意义。当两个带符号数相加时,OV=1,表示加法运算超出了累加器A所能表示的带符号数的有

4、效范围例执行指令:MOVA,#0A9HADDA,#0B8H对程序状态寄存器的影响如图3.6所示。运算结果:(A)=61H,CY=1,AC=1,OV=1,P=1,(PSW)=0C5H带进位加法指令与前述加法指令的区别仅为考虑进位位,其他与加法指令相同。(2)带进位加法指令指令助记符与功能说明如下:目的操作数源操作数功能说明源操作数寻址方式ADDCA,#data;(A)←(A)+data+(C)立即寻址ADDCA,direct;(A)←(A)+(direct)+(C)直接寻址ADDCA,@Ri;(A)←(A)+((Ri)

5、)+(C)寄存器间接寻址ADDCA,Rn;(A)←(A)+(Rn)+(C)寄存器寻址(3)增1指令INCA;(A)←(A)+1INCdirect;(direct)←(direct)+1INC@Ri;((Ri))←((Ri))+1INCRn;(Rn)←(Rn)+1INCDPTR;(DPTR)←(DPTR)+1例1设(A)=40H,(41H)=29H,则执行下列指令:INCA;(A)←40H+1HINC41H;(41H)←29H+1H结果:(A)=41H,(41H)=2AH例2设(R0)=56H,片内RAM单元(56H)

6、=0FFH,(57H)=50H,则执行下列指令:INC@R0;(56H)←00HINCR0;(R0)←57HINC@R0;(57H)←51H结果:(56H)=00H,(R0)=57H,(57H)=51H例3执行下述指令序列:MOVDPTR,#2FFEH;(DPTR)←2FFEHINCDPTR;(DPTR)←2FFFHINCDPTR;(DPTR)←3000HINCDPTR;(DPTR)←3001H则(DPTR)=3001H(4)十进制调整指令用于对BCD码十进制数加法运算结果的内容修正。指令格式:DAA两个BCD码按二

7、进制相加之后,必须经本指令的调整才能得到正确的压缩BCD码的和数。二进制数的加法运算原则并不能适用于十进制数的加法运算,有时会产生错误结果。例如:(a)3+6=90011+0101=1001运算结果正确(b)7+8=150111+1000=1111运算结果不正确(c)9+8=171001+1000=00001C=1结果不正确二进制数加法指令不能完全适用于BCD码十进制数的加法运算,对结果作有条件的修正——十进制调整出错原因和调整方法:BCD码只用了了其中的10个,6个没用到的编码。(1010,1011,1100,11

8、01,1110,1111)为无效码凡结果进入或者跳过无效码编码区时,其结果就是错误的。调整的方法是把结果加6调整,即十进制调整修正。修正方法应是:(a)累加器低4位大于9或辅助进位位Ac=1,则进行低4位加6修正。(b)累加器高4位大于9或进位位Cy=1,则进行高4位加6修正。(c)累加器高4位为9,低4位大于9,则高4位和低4位分别加6修正。

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

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

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