C的指令系统.pptVIP

  1. 1、本文档共95页,可阅读全部内容。
  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文档。上传文档
查看更多
C的指令系统

第3章  80C51的指令系统 3.1 概述 3.1.1 机器语言、汇编语言和高级语言 在计算机中,所有的指令、数据都是用二进制代码来表示的。这种用二进制代码表示的指令系统称为机器语言,用机器语言编写的程序称为机器语言程序或目标程序,为了书写方便,一般用十六进制代码表示。 优点:机器语言是计算机唯一懂的语言,能 被计算机直接识别并快速执行; 缺点:用户不易识别和记忆,容易出错。 3.1 概述 用英文字符来代替机器语言,这些英文字符被称之为助记符,用助记符表示指令系统的语言称之为汇编语言。 但是计算机不能直接识别在汇编语言中出现的各种字符,需要将其转换成机器语言,单片机原理与应用中常把这一转换(翻译)工作称为汇编。汇编可以由查表的形式手工完成,也可由专门的程序来完成,这种程序称为汇编程序。汇编后得到的机器语言程序称为目的程序或目标程序,原来的汇编语言程序称为源程序。 3.1 概述 由于汇编语言是一种面向机器的语言,因此受到机器种类的限制,不能在不同类型的计算机上通用,这样就出现了高级语言,例如BASIC、C 语言等。高级语言是一种面向过程的语言,这种语言更接近英语和数字表达式,易被一般用户掌握。 3.1 概述 3.1.2 指令的格式 1、汇编语言指令的格式 汇编语言指令的一般格式如下: [标号:]操作码助记符[操作数][;注释] 2、机器语言指令的格式 机器语言指令是一种二进制代码,它包括两个基本部分:操作码和操作数。机器语言指令格式如图3 -1所示。 3.1 概述 3.1.3 常用符号 Rn——当前选中的工作寄存器组R0~R7 (n:0~7)。它在片内数据存储器中的地址由PSW中的RS1、RS0确定,可以是00H~07H (第0组)、08H~0FH (第1 组)、10H~17H (第2组)、18H~1FH (第3组)。 Ri——当前选中的工作寄存器组中可作为地址指针的2个工作寄存器R0、R1 (i=0或1)。它在片内数据存储器中的地址由RS1、RS0确定, 分别为00H、01H;08H、09H;10H、11H;18H、19H。必须和@配合出现(@Ri)。 #data——8位立即数,即包含在指令中的8位常数。 #data16——16位立即数,即包含在指令中的16位常数。 3.1 概述 direct———8位片内RAM 单元(包括SFR) 的直接地址。对于SFR,此地址可以直接用它的名称来表示,例如ACC(此时不能用A 代替)、PSW、P0等。 addr———11位目的地址。用于ACALL 和AJMP指令中,目的地址必须放在与下一条指令第1个字节同一个2KB程序存储器地址空间之内。 addr16———16位目的地址。用于LCALL 和LJMP指令中,目的地址范围在64KB程序存储器地址空间。 rel———补码形式的8位地址偏移量,用于相对转移指令中。偏移量以下一条指令第1个字节地址为基值,偏移范围为-128~+127。 bit———片内RAM 或特殊功能寄存器的直接寻址位地址。 3.1 概述 @———在间接寻址方式中,表示间址寄存器的符号。 /———在位操作指令中,表示对该位先取反,再参与操作,但不影响该位原值。 以下符号仅出现在指令注释或功能说明中。 X———片内RAM 的直接地址(包含位地址)或寄存器。 (X)———在直接寻址方式中,表示直接地址X 中的内容;在间接寻址方式中,表示由间址寄存器X 指出的地址单元。 ((X))———在间接寻址方式中,表示由间址寄存器X 指出的地址单元中的内容。 ←———在指令操作流程中,将箭头右边的内容送入箭头左边的单元内。 3.2 寻址方式 寻址方式:就是寻找操作数的方法。 3.2.1 立即寻址 立即寻址指在该指令中直接给出参与操作的常数(称为立即数)。立即数前冠以“#”以便与直接地址相区别。 如: MOV A, #30H 操作数2 (#30H )为立即数寻址 3.2 寻址方式 3.2.2 直接寻址 直接寻址就是在指令中直接给出操作数所在存储单元的地址,该地址指出了参与操作的数据所在的字节地址或者是位地址。在80C51 单片机中,直接地址只能用来表示特殊功能寄存器、内部数据存储器和位地址空间。其中,特殊功能寄存器和位地址空间只能用直接寻址方式来访问。 如:MOV A, 30H 操作数2(

文档评论(0)

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

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档