- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机与嵌入式系统3要点
9 字节交换指令 XCH A,Rn ;A ←→ Rn XCH A,@Ri ;A ←→ ((Ri)) XCH A,direct ;A ←→ (direct) (全字节交换) SWAP A ;半字节交换(高4位与低4位交换) * 习题:找出指令错误并改正 1.MOV A,#1000H 2.MOVX A,1000H 3.MOVC A,1000H 4.MOVX 60H,A 5.MOV R0,60H MOV 61H,@R0 6. XCH R1,R2 7. MOVX DPTR,#2000H 8. MOVX 60H,@DPTR * 影响标志位的指令(X表示有影响,o表示清零,1表示置一) 二、 算术运算指令 * (一) 加法指令 1 不带进位加指令 ADD A,Rn ;A=A+Rn ADD A,direct ;A=A+(direct) ADD A,@Ri ;A=A+((Ri)) ADD A,#data ;A=A+data 2 带进位加指令 ADDC A,Rn ;A=A+Rn+Cy ADDC A,direct ;A=A+(direct)+Cy ADDC A,@Ri ;A=A+((Ri))+Cy ADDC A,#data ;A=A+data+Cy 算术运算指令主要完成片内RAM和A中数据的加减乘除运算。 * 3 增量(增1)指令 INC A ;A=A+1 INC Rn ;Rn=Rn+1 INC direct ;(direct)=(direct)+1 (地址中的数增一) INC @Ri ;((Ri))=((Ri))+1 INC DPTR ;DPTR=DPTR+1 4 十进制调整指令 DA A (在BCD码运算中,要进行调整) * 教材P77例3-15:试编写十进制数2345H加5678H的程序段,结果存于40H(低位)、41H(高位)中。 * (二) 减法指令 1带借位减法指令 没有不带借位的减法指令 SUBB A,Rn ;A=A-Rn-Cy SUBB A,direct ;A=A-(direct)-Cy SUBB A,@Ri ;A=A-((Ri))-Cy SUBB A,#data ;A=A-data-Cy (对BCD码无调整指令) 2 减1指令 DEC A ;A=A-1 DEC Rn ;Rn=Rn-1 DEC direct ;(direct)=(direct)-1 DEC @Ri ;((Ri))=((Ri))-1 * (三) 乘法指令 MUL AB ;A X B (高位在B中,低位在A中 clear Cy 结果小于等于255 OV=0,大于则置1) (四) 除法指令 DIV AB ;A/B (整数在A中,余数在B中,clear Cy OV=0) 如果B(除数)=0,OV=1 * 三、 逻辑运算指令 1 简单的逻辑运算指令 CLR A ;A=0,清零 CPL A ;将A中的数按位取反 RL A ;A中的数左循环移一位(不带Cy) RR A ;A中的数右循环移一位(不带Cy) (小循环) RLC A ; A中的数带Cy左循环移一位 RRC A ; A中的数带Cy右
文档评论(0)