欢迎来到天天文库
浏览记录
ID:50066800
大小:627.00 KB
页数:93页
时间:2020-03-08
《单片机原理及应用 教学课件 作者 佟云峰第三章指令系统及汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章指令系统及汇编语言程序设计学习要点:学习指令系统中的111条指令学习汇编语言程序设计的方法第三章指令系统及汇编语言程序设计第一节指令系统概述第二节单片机的寻址方式第三节指令系统第四节汇编语言程序设计本章小结返回主目录第一节指令系统概述MCS-51系列单片机指令系统共有111条指令,其中三字节指令17条,双字节指令45条,单字节指令49条。在这111条指令中,有64条指令是单机器周期指令,45条指令是双机器周期指令,只有乘法和除法指令需四个机器周期。若系统时钟为12MHZ时,大多数指令执行时间仅需1μS,最长的乘除法指令也仅需4µs。按功能
2、可划分为五类:1.数据传送类指令29条;2.算术运算类指令24条;3.逻辑操作类指令24条;4.位操作类指令17条;5.控制转移类指令17条。3.1.1指令格式MCS-51单片机汇编语言指令由操作码助记符和操作数两部分组成。指令格式如下:[标号:]操作码[目的操作数],[源操作数][;注释]其中方括号括起来的是可选部分可有可无,根据需要而定。标号:一条指令的符号地址。同一标号在一个程序中只能定义一次。操作码和操作数:操作码用于规定指令执行的操作,是指令功能的英文缩写;操作数用于给指令的操作提供数据或地址,如果指令中有两个操作数,则两个操作数之间以“
3、,”间隔;操作码和操作数构成指令的主体,它们之间以空格隔开。注释:用于对指令进行解释说明。恰当的注释有助于程序的理解、阅读和交流。注释的长度不限,一行不够时可以换行接着写,但换行时应注意在开头用分号“;”。汇编程序对注释将不做任何处理。例:LOOP:MOVA,#00H;累加器清0。标号是LOOP,操作码是MOV,操作数是A(目的操作数)和00H(源操作数),注释是累加器清0。3.1.2常用符号注释在讲指令的寻址方式和指令系统之前,我们先了解一下指令中常用的一些符号。1.Ri(i=0,1);当前选中的工作寄存器组中可作为地址指针的两个工作寄存器R0、
4、R1。它在片内RAM中的地址也由RS1和RS0确定。2.Rn(n=0~7);当前选中的工作寄存器组R0~R7,它在片内RAM中的地址由PSW中RS1、RS0确定。3.#data;8位立即数,即包含在指令中的8位常数。4.#data16;16位立即数,即包含在指令中的16位常数。5.Data;8位片内RAM单元(包括SFR)的直接地址。6.addr11;11位目的地址。用于ACALL和AJMP指令中,目的地址必须放在下一条指令第一个字节同一2K字节程序存储器地址空间之内。7.addr16;16位目的地址。用于LCALL和LJMP指令中,目的地址在64
5、K字节程序存储器地址空间。8.Rel;补码形式的8位地址偏移量。用于相对转移指令中,偏移量以下一条指令第一字节地址为基址,地址偏移量范围为-128~+127。9.Bit;片内RAM或SFR的直接寻址位地址。10./;位操作指令中,表示对该位先求反再参与操作,但不影响该位原值。11.@;间接寻址方式中,表示间址寄存器的符号。12.(×);表示×中的内容。13.((×));表示由×所指地址单元中的内容。14.→;指令操作流程,将箭头左边的内容送到箭头右边的单元中。15.$;表示当前指令的地址。16.nn;表示16位二进制数或4位十六进制数。第二节单片机
6、的寻址方式3.2.1单片机的寻址范围对于MCS-51系列单片机来说,它的各种寻址方式具有不同的寻址空间,总的说有程序存储器、数据存储器两个寻址空间。具体如下表3-1所示。立即寻址片内数据存储器低128字节、特殊功能寄存器(目的操作数寻址空间)直接寻址片内数据存储器低128字节、特殊功能寄存器寄存器寻址特殊功能寄存器、R0-R7、C寄存器间接寻址片内数据存储器低128字节,外部数据存储器变址寻址程序存储器相对寻址程序存储器256字节范围位寻址部分特殊功能寄存器、片内RAM20H-2FH单元的128位1.立即寻址所提供的操作数直接包含在指令中,这种寻址
7、方式就叫立即寻址,这个操作数叫立即数。所谓立即数是指具有固定数值的操作数,即常数。它紧跟在操作码的后面,与操作码一起放在代码段区域中。用符号“#”表示,以区别直接地址。例如:MOVA,#20H;(20H)→A;执行过程如图3-1所示。在MCS-51单片机的指令系统中,立即数可以是8位(#data),也可以是16位(#data16)。向数据指针DPTR传送的就是16位的立即数,立即数的高8位送入DPH中,低8位送入DPL中。例如:MOVDPTR,#2211H这是一个三字节的指令,指令代码为90H、22H、113.2.2七种不同寻址方式PC011101
8、00操作码0010000000100000立即数图3–1立即寻址(MOVA,#20H)执行示意图ACC2.直接寻址直接寻址
此文档下载收益归作者所有