单片机理及应用(胡乾斌)第三章.pptVIP

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机理及应用(胡乾斌)第三章

第三章 MCS—51单片微机的指令系统 3.1 MCS—51指令及其表示方法 一、机器语言指令与汇编语言指令 和一般的微机一样,指令具有两级形式,即机器语言指令和汇编语言指令,指令的集合便是程序。例如作10+20的运算可采用下列二进制机器语言程序 : 16进制表示为74H 0AH 24H 14H 为了使用方便,用助记符来表示操作性质,并规定一定的书写格式,这样就形成了汇编语言级的指令和程序,例如上述程序的汇编语言形式为: MOV A, #0AH ADD A, #14H 二、指令的格式 指令是完成一种特定操作的命令。 一条指令由一个操作码和几个操作数组成,其中操作数可以是0—2个,在计算机中以8位二进制码为一个字节,各种编码均以字节为单位(即16进制的2位数)。 二、指令的格式 例如: 操作内容 汇编语言 机器语言指令 累加器内容加1 INC A 04H) 累加器内容取反 CPL A 18H) MOV A ,Rn(n=0—7); 机器码为11101rrrb 式中 rrr为0~7的二进制码 MOV data , #data ; 机器码为 75H data #data 3.2 寻址方式 一、指令系统中使用的符号 A——累加器; B——乘、除运算寄存器,亦可当作一般寄存器使用; Rn——工作寄存器n=0—7; Ri——用于存放地址的工作寄存器i=0,1,亦称8位地址指针; DPTR——16位数据(地址)指针(由DPH,DPL两个寄存器组成),存放16位地址; @——以寄存器的内容为地址的前缀; rrr:—— R0—R7对应的rrr为000—111; 二、寻址方式 计算机的各种操作都涉及到寄存器和存贮器,它们分布在片内和片外,数量很多,因此指令中必须明确指明是哪一个寄存器或哪一个存贮单元,寻址方式就是在指令中给出的寻找操作数或操作数所在地址的方法。执行任何一条指令都需要使用操作数。MCS—51系列单片微机指令系统中共有以下7种寻址方式。 1.立即寻址 立即寻址是指在指令中直接给出参与操作的数,出现在指令中的这种操作数称为立即数,这种寻址方式称为立即寻址。为了与直接寻址指令中的直接地址相区别,在立即数前面必须加上前缀“#”。 例如:指令 MOV DPTR, #1234H 其中1234H就是立即数,指令功能是把16位立即数1234H送入数据指针DPTR中。 1.立即寻址 例如:指令 MOV DPTR, #1234H 机器语言指令: 90 12 34 2.直接寻址 直接寻址是指在指令中直接给出操作数单元的地址。 例如:指令 MOV A, 3AH 其功能是把片内RAM中3AH单元内的数据传送给累加器A。直接寻址方式只能给出8位地址,因此这种寻址方式的寻址范围只限于片内RAM。具体地说: (1)低128单元,在指令中直接以单元地址形式给出。 (2)特殊功能寄存器,这时除可以单元地址形式给出外,还可以寄存器符号形式给出。虽然特殊功能寄存器可以使用符号标志,但在指令代码中还是按地址进行编码的。 例如:指令 MOV A,B ; MOV A,F0H ; 2.直接寻址 (3)位地址空间。 特殊功能寄存器和位地址空间只能用直接寻址方式来访问。 例:指令: MOV A,45H ; 机器代码:E5 45 3.寄存器寻址 寄存器寻址是指在指令中将指定寄存器的内容作为操作数。因此指定了寄存器就能得到操作数。 寄存器寻址方式中,用符号名称来表示寄存器。 例如:指令INC R0 其功能是把寄存器R0的内容加1,再送回R0中。由于操作数在R0中,指定了R0,也就得到了操作数。 寄存器寻址方式的寻址范围包括: (1)在指令中只能使用当前寄存器组。因此在使用中要通过指定PSW中的RS1、RS0,以选择使用的当前寄存器组。 (2)部分特殊功

文档评论(0)

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

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

1亿VIP精品文档

相关文档