- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章-STC11F单片机指令系统
第4章 STC11FXX单片机指令系统 教学重点 ◆难点:控制转移类指令 ◆重点:7种寻址方式; 111条指令的分类、格式、功能等; 常用伪指令与使用; 4.1 指令格式和寻址方式 1. 机器码指令格式 4.1 指令格式和寻址方式 1)Ri和Rn R表示当前工作寄存器区中的工作寄存器,其中 i 表示0或1,即R0和R1,而n则表示0~7,即R0~R7。 2)#data 8位不带符号立即数, “#”为立即数标识符。 3)#data l6 16位的立即数。 4)rel (relative)相对地址。以补码形式表示的地址偏移量,范围为?128~+127,主要用于无条件相对短转移SJMP和所有条件转移指令。 5)addr16 (address)16 位目的地址。可在全部程序存储器的64KB空间范围内,主要用于无条件长转移指令LJMP和子程序长调用指令LCALL中。 6)addr11 11位目的地址。应与下条指令处于相同的2KB 程序存储器地址空间范围内,主要用于绝对转移指令AJMP 和子程序绝对调用指令ACALL 指令中。 4.1 指令格式和寻址方式 7)direct 表示直接寻址的地址,即内部数据存储器RAM 单元的8 位地址(0~127 或0~255),或特殊功能寄存器SFR 的地址。 8)bit 位地址,指部分内部数据存储器RAM 和特殊功能寄存器SFR 中的可直接寻址的位地址。 9)@ 间接寻址寄存器,如@Ri,@DPTR,表示寄存器间接寻址。 10)(X) 表示X单元中的内容。但对于寄存器寻址的内容则直接采用寄存器名字,如A←R1。 11)((X)) 表示以X单元中的内容为地址进行间接寻址。 12)/和→、← 其中“/” 表示对该位操作数取反,但不影响该位的原值;“→”表示指令操作流程,将内容送入箭头所指一方的寄存器或单元中去。 4.1 指令格式和寻址方式 1)立即寻址 ◆指令格式 操作码 目的数,#data 在指令中直接给出的目的操作数为常数,称为立即数。用前缀“#”表示。 ◆立即数 可以是8位或16位,可用二进制、十进制或十六进制数形式之一表示,只能用作源操作数,不能用作目的操作数。 ◆用途:主要用来给寄存器或存储单元赋初值。 ◆例如:MOV A, #0FH ;A←立即数0FH 该指令的功能是将立即数0FH 传送到累加器A 中,对应的机器码为74H,立即数0FH 紧跟在操作码之后,成为指令代码的一部分 4.1 指令格式和寻址方式 2)寄存器寻址 操作数用符号名称表示寄存器。 ◆寻址范围:四个寄存器组的通用寄存器R0~R7,A,B,DPTR 例如:MOV A,R0 ;A←R0 4.1 指令格式和寻址方式 4)寄存器间接寻址 在指令中给出的寄存器内容是操作数的地址,从该地址中取出的数才是操作数。表示形式:应在寄存器名称前面加@。 ◆寻址范围: ①用工作寄存器R0、R1:寻址片内数据存储器RAM(00~FFH)的256个单元,但它不能访问特殊功能寄存器SFR; ②用数据指针DPTR:寻址访问外部数据存储器或内部1k的 XRAM; ③用堆栈指针SP: 对堆栈进行操作。 ◆例如:MOV A,@R1 ;A←((R1)) ,对256 RAM MOVX A, @DPTR ; 对XRAM 切忌!R0、R1 4.1 指令格式和寻址方式 5)变址寻址 以DPTR或PC作基址寄存器,累加器A作变址寄存器,形成16位程序存储器D的操作数地址。 实际是基址寄存器加变址寄存器间接寻址的简称 。 ◆寻址范围:只能对程序存储器进行寻址 4.1 指令格式和寻址方式 6)相对寻址 以PC的当前值为基准,加上指令中给出的相对偏移量(rel)形成新的有效转移地址。 ◆寻址范围:用于访问程序存储器,常出现在条件转移指令中。 ◆注意: ①当前PC值是指相对转移指令所在地址加上转移指令字节数。 ②偏移量rel 是有符号的单字节数,以补码表示,其相对值的范围是-128~+127(即00H~FFH),负数表示从当前地址向上转移,正数表示从当前地址向下转移。 目的地址=转移指令当前地址+ rel 4.1 指令格式和寻址方式 ◆例如:指令 JZ 08H 和 JZ 0F4H 表示累加器A为零条件满足后,从源地址(2050H)分别向下、向上转移10个单元。其相对寻址示意如下图(a)、(b)所示。这两条指令均
文档评论(0)