第3章节—mcs—51单片机指令系统—3-2寻址方式.pptVIP

  • 1
  • 0
  • 约8.86千字
  • 约 37页
  • 2017-03-30 发布于四川
  • 举报

第3章节—mcs—51单片机指令系统—3-2寻址方式.ppt

第3章节—mcs—51单片机指令系统—3-2寻址方式

第3章 MCS - 51单片机指令系统 3.1 指令系统简介 3.2 寻址方式 本章内容 3.1 指令系统简介 3.2 寻址方式 3.3 MCS-51的指令集 3.4 汇编语言程序的基本形式 3.5 汇编语言程序的基本结构 程序框架 ORG 0000H LJMP MAIN ;跳转至主程序 ORG 0003H LJMP INT0_INT ;跳转至外部中断0的中断服务程序 ORG 000BH LJMP T0_INT ;跳转至定时器0的中断服务程序 ORG 0013H LJMP INT1_INT ;跳转至外部中断1的中断服务程序 ??? ORG 0030H MAIN: ??? ;开始写主程序 … END 软件编程环境 3.1 指令系统简介 指令:规定计算机进行某种操作的命令 指令系统:指令集合 不同系列的机器,其指令系统不同 指令编码 机器语言指令:二进制数 汇编语言指令:助记符(英文缩写) 3.1.1 MCS-51单片机指令 111条 分类 按机器周期数 单、双、四 按指令功能 数据传送、算术运算、逻辑运算及移位、控制转移、位操作 按指令的字长分 单字节、双字节、三字节 3.1.2 指令的格式 常用的指令说明符号 3.1.3 指令的字节 (1)单字节指令 操作码和操作数加起来只有一个字节 (2)双字节指令 操作码和操作数各占一个字节 (3)三字节指令 第一字节为操作码 第二、第三字节为操作数或操作数地址 (1)单字节指令 (49条) ①无操作数单字节指令 指令中只有操作码字段,操作数隐含在操作码中 例: INC A ; 指令编码为 04H ②含有操作数寄存器号的单字节指令 指令码由操作码字段和指示操作数所在寄存器号的字段组成 例: MOV A,Rn ; 指令编码为 E8H~EFH (2)双字节指令 (46条) 指令 操作码字节在前; 在后的操作数字节可以是立即数,也可以是操作数所在片内RAM的地址。 例: MOV A,#data ; 指令编码为 74H data MOV A,dir ; 指令编码为 E5H dir (3)三字节指令 (16条) 指令 第一字节为操作码 第二、第三字节为操作数或操作数地址。分为4类 16位数据 MOV DPTR,#26ABH 8位地址和8位数据 MOV 74H,#0FFH 8位数据和8位地址 CJNE A,#00,60H 16位地址 LCALL 2020H 3.2 寻址方式 寻找操作数的方式 7种: (1) 立即寻址 (2) 直接寻址 (3) 寄存器寻址 (4) 寄存器间接寻址 (5) 变址寻址 (6) 相对寻址 (7) 位寻址 (1)立即寻址 (2) 直接寻址 注意: (3)寄存器寻址 注意: 可采用寄存器寻址的寄存器 R0~R7 累加器 A INC A ;寄存器寻址(机器码:04H) INC ACC ;直接寻址(机器码:05E0H) INC 0E0H ;直接寻址(机器码:05E0H) 寄存器 B MUL AB 和 DIV AB;寄存器寻址 MOV B, #12H ;直接寻址(机器码:75F012H) 数据指针 DPTR INC DPTR 和 MOV DPTR,#1234H ;寄存器寻址 (4) 寄存器间接寻址 使用规定 片内(256B)RAM 间接用 Ri(i = 0 或 1),即 MOV A,@R1 或 MOV A,@R0 片外 64KB RAM 间接用 DPTR,即 MOVX A,@DPTR 间接用 Ri,即 MOVX A,@R1 或 MOVX A,@R0 此时,高8位地址由P2提供,低8位地址由Ri提供 [例1] 若(R0)=0AAH,(0AAH)=5BH,执行指令 MOV A,@R0 ;A←((R0)) 结果:(A)= 5BH [例2] ① MOV DPTR,#3456H ;DPTR ←3456H ② 若(3456H)=99H,则 MOVX A,@DPTR ;A ←((DPTR)) ;(A) = 99H 注意: 寄存器间接寻址,不能用于对 SFR 寻址 片内RAM和片外RAM之间不能直接传递数据 堆栈操作(PUSH,POP)隐含为SP间接寻址 (5) 变址寻址 3条 MOVC A,@A+PC ;A ←((A)+(PC)) MOVC A,@A+DPTR ;A ←((A)+(DPTR)) JMP @A+DPTR ;PC ← (A)+(DPTR) 所用寄存器 基地址

文档评论(0)

1亿VIP精品文档

相关文档