1 / 130
文档名称:

单片机汇编程序设计.ppt

格式:ppt   页数:130
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机汇编程序设计.ppt

上传人:一文千金 2012/3/11 文件大小:0 KB

下载得到文件列表

单片机汇编程序设计.ppt

文档介绍

文档介绍:第3章单片机汇编程序设计
MCS-51系列单片机汇编指令格式及标识
指令是使计算机完成基本操作的命令。一种计算机能够执行的全部指令的集合,称为这种计算机的指令系统。单片机的指令系统与微型计算机的指令系统不同,MCS-51系列单片机指令系统共有:
111条指令;42种指令助记符。
49条1字节指令;
45条2字节指令;
17条3字节指令。
64条为1机器周期指令;
45条为2机器周期指令;
2条为4机器周期指令(乘、除法)。
这些指令在存储空间和运算速度上,效率都比较高。
MCS-51系列单片机指令系统功能强、指令短、执行快。
从功能上可分成五大类:
1、数据传送指令;
2、算术运算指令;
3、逻辑操作指令;
4、控制转移指令;
5、位操作指令。
指令格式
[标号:] 操作码助记符[目的操作数][,源操作数] [;注释]
(1)操作码助记符表明指令的功能,不同的指令有不同的指令助记符,它一般用说明其功能的英文单词的缩写形式表示。
(2)操作数用于给指令的操作提供数据、数据的地址或指令的地址,操作数往往用相应的寻址方式指明。MCS-51单片机指令系统的指令按操作数的多少可分为无操作数、单操作数、双操作数和三操作数四种情况。
(3)标号是该指令的符号地址,后面须带冒号。它主要为转移指令提供转移的目的地址。
(4)注释是对该指令的解释,前面须带分号。它们是编程者根据需要加上去的,用于对指令进行说明,对于指令本身功能而言是可以不要的。
(1)Ri和Rn:表示当前工作寄存器区中的工作寄存器。
i取0或1,表示R0或R1。n取0~7,表示R0~R7。
(2)#data:表示包含在指令中的8位立即数。
(3)#data16:表示包含在指令中的16位立即数。
(4)rel:以补码形式表示的8位相对偏移量,范围为-128~+127,主要用在相对寻址的指令中。
(5)addr16和addr11:分别表示16位直接地址和11位直接地址。
(6)direct:表示直接寻址的地址。
(7)bit:表示可位寻址的直接位地址。
(8)(X):表示X单元中的内容。
(9)((X)):表示以X单元的内容为地址的存储器单元内容,即(X)作地址,该地址单元的内容用((X))表示。
(10)/ 和→符号:“/”表示对该位操作数取反,但不影响该位的原值。“→”表示操作流程,将箭尾一方的内容送入箭头所指一方的单元中去。
指令中用到的标识符
为便于后面的学习,在这里先对指令中用到的一些符号的约定意义作以下说明:
MCS-51系列单片机寻址方式
MCS-51单片机的寻址方式按操作数的类型,可分为:
①数的寻址;
②指令寻址。
①数的寻址有:
常数寻址(立即寻址);
寄存器数寻址(寄存器寻址);
存储器数寻址:
直接寻址方式;
寄存器间接寻址方式;
变址寻址方式。
位寻址。
②指令的寻址有:
绝对寻址;
相对寻址。
常数寻址(立即寻址)
操作数是常数,使用时直接出现在指令中,紧跟在操作码的后面,作为指令的一部分。与操作码一起存放在程序存储器中,可以立即得到并执行,不需要经过别的途径去寻找。常数又称为立即数,故又称为立即寻址。在汇编指令中,立即数前面以“#”符号作前缀。在程序中通常用于给寄存器或存储器单元赋初值,例如:
MOV A,#20H
其功能是把立即数20H送给累加器A,其中源操作数20H就是立即数。指令执行后累加器A中的内容为20H。
寄存器数寻址(寄存器寻址)
操作数在寄存器中,使用时在指令中直接提供寄存器的名称,这种寻址方式称为寄存器寻址。在MCS-51系统中,这种寻址方式针对的寄存器只能是R0~R7 8个通用寄存器和部分特殊功能寄存器(如累加器A、寄存器B、数据指针DPTR等)中的数据,对于其它的特殊功能寄存器中的内容的寻址方式不属于它。在汇编指令中,寄存器寻址在指令中直接提供寄存器的名称,如R0、R1、A、DPTR等。例如:
MOV A,R0
其功能是把R0寄存器中的数送给累加器A,在指令中,源操作数R0为寄存器寻址,传送的对象为R0中的数据。如指令执行前R0中的内容为20H,则指令执行后累加器A中的内容为20H。
存储器数寻址
存储器数寻址针对的数据是存放在存储器单元中,对于存储器单元的内容通过提供存储器单元地址使用。
根据存储器单元地址的提供方式,存储器数的寻址方式有:
1、直接寻址;
2、寄存器间接寻址;
3、变址寻址。

直接寻址是指数据在存储器单元中,在指令中直接提供存储器单元的地址。在MCS-51系统中,这种寻址方式针对的是片内数据存储器和特殊功能寄存器。在汇编指令中,指