第3章 80C51的指令系统.ppt
《第3章 80C51的指令系统.ppt》由会员分享,可在线阅读,更多相关《第3章 80C51的指令系统.ppt(59页珍藏版)》请在三一办公上搜索。
1、2023/2/21,1,第3章 80C51的指令系统,指令格式及常用符号,3.1,80C51的寻址方式,3.2,数据传送指令(29条),3.3,算数运算指令(24条),3.4,逻辑运算与循环类指令(24条),3.5,控制转移类指令(17条),3.6,位操作类指令(17条),3.7,2023/2/21,2,3.1 指令格式及常用符号,3.1.1 机器指令的字节编码形式,8位编码仅为操作码,单字节指令(49条),机器指令:计算机能直接识别和执行的指令。,如:INC A 编码为:,即:04H,8位编码含操作码和寄存器编码,如:MOV A,R0 编码为:,即:E8H,2023/2/21,3,双字节指令
2、(45条),三字节指令(17条),如:MOV A,#50H 编码为:,即:74H 50H,如:MOV 20H,#50H 编码为:,即:75H 20H 50H,2023/2/21,4,书写格式,注意:操作助记符不能缺少操作数个数可为:1、2、3个2个操作数的指令,目的操作数在左边,一般格式操作助记符 目的操作数,源操作数;注释,3.1.2 符号指令的书写格式,2023/2/21,5,描述符号,Rn(n=07)-当前工作寄存器组中的寄存器R0R7之一Ri(i=0,1)-当前工作寄存器组中的寄存器R0或R1-间接寻址或变址寻址前缀#data-8位立即数/#data16-16位立即数direct-片内
3、低128个RAM单元地址及SFR地址addr11-11位目的地址addr16-16位目的地址rel-8位地址偏移量,范围:128127bit-片内RAM位地址、SFR的位地址()-表示 地址单元或寄存器中的内容/-位操作数的取反操作前缀,2023/2/21,6,3.2.1 寄存器寻址,寻址方式:寻找(源)操作数或指令转移地址的方式80C51单片机有7种寻址方式,3.2 80C51的寻址方式,操作数在寄存器中寻址空间:R0R7、A、B(AB形式)和DPTR,特点:传送和执行速度快,【例】若(R0)=30H,,执行MOV A,R0后,(A)=30H,2023/2/21,7,3.2.2 直接寻址,操
4、作码后字节存放的是操作数的地址寻址空间:片内RAM低128字节SFR(符号形式),另一类直接寻址是转移目标地址的寻址。如:LJMP ADDR16,【例】若(50H)=3AH,,执行MOV A,50H后,(A)=3AH,2023/2/21,8,3.2.3 寄存器间接寻址,寄存器中的内容是操作数的地址寻址空间:片内RAM(Ri、SP)片外RAM(Ri、DPTR),【例】若(R0)=30H,(30H)=5AH,执行MOV A,R0后,(A)=5AH,片内:MOV片外:MOVX,2023/2/21,9,MOV R7,#20 MOV R0,#30HLOOP:MOV A,R0 INC R0 DJNZ R7
5、,LOOP,3.2.3 寄存器间接寻址,2023/2/21,10,3.2.4 立即寻址,操作数在指令编码中寻址空间:ROM,对于MOV DPTR,#2100H指令,立即数高8位“21H”装入DPH,【例】执行MOV A,#50H,结果:(A)=50H,2023/2/21,11,3.2.5 变址寻址,操作数地址:基地址+偏移量寻址空间:ROM,变址寻址还用于跳转指令,如JMP A+DPTR,【例】(A)0FH,(DPTR)=2400H,执行MOV A,A+DPTR”后,结果:(A)=88H,2023/2/21,12,3.2.6 相对寻址,用于跳转指令,实现程序分支,Rel常用符号地址表示,离源地
6、址不要超过(128127),【例】若rel为75H,PSW.7为1,JC rel存于1000H开始的单元。,执行JC rel指令后,程序将跳转到1077H单元取指令并执行。,基本用人工标号的方式来表示目标位置,2023/2/21,13,3.2.7 位寻址,寻址位数据寻址空间片内RAM位空间SFR位空间,【例】位地址00H内容为1,MOV C,00H执行后,位地址PSW.7的内容为1。,位寻址方式实质属于位的直接寻址。,2023/2/21,14,3.3 数据传送类指令(29条),一般不影响标志寄存器PSW的状态。,传送类指令有两大类 一般传送(MOV)特殊传送,如:MOVC MOVX PUSH、
7、POP XCH、XCHD SWAP,2023/2/21,15,3.3.1 一般传送指令,16位传送(仅1条),MOV DPTR,#data16;DPTR data16,例:执行指令 MOV DPTR,#1234H 后(DPH)=12H,(DPL)=34H。,8位传送,通用格式:MOV,;,2023/2/21,16,以A为目的,【例3-9】若(R1)=20H,(20H)=55H。执行指令 MOV A,R1 后,(A)=55H。,2023/2/21,17,以Rn为目的,【例3-10】执行指令 MOV R6,#50H 后,(R6)=50H,2023/2/21,18,以direct为目的,【例3-11
8、】若(R1)=50H,(50H)=18H,执行指令 MOV 40H,R1 后,(40H)=18H,2023/2/21,19,以Ri为目的,【例3-12】若(R1)=30H,(A)=20H,执行指令 MOV R1,A 后,(30H)=20H。,2023/2/21,20,3.3.2 特殊传送指令,以DPTR内容为基址,读ROM中常数表项指令MOVC,ROM中可以存放程序代码,还经常存放常数表,MOVC A,A+DPTR;A(A)+(DPTR),以PC内容为基址,MOVC A,A+PC;A(A)+(PC),常数表存放约束小,称为远程查表指令。占用DPTR,常数表存放约束大,称为近程查表指令。不占用D
9、PTR,2023/2/21,21,读片外RAM,读片外RAM及接口单元数据的指令MOVX,片外RAM中经常存放数据采集与处理的中间数据,MOVX A,DPTR;A(DPTR)MOVX A,Ri;A(Ri),写片外RAM,MOVX DPTR,A;(DPTR)AMOVX Ri,A;(Ri)A,注意:用Ri寻址时,高8位地址由P2口提供,2023/2/21,22,若将片外RAM中2020H单元中的内容送给A。,方法一MOV P2,#20HMOV R0,#20HMOVX A,R0方法二MOV DPTR,#2020HMOVX A,DPTR,2023/2/21,23,入栈指令PUSH,堆栈操作指令PUSH
10、和POP,堆栈是一片存储区,遵循“后进先出”原则,栈顶由SP指示。80C51的堆栈设在片内RAM低端的128个单元,向上生长。,PUSH direct;SP(SP)1,(SP)(direct),出栈指令POP,POP direct;(direct)(SP),SP(SP)1,注:堆栈用于子程序调用时保护返回地址,或者用于保护子程序调用之前的某些重要数据(即保护现场),还可以用于数据交换。,2023/2/21,24,利用堆栈完成40H与50H单元内容的交换的示例,MOV SP,#6FH;将堆栈设在70H以上RAM空间PUSH 40H;将40H单元的“23H”入栈,之后(SP)=70H PUSH 5
11、0H;将50H单元的“45H”入栈,之后(SP)=71HPOP 40H;将SP指向的71H单元的内容弹到40H单元,之后(SP)=70HPOP 50H;将SP指向的70H单元的内容弹到50H单元,之后(SP)=6FH,(a)初始状态(b)2条PUSH指令执行后(c)2条POP指令执行后,2023/2/21,25,字节交换指令XCH,数据交换指令XCH、XCHD和SWAP,数据交换属于同时进行的双向传送,【例3-20】若(R0)=80H,(A)=20H。执行指令 XCH A,R0 后,(A)=80H,(R0)=20H。,2023/2/21,26,半字节交换指令XCHD,【例3-21】若(R0)3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 80C51的指令系统 80 C51 指令系统

链接地址:https://www.31ppt.com/p-2669429.html