的指令系统ppt培训课件

上传人:aa****6 文档编号:54196230 上传时间:2018-09-09 格式:PPT 页数:49 大小:71KB
返回 下载 相关 举报
的指令系统ppt培训课件_第1页
第1页 / 共49页
的指令系统ppt培训课件_第2页
第2页 / 共49页
的指令系统ppt培训课件_第3页
第3页 / 共49页
的指令系统ppt培训课件_第4页
第4页 / 共49页
的指令系统ppt培训课件_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《的指令系统ppt培训课件》由会员分享,可在线阅读,更多相关《的指令系统ppt培训课件(49页珍藏版)》请在金锄头文库上搜索。

1、第3章 MCS-51的指令系统,介绍MCS-51汇编语言的指令系统。 3.1 指令系统概述 MCS-51的基本指令共111条,按指令所占的字节来分:(1) 单字节指令49条;(2) 双字节指令45条;(3) 三字节指令17条。 按指令的执行时间来分:(1) 1个机器周期(12个时钟振荡周期)的指令64条;(2) 2个机器周期(24个时钟振荡周期)的指令45条;,(3) 只有乘、除两条指令的执行时间为4个机器周期(48个时钟振荡周期)。 12MHz晶振:机器周期为1s。3.2 指令格式 两部分组成,即操作码和操作数。操作码用来规定指令进行什么操作操作数则是指令操作的对象 有单字节指令、双字节指令

2、、三字节不同长度的指令,格式不同:(1)单字节指令:指令只有一个字节,操作码和操作数同在一个字节中。,(2)双字节指令:一个字节为操作码,另一个字节是操作数。(3)三字节指令:操作码占一个字节,操作数占二个字节。其中操作数既可能是数据,也可能是地址。3.3 指令系统的寻址方式寻址方式就是在指令中说明操作数所在地址的方法。 共7种寻址方式。1寄存器寻址方式操作数在寄存器中 MOV A,Rn ;(Rn)A,n=07 表示把寄存器Rn的内容传送给累加器A,寻址范围包括: (1)4组通用工作寄存区共32个工作寄存器。 (2)部分特殊功能寄存器,例如A、B 以及数据指针寄存器DPTR等。 2直接寻址方式

3、 操作数直接以单元地址的形式给出:MOV A,40H 寻址范围:(1) 内部RAM的128个单元(2) 特殊功能寄存器。除了以单元地址的形式外,还可用寄存器符号的形式给出。例如:MOV A,80H 与 MOV A,P0是等价的。,3. 寄存器间接寻址方式 寄存器中存放的是操作数的地址在寄存器的名称前面加前缀标志“” 访问内部RAM或外部数据存储器的低256个字节时,只能采用R0或R1作为间址寄存器。例如:MOV A,Ri ;i=0或1 其中Ri中的内容为40H,把内部RAM中40H单元的内容送到A。 寻址范围: (1)访问内部RAM低128个单元(5x为访问内部RAM256个单元),其通用形式

4、为Ri (2)对片外数据存储器的64K字节的间接寻址,例如: MOVX A,DPTR,(3)片外数据存储器的低256字节例如:MOVX A,Ri (4)堆栈区 堆栈操作指令PUSH(压栈)和POP(出栈)使用堆栈指针(SP)作间址寄存器 4立即寻址方式操作数在指令中直接给出,需在操作数前面加前缀标志“#”。例如: MOV A,#40H 5基址寄存器加变址寄存器间址寻址方式本寻址方式是以DPTR或PC作基址寄存器,以累加器A作为变址寄存器。,例如:指令 MOVC A,A+DPTR 其中A的原有内容为05H,DPTR的内容为0400H,该指令执行的结果是把程序存储器0405H单元的内容传送给A。

5、说明: (1)本寻址方式是专门针对程序存储器的寻址方式,寻址范围可达到64KB。 (2)本寻址方式的指令只有3条:MOVC A,A+DPTRMOVC A,A+PCJMP A+DPTR,6位寻址方式 MCS-51有位处理功能,可以对数据位进行操作,例如: MOV C,40H 是把位40H的值送到进位位C。 寻址范围包括: (1)内部RAM中的位寻址区。位有两种表示方法,例如,40H;另一种是单元地址加上位,例如,(28H).0,指的是28H单元中的最低位。它们是等价的。 (2)特殊功能寄存器中的可寻址位 可寻址位在指令中有如下4种的表示方法:a. 直接使用位地址。例如PSW.5的位地址为0D5H

