第3章89C51的指令系统【单片机课件】.pptVIP

第3章89C51的指令系统【单片机课件】.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 89C51的指令系统 二、指令格式 8051汇编语言指令由操作码段和操作数字段两部分组成。 汇编语言指令格式 [标号:] 操作码助记符 [目的操作数] [,源操作数] [;注释] 机器语言指令格式 单字节指令:操作码和操作数同在一个字节中 双字节指令格式 操作码代码 操作数或者地址 三字节指令格式 操作码代码 操作数或地址,操作数或地址 三、寻址方式 寻址就是寻找指令中操作数或操作数所在地址。 寻址方式就是找到存放操作数的地址,并把操作数提取出来的方法,即寻找操作数或者是操作数地址的方法。 8051单片机寻址方式共有7种:寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。 1. 寄存器寻址 寄存器寻址就是操作数存放在寄存器中,指令中指定的寄存器的内容就是操作数。 在寄存器寻址方式中以符号名称来表示寄存器。 寄存器寻址方式的寻址范围包括: 通用工作寄存器——有4组共32个通用工作寄存器。 部分专用寄存器——累加器A、B寄存器、DPTR寄存器。 2. 直接寻址 直接寻址方式就是在指令中直接给出操作数所在存储单元的地址。此时,指令中操作数部分是操作数所在地址。 直接寻址方式的寻址范围是内部RAM,具体包括: 片内RAM的128个单元——在指令中以直接地址给出。 特殊功能寄存器(SFR)——既可使用它们的地址,也可使用它们的名字。 3. 立即数寻址 立即数寻址就是操作数在指令中直接给出,或者说指令操作码后面立即给出一字节或两字节操作数。 指令中给出的操作数是立即数,立即数前加“#”号标志,以区别直接寻址中的直接地址。 4. 寄存器间接寻址 寄存器间接寻址是把指定寄存器的内容作为操作数地址,该地址所指定的单元内容作为操作数。 为了区分寄存器寻址和寄存器间接寻址,在寄存器间接寻址中,所用到的寄存器的前面要加间接寻址符“@”。 寄存器R0、R1和数据指针DPTR可以作为间接寻址寄存器。 寄存器间接寻址示意图 例如:寄存器R0内容为30H,片内RAM 30H单元的内容为45H。 解:MOV A,R0 功能是将R0的内容30H传送给累加器A,指令执行结果是累加器A中的内容为30H。 MOV A,@R0 功能是将R0的内容30H作为操作数的地址,根据这一地址找到内部RAM 30H单元,将其内容45H传送至累加器A,指令执行结果是累加器A中内容为45H。 5. 变址寻址(基址寄存器+变址寄存器间接寻址) 变址寻址是以DPTR或者PC作为基址寄存器,其内容为基地址,以累加器A作为变址寄存器,其内容为变址,并将两个寄存器内容也就是基址和变址相加,形成16位操作数地址。然后在程序存储器中找到该地址所对应的单元,其内容即为操作数。 变址寻址示意图 例:假设DPTR的内容为2030H,累加器A的内容为12H。 MOVC A,@A+DPTR 该指令的功能是将2030H和12H相加,得到2042H作为操作数地址,在程序存储器中找到2042H单元,将其内容送至累加器A。 6. 相对寻址 相对转移指令执行时,是以当前的PC值加上指令中规定的偏移量rel而形成实际的转移地址。这里所说的PC的当前值是执行完相对转移指令后的PC值。 一般将相对转移指令操作码所在地址称为源地址,转移后的地址称为目的地址。于是有: 目的地址=源地址+相对转移指令本身字节数+rel 偏移量rel是一带符号的8位二进制数补码数。范围是:–128~+127 相对寻址只出现在相对转移指令中,以修正PC的方式来控制程序的转移目的。 相对转移指令操作示意图 例如:在程序存储器中2000H单元有一条双字节的相对转移指令“SJMP 75H”。 解:程序存储器2000H、2001H单元的内容80H、75H是“SJMP 75H”的机器语言代码。 7. 位寻址 位寻址指令中给出的是位地址,即片内RAM某一单元中的一位。位地址在指令中用bit表示。 单片机片内RAM有两个区域可以进行位寻址。具体如下: 内部RAM中的位寻址区——该区共有16个单元,单元地址是20H~2FH,一共有128位,位地址为00~7FH。 特殊功能寄存器的可操作位——有11个单元地址能被8整除的寄存器,它们都可以进行位寻址,实际可寻址位为83个。 可寻址位在指令中的表示方式 ① 直接使用位地址。 例:PSW寄存器的第5位可表示为D5H。 20H单元的第7位可表示为07H。 ② 用位名称表示。 例:PSW寄存器的第5位可表示为F0。 ③ 单元地址加位号表示。 例:PS

文档评论(0)

xiexie2012 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档