欢迎来到天天文库
浏览记录
ID:50035707
大小:257.50 KB
页数:58页
时间:2020-03-08
《单片机原理与应用 教学课件 作者 邱丽芳 第3章.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第3章MCS-51单片机的指令系统概述3.1寻址方式3.2指令系统3.3伪指令3.43.1概述3.1.1指令的表示形式及汇编1.指令的表示形式2.汇编3.1.2指令的格式及编码1.汇编语言的语句格式汇编语言的语句即所用指令的格式如下:[标号:]操作码[目的操作数][,源操作数][;注释]。其中,带方括号[]的部分可以根据实际情况取舍。标号与操作码之间用“:”作分隔符,也可以加上若干空格。操作码和操作数之间可以用空格作分隔符。操作数与操作数之间以“,”分隔。注释之前用“;”作分隔符。2.指令编码格式(1)单字节指令(2)双字节指令(3)三字节指令3.1.3常用符号为了便于学习和阅读指令,
2、MCS-51的指令系统中,采用了以下符号。①Rn(n=1~7):指当前选中的工作寄存器组R0~R7中之一。②Ri(i=0~1):指当前选中的工作寄存器组中能用作间址寄存器的R0、R1。③#data:8位立即数。④#data16:16位立即数。⑤direct:片内RAM单元(包括SFR)的直接地址。⑥addr11:11位目的地址。⑦addr16:16位目的地址。⑧rel:补码形式表示的8位地址偏移量。以下一条指令第一字节地址为基址,地址偏移量范围为−128~+127。⑨bit:片内RAM或SFR的直接寻址位地址。⑩@:间接寻址方式中,表示间址寄存器的符号。/:位操作指令中,表示对该位先求
3、反再参与操作,但不影响该位原值。C:最高位进位或借位标志位或布尔处理器的累加器。(×):表示由×所指地址单元或寄存器中的内容。((×)):表示以×所指地址单元或寄存器中的内容为地址的存储单元中的内容。→:数据传送方向。3.2寻址方式MCS-51单片机指令主要有以下7种寻址方式。1.立即寻址2.直接寻址3.寄存器寻址4.寄存器间接寻址5.变址间接寻址6.相对寻址7.位寻址3.3指令系统3.3.1数据传送类指令1.对片内RAM单元之间的数据传送指令2.特殊功能寄存器的数据传送指令3.片外RAM与累加器A之间的数据传送指令4.ROM中数据送累加器A的指令5.堆栈操作指令6.数据交换指令3.3
4、.2算术运算类指令1.加法指令(1)不带进位的加法指令ADDA,#data;(A)+data→AADDA,direct;(A)+(direct)→AADDA,@Ri;(A)+((Ri))→AADDA,Rn;(A)+(Rn)→A(2)带进位的加法指令ADDCA,#data;(A)+data+CY→AADDCA,direct;(A)+(direct)+CY→AADDCA,@Ri;(A)+((Ri))+CY→AADDCA,Rn;(A)+(Rn)+CY→A(3)加1指令INCA;(A)+1→AINCdirect;(direct)+1→directINC@Ri;((Ri))+1→(Ri)INCR
5、n;(Rn)+1→RnINCDPTR;(DPTR)+1→DPTR(4)十进制调整指令DAA2.减法指令(1)带借位的减法指令SUBBA,#data;(A)−data−CY→ASUBBA,direct;(A)−(direct)−CY→ASUBBA,@Ri;(A)−((Ri))−CY→ASUBBA,Rn;(A)−(Rn)−CY→A(2)减1指令DECA;(A)−1→ADECdirect;(direct)−1→directDEC@Ri;((Ri))−1→(Ri)DECRn;(Rn)−1→Rn3.乘法指令MULAB;(A)×(B)→BA4.除法指令DIVAB;(A)/(B)→A(商)B(余数)
6、3.3.3逻辑运算与循环类指令1.逻辑与指令ANLA,#data;(A)∧data→AANLA,Rn;(A)∧(Rn)→AANLA,direct;(A)∧(direct)→AANLA,@Ri;(A)∧((Ri))→AANLdirect,#data;(direct)∧data→directANLdirect,A;(direct)∧(A)→direct2.逻辑或指令ORLA,#data;(A)∨data→AORLA,Rn;(A)∨(Rn)→AORLA,direct;(A)∨(direct)→AORLA,@Ri;(A)∨((Ri))→AORLdirect,#data;(direct)∨dat
7、a→directORLdirect,A;(direct)∨(A)→direct3.逻辑异或指令XRLA,#data;(A)data→AXRLA,Rn;(A)(Rn)→AXRLA,direct;(A)(direct)→AXRLA,@Ri;(A)((Ri))→AXRLdirect,#data;(direct)data→directXRLdirect,A;(direct)(A)→direct4.清零与取反指令CLRA;0→ACPLA;→A3.3.4位
此文档下载收益归作者所有