6、。,b.位名称的表示方法。例如:PSW.5是F0标志位,可使用F0表示该位。 c.单元地址加位数的表示方法。例如 :(0D0H).5。 d.特殊功能寄存器符号加位数的表示方法。例如:PSW.5。 7相对寻址方式 在相对寻址的转移指令中,给出了地址偏移量,以“rel”表示,即把PC的当前值加上偏移量就构成了程序转移的目的地址: 目的地址=转移指令所在的地址 + 转移指令的字节数 + rel 偏移量rel是一带符号的8位二进制数补码数 。,范围是:128 +127 向地址增加方向最大可转移(127+转移指令字节)个单元地址,向地址减少方向最大可转移(128-转移指令字节)个单元地址。 7种寻址方式

7、及寻址空间,见表3-1(P43)。 3.4 MCS-51指令系统分类介绍 111条指令,按功能分类,可分为下面5大类:(1)数据传送类(28条)(2)算术操作类(24条(3)逻辑运算类(25条)(4)控制转移类(17条)(5)位操作类(17条),指令中符号的意义: Rn 当前寄存器区的8个工作寄存器R0R7(n=07)。 Ri 当前选中的寄存器区中可作间接寻址寄存器的2 个寄存器R0、R1(i=0,1)。 direct 直接地址,即8位的内部数据存储器单元或特殊功能寄存器的地址。 #data 包含在指令中的8位立即数。 #data16 包含在指令中的16位立即数。 rel 相对转移指令中的偏移

8、量,为8位的带符号补 码数 DPTR 数据指针,可用作16位的地址寄存器。 bit 内部RAM或特殊功能寄存器中的直接寻址位。 C(或Cy) 进位标志位或位处理机中的累加器。,addr11 11位目的地址 addr16 16位目的地址 间接寻址寄存器前缀,如Ri,A+DPTR (X) X中的内容。 (X) 由X寻址的单元中的内容。 箭头右边的内容被箭头左边的内容所取代。 3.4.1 数据传送类指令 使用最频繁的一类指令,通用格式: MOV , 属“复制”性质,而不是“搬家” 数据传送类指令不影响标志位。,1以累加器为目的操作数的指令MOV A,Rn ; (Rn)A,n=07MOV A,Ri ;

9、 (Ri)A,i=0,1MOV A,direct ;(direct)AMOV A,#data ; #dataA例如: MOV A,R6 ;(R6)A,寄存器寻址MOV A,70H ;(70H)A,直接寻址MOV A,R0 ;(R0)A,间接寻址MOV A,#78H ;78HA,立即寻址2. 以Rn为目的操作数的指令,MOV Rn,A ; (A)Rn,n=07MOV Rn,direct ;(direct)Rn,n=07 MOV Rn,#data ; #dataRn,n=07 功能:是把源操作数的内容送入当前一组工作寄存器区的R0R7中的某一个寄存器。 3.以直接地址direct为目的操作数的指令

10、MOV direct,A ; (A)directMOV direct,Rn;(Rn)direct, n=07MOV direct1,direct2;MOV direct,Ri ; (Ri)directMOV direct,#data; #datadirect,功能:把源操作数送入直接地址指出的存储单元。direct指的是内部RAM或SFR的地址。 4.以寄存器间接地址为目的操作数的指令MOV Ri,A ;(A)(Ri),i=0,1MOV Ri,direct ; (direct)(Ri)MOV Ri,#data ; #data(Ri) 5.16位数传送指令 MOV DPTR,#data16 ;

11、#data16DPTR 唯一的16位数据的传送指令 ,立即数的高8位送入DPH,立即数的低8位送入DPL。,6堆栈操作指令MCS-51内部RAM中可以设定一个后进先出(LIFO-Last In First Out)的区域称作堆栈. 堆栈指针SP指出堆栈的栈顶位置。 (1)进栈指令PUSH direct 先将栈指针SP加1,然后把direct中的内容送到栈指针SP指示的内部RAM单元中。 例如: 当(SP)=60H,(A)=30H,(B)=70H时,执行下列指令PUSH ACC ; (SP)+1=61HSP,(A)61HPUSH B ;,(SP)+1=62HSP,(B)62H结果:(61H)=3

12、0H,(62H)=70H,(SP)=62H(2)出栈指令POP direct SP指示的栈顶(内部RAM单元)内容送入direct字节单元中,栈指针SP减1.例如: 当 (SP)=62H,(62H)=70H,(61H)=30H,执行下列指令:POP DPH ;(SP)DPH,(SP)-1SP POP DPL ;(SP)DPL,(SP)-1SP结果:(DPTR)=7030H,(SP)=60H,7.累加器A与外部数据存储器传送指令MOVX A,DPTR ;(DPTR)A,读外部RAM/IOMOVX A,Ri ;(Ri)A,读外部RAM/IOMOVX DPTR,A;(A)(DPTR),写外部RAM/

13、IOMOVX Ri,A ;(A)(Ri),写外部RAM/IO 功能:读外部RAM存储器或I/O中的一个字节,或把A中一个字节的数据写到外部RAM存储器或I/O中。注意:RD*或WR*信号有效。 采用DPTR间接寻址,高8位地址(DPH)由P2口输出,低8位地址(DPL)由P0口输出。 采用Ri(i=0,1)间接寻址,可寻址片外256个单元的数据存储器。Ri内容由P0口输出。,MOV后 “X”表示单片机访问的是片外RAM存储器或I/O。 8.查表指令 共两条,用于读程序存储器中的数据表格的指令,均采用基址寄存器加变址寄存器间接寻址方式。(1) MOVC A,A+PC 以PC作基址寄存器,A的内容

14、作为无符号整数和PC中的内容(下一条指令的起始地址)相加后得到一个16位的地址该地址指出的程序存储单元的内容送到累加器A。 注意:PSEN*信号有效。,例如: (A)=30H,执行地址1000H处的指令1000H: MOVC A,A+PC本指令占用一个字节,执行结果将程序存储器中1031H的内容送入A。 优点:不改变特殊功能寄存器及PC的状态,根据A的内容就可以取出表格中的常数。 缺点:表格只能存放在该条查表指令后面的256个单元之内,表格的大小受到限制,且表格只能被一段程序所利用。(2) MOVC A,A+DPTR 以DPTR作为基址寄存器,A的内容作为无符号数和DPTR的内容相加得到一个1

15、6位的地址,把由该地址指出的程序存储器单元的内容送到累加器A.,例如 (DPTR)=8100H (A)=40H 执行指令 MOVC A,A+DPTR本指令的执行结果只和指针DPTR及累加器A的内容有关,与该指令存放的地址及常数表格存放的地址无关,因此表格的大小和位置可以在64K程序存储器中任意安排,一个表格可以为各个程序块公用。 两条指令是在MOV的后面加C,“C”是CODE的第一个字母,即代码的意思。9字节交换指令XCH A,RnXCH A,directXCH A,Ri,例如:(A)=80H,(R7)=08H,(40H)=F0H(R0)=30H,(30H)=OFH 执行下列指令:XCH A,

16、R7 ;(A)与(R7)互换XCH A,40H ;(A)与(40H)互换XCH A,R0 ;(A)与(R0)互换结果:(A)=0FH,(R7)=80H,(40H)=08H,(30H)=F0H10半字节交换指令XCHD A,Ri累加器的低4位与内部RAM低4位交换。例如:(R0)=60H,(60H)=3EH,(A)=59H,执行完 XCHD A,RO 指令,则(A)=5EH,(60H)=39H。 3.4.2 算术操作类指令 执行的结果对Cy、Ac、OV 三种标志位有影响。 但增1和减1指令不影响上述标志。 1加法指令共有4条加法运算指令:ADD A,Rn ;(A)+(Rn)A,n=07 ADD A,direct ;(A)+(direct)A ADD A,Ri ;(A)+(Ri)A,i=0,1ADD A,#data ; (A)+#dataA,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号