第3讲,指令系统.docxVIP

  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.1 指令系统概述简明、易掌握、效率较高的指令系统,复杂指令集。按所占字节分,分三种:(1)单字节指令49条;(2)双字节指令45条;(3)三字节指令17条。按执行时间来分,分三种:(1)1个机器周期(12个时钟振荡周期)的指令64条;(2)2个机器周期指令45条;(3)4个机器周期——乘、除指令。12MHz晶振,每个机器周期为1s。AT89S51一大特点是在硬件结构中有一个位处理机,一个处理位变量的指令子集。3.2 指令格式指令格式:指令的表示方法。指令通常由两部分组成:操作码和操作数。操作码——指令进行什么操作。操作数——指令操作的对象。可能是一具体数据,也可能是指出到哪里取得数据的地址或符号。指令长度不同,格式也就不同。(1)单字节指令:操作码和操作数同在一个字节中。(2)双字节指令:一个字节为操作码,另一个字节是操作数。(3)三字节指令:操作码占一个字节,操作数占二个字节。3.3 指令系统的寻址方式寻址方式——在指令中说明操作数所在地址的方法。一般说,寻址方式越多,功能就越强,灵活性则越大,指令系统就越复杂。寻址方式所要解决的主要问题就是如何在整个存储器和寄存器的寻址空间内快速地找到指定的地址单元。下面介绍指令系统7种寻址方式。1.寄存器寻址方式指令中的操作数为某一寄存器的内容。例如:MOVA,Rn;(Rn)→A,n =0~7 把Rn中的源操作数送入到累加器A中。由于指令指定了从寄存器Rn中取得源操作数,所以称为寄存器寻址方式。本寻址方式的寻址范围:(1)4组通用工作寄存区共32个工作寄存器。但只对当前工作寄存器区的8个工作寄存器寻址,指令中的寄存器名称只能是R0~R7。(2)部分特殊功能寄存器,如累加器A、寄存器B以及数据指针寄存器DPTR等。2.直接寻址方式指令中直接给出操作数的单元地址,该单元地址中的内容就是操作数,直接的操作数单元地址用“direct”表示。例如: MOVA,direct “direct”就是操作数的单元地址。例如: MOVA,40H 表示把内部RAM 40H单元(direct)的内容传送到A。指令中源操作数(右边的操作数)采用的是直接寻址方式。指令中两个操作数都可由直接寻址方式给出。例如: MOVdirect1,direct2 具体指令:MOV 42H,62H 把片内RAM中62H单元的内容送到片内RAM中的42H单元中。直接寻址是访问片内所有特殊功能寄存器的唯一寻址方式。3. 寄存器间接寻址方式寄存器中存的是操作数地址,即先从寄存器中找到操作数的地址,再按该地址找到操作数。为了区别寄存器寻址和寄存器间接寻址,在寄存器间接寻址方式中,应在寄存器名称前面加前缀标志“@”。例如:MOV A,@Ri;i=0或1 其中,Ri的内容为40H,即把内部RAM 40H地址单元中的内容传送给A。4.立即数寻址方式直接在指令中给出操作数——也称立即数。为了与直接寻址指令中的直接地址加以区别,需在操作数前加前缀标志“#”。例如: MOV A,#40H 第一个字节是操作码,第二字节是立即数,就是放在程序存储器内的常数。5.基址寄存器加变址寄存器间址寻址方式以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器,以两者内容相加形成的16位地址作为目的地址进行寻址。例如指令: MOVCA,@A+DPTR 其中,(A)=05H,(DPTR)=0400H,指令执行结果是把程序存储器0405H单元的内容传送给A。本寻址方式的指令有3条:MOVCA,@A+DPTR MOVCA,@A+PC JMPA,@A+DPTR 前两条指令适用于读程序存储器中固定的数据。例如,将固定的、按一定顺序排列的表格存放在程序存储器中,在程序运行中由A的动态参量来确定读取对应的表格参数。第3条为散转指令,A中内容为程序运行后的动态结果,可根据A中不同内容,实现跳向不同程序入口的跳转。6.相对寻址方式解决程序转移。该寻址是以该转移指令的地址(PC值)加上它的字节数,再加上相对偏移量(rel),形成新的转移目的地址,从而程序转移到该目的地址。转移的目的地址用下式计算:目的地址=转移指令所在的地址+转移指令字节数+rel其中,偏移量rel是带符号8位二进制补码数,–128~+127。程序转移范围是以转移指令的下条指令首地址为基准地址,相对偏移在–128~+127之间。例如, LJMP rel程序要转移到该指令的PC值加3再加上rel的目的地址处。编写程序时,只需在转移指令中直接写要转向的地址标号。例如:LJMP LOOP“LOOP”为目的地址标号。汇编时,由汇编程序自动计算和填入偏移量。但手工汇编时,偏移量的值由手工计算。7.位寻址方式对内部RAM和特殊功能寄存器具有位寻址功能的某位内容进行置1和清0操作。位地址一般以直接位地址

文档评论(0)

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

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

1亿VIP精品文档

相关文档