- 1、本文档共98页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8051单片机3单片机指令系统课件
第3章 单片机指令系统;第3章 单片机指令系统;3.1 指令格式;3.1 指令格式;3.1 指令格式;3.1 指令格式;3.1 指令格式;3.1 指令格式;3.2 指令的分类;3.3 寻址方式; 1 、立即寻址
指令中直接给出操作数, 可以立即得到并执行, 不需要另去寄存器或存储器等处寻找和取数, 故称为立即寻址。该操作数称为立即数, 并在其前冠以“#”号作前缀, 以表示并非地址。立即数可以是8位或16位, 用十六进制数表示。
例如: MOV A, #0FH ; (A)←#0FH
MOV DPTR,#3400H; (DPTR)←#3400H
MOV 30H,#40H; (30H)←#40H;2、 直接寻址
指令中直接给出操作数所在的存储器地址, 以供寻址取数或存数的寻址方式称为直接寻址。
例如: MOV A, 40H ; (A)←(40H)
该指令的功能是把内部数据存储器RAM 40H单元内的内容送到累加器A。
寻址范围:
(1)片内RAM的128单元
(2)SFR(直接寻址是访问SFR的唯一方法)
访问SFR时,可直接用寄存器的符号代替地址。
例如: MOV A, 80H 可写成: MOV A, P0 ;3、寄存器寻址
选定某寄存器, 在该寄存器中读取或存放操作数, 以完成指令规定的操作, 称为寄存器寻址。
例如: MOV A, R0 ; (A)←(R0)
该指令的功能是把工作寄存器R0中的内容传送到累加器A中, 如: R0内容为FFH, 则执该指令后A的内容也为FFH。
寻址范围:
(1)当前工作寄存器区的8个工作寄存器R0~R7
(2)部分SFR,如:A、B、DPTR等;4、寄存器间接寻址
以R0/R1/DPTR中的内容为地址,以该地址中的内容为操作数的寻址方式。这里要强调的是: 寄存器的内容不是操作数本身,而是操作数地址。寄存器间接寻址用符号“@”指明。
寻址范围:
(1)片内RAM低128B (00H~7FH),片外RAM低256B (00H~0FFH);通用指针为@Ri,i=0或1
(2)片外RAM 64KB (0000H~0FFFFH),其指针为@DPTR;(3)MOV A, @Ri ;片内RAM
MOVX A, @Ri ;片外RAM
例如:MOV A, @R1 ;5、变址寻址
以数据指针DPTR或程序计数器PC作为基址寄存器, 累加器A作为变址寄存器, 两者的内容相加形成16位程序存储器地址, 就是操作数所在地址。
例如: MOVC A, @A+DPTR ; (A)←((A)+(DPTR))
寻址范围:
它是针对ROM的寻址方式,范围64KB,只有读
本寻址方??只有3条:
MOVC A, @A+DPTR ;读ROM
MOVC A, @A+PC ;读ROM
JMP @A+DPTR ;无条件转移指令 ;例如: MOVC A, @A+DPTR ; (A)←((A)+(DPTR));6 、相对寻址
以当前程序计数器PC值加上指令规定的偏移量rel , 而构成实际操作数地址的寻址方法。它用于访问程序存储器, 常出现在相对转移指令中。
在使用时要注意以下两点:
(1) 当前PC值是指相对转移指令所在地址(一般称为源地址)加上转移指令字节数。
即: 当前PC值 = 源地址 + 转移指令字节数
例如: JZ rel 是一条累加器A为零就转移的双字节指令。若该指令地址(源地址)为2050H, 则执行该指令时的当前PC值即为2052H。; (2) 偏移量rel是有符号的单字节数, 以补码表示,其相对值的范围是-128~+127(即00H~0FFH), 负数表示从当前地址向上转移, 正数表示从当前地址向下转移。
所以, 相对转移指令满足条件后, 转移的地址(一般称为目的地址)应为:
目的地址 = 当前PC值 + rel = 源地址 + 转移指令字节数 + rel
例如: 指令JZ 08H和JZ 0F4H 表示累加器A为零条件满足后, 从源地址(2050H)分别向下、 向上转移10个单元。这两条指令均为双字节指令。; (a)指令JZ 08H寻址示意图 (b)指令JZ F4H寻址示意图 ;7 、位寻址
MCS—51系列单片机具有位寻址的功
文档评论(0)