欢迎来到天天文库
浏览记录
ID:39335655
大小:572.10 KB
页数:103页
时间:2019-07-01
《MCS51单片机指令系统及汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章MCS-51单片机指令系统及汇编语言程序设计内容提要:§3-1汇编语言与指令系统简介§3-2数据传送类指令§3-3算术运算类指令§3-4逻辑运算类指令§3-5控制转移类指令§3-6位操作类指令§3-7汇编语言的汇编过程§3-8汇编语言的程序设计及应用高级语言:§3-1汇编语言与指令系统简介一、汇编语言程序设计的意义什么是程序?完成某项特定任务的指令的集合。计算机按程序一条一条地依次执行指令,从而完成指定任务。要让计算机完成各项任务,就应设计各种程序。汇编语言:机器语言:程序设计语言:用二进制代码表示指令和数据。用助记符表示指令操作功能,用标号表示操作对象。独立于机器,面
2、向过程,接近自然语言和数学表达式.汇编语言程序的每一条语句都与计算机的某一条指令对应,所以必需熟悉指令系统。指令=操作码+操作数操作码——表示了该指令所能执行的操作功能。操作数——表示参加操作的数的本身或操作数所在的地址。MCS-51指令格式:[标号:]操作码助记符[第一操作数][,第二操作数][;注释]二、MCS-51系列单片机的指令系统111条指令,共分五大类:数据传送类;(29条)算术运算类;(24条)逻辑运算类;(24条)控制转移类;(17条)位操作类。(17条)指令中操作数的描述符号:Rn——工作寄存器R0~R7Ri——间接寻址寄存器R0、R1Direct——直接地址
3、,包括内部128BRAM单元地址、26个SFR地址。#data——8位常数#data16——16位常数addr16——16位目的地址addr11——11位目的地址rel——8位带符号的偏移地址DPTR——16位外部数据指针寄存器bit——可直接位寻址的位A——累加器B——寄存器BC——进、借位标志位,或位累加器@——间接寄存器或基址寄存器的前缀/——指定位求反(x)——x中的内容((x))——x中的地址中的内容$——当前指令存放的地址三、寻址方式寻找操作数存放单元的地址的方式,共6种方式。1、立即数寻址所要找的操作数是一二进制数或十进制数,出现在指令中,用“#”作前缀MOVA,
4、#20H2、寄存器寻址操作数存放在工作寄存器R0~R7中,或寄存器B中。MOVA,R23、直接寻址指令中直接给出操作数的地址。MOVA,30HMOV30H,DPH;书放在甲抽屉中;甲抽屉的钥匙放在乙抽屉中;取书,A中20HMOV30H,#20HMOVR0,#30HMOVA,@R0此例中,20H就当成是那本书;30H就当成是甲抽屉;R0就当成是乙抽屉,执行的结果就是将20H这个立即数装入A中。期间也经历了两次寻址,即间接寻址。4、寄存器间接寻址指令中寄存器的内容作为操作数存放的地址,在工作上间接寻址寄存器前用“@”表示前缀。例如:“一本书放在甲抽屉中,上了锁;其开锁的钥匙放在乙抽
5、屉中,乙抽屉也上了锁。问如何才能取到哪本书?”这就是一个间接寻址的问题,要经过两次寻址才能找到哪本书。而寄存器间接寻址也是同样。例如:5、变址寻址操作数地址=变地址+基地址基地址寄存器DPTR或PC变址寄存器@A该寻址方式常用于访问程序存储器,查表。如MOVCA,@A+DPTR6、相对寻址把指令中给定的地址偏移量与本指令所在单元地址(PC内容)相加得到真正有效的操作数所存放的地址。例如“李同学20岁,张同学比李同学大3岁,问张同学多少岁?”这就是一个相对寻年龄的问题,而相对寻址与此类似。如JC60H;设(PC)=2000H为基址,相对偏移量为60H;;则当C=1时,转移的目的地
6、址=2000H+2+60H巩固新课:1、汇编语言有何种特点?指令格式?2、MCS—51系列机共有多少条指令?分几类?3、MCS—51系列汇编语言指令有几种寻址方式?§3-2数据传送类指令一、内部RAM数据传送类1、一般数据传送指令片外程序存储器ROMEPROM特殊功能寄存器SFR片内RAM128字节片外数据存储器RAMMOVCMOVXMOVPUSHPOPXCHXCHD回忆前述操作数描述符:A,direct,Rn,@Ri,#data,DPTR等。经排列组合可写出下列指令:MOVA,Rn;(A)(Rn)以下类似。MOVA,directMOVA,@RiMOVA,#dataMOVRn,
7、AMOVRn,directMOVRn,#dataMOVdirect,RnMOVdirect,directMOVdirect,@RiMOVdirect,#dataMOV@Ri,AMOV@Ri,directMOV@Ri,#dataMOVDPTR,#data16;唯一的16位数据传送指令。上述指令不影响任何标志位,但PSW的P位除外。(direct)(A)MOVdirect,A;上述指令不影响任何标志位,但PSW的P位除外。注意:MOVRn,RnMOV@Ri,@RiMOVRn,@RiMOV#dat
此文档下载收益归作者所有