- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 指令系统暗暗
第四章 MCS-51指令系统 主要内容 与指令系统相关的一些概念 指令: 是CPU根据人们的意图来执行某种操作的命令。 指令系统: 是计算机所能够执行的全部指令的集合。 程序: 是按人们的要求所编制的指令操作序列。 程序设计语言:是编写程序的某种规则。 三类编程语言:机器语言、汇编语言、高级语言 4.1 指令格式 4.1.1 汇编指令 MCS-51汇编指令由操作码助记符字段和操作数字段所组成。指令格式如下: 标号:操作码 [操作数1] [,操作数2] [,操作数3] [;注释] 第一部分为标号,标号加在指令之前,标号必须以字母开始,后跟1~8个字母或数字,并以“:”结尾,用户定义的标号不能和汇编保留符号(包括指令操作码助记符以及寄存器名等)重复。标号的值是它后面的指令存储地址。 第一部分为指令操作码助记符,它由2~5个英文字母所组成,如JB、MOV、CJNE、LCALL等。 第二部分为操作数,它以一个或几个空格和操作码隔开,根据指令功能的不同,操作数可以有1、2、3个或没有(如NOP)。操作数之间以“,”分开。 第四部分为注释,它以“;”和操作数分开。如果一行写不下,可以另起一行,但都必须以“;”开始。注释的作用:是用户对某一条指令或某一段程序的功能说明,在指令中不起作用。指令汇编后,注释没有被汇编成机器码。 单字节指令:有两种情况,共49条 (1)指令码中隐含着对某一个寄存器的操作。 (2)指令码中的某些位指定某一个寄存器。 双字节指令:一个字节示操作码,另一个字节示操作数。共46条 三字节指令:一个字节示操作码及某些位指定某个寄存器,两个字节示操作数。共16条 4.1.2 伪指令 标准的MCS-51汇编程序还定义了许多伪指令供用户使用,大多数伪指令汇编时不产生机器语言指令,仅提供汇编控制信息。最常用的伪指令有以下几条: 1、定位伪指令 ORG m m为十进制或十六进制数。 m指出该伪指令后的指令的汇编地址。在一个汇编语言源程序中允许使用多条定位伪指令,但其值应和前面生成的机器指令存放地址不重叠。 2、定义字节伪指令 DB X1,X2,X3,…,Xn Xi为单字节数据,它为十进制或十六进制数,也可以为一个表达式。 Xi也可以为由两个单引号“,”所括起来的一个字符串,这时Xi定义的字节长度等于字符串的长度,每个字符为一个ASCII码 该伪指令把X1,X2,X3,…,Xn送目标程序存储器,通常用于定义一个常数表。 3、字定义伪指令 DW Y1,Y2,Y3,…,Yn Yi为双字节数据,它可以为十进制或*十六进制数,也可以为一个表达式。 该伪指令把Y1,Y2,Y3,…,Yn送目标程序存储器,经常用于定义一个地址表。 4、汇编结束伪指令 END 该伪指令指出结束汇编,即使后面还有指令,汇编程序也不作处理。 4.1.3 常用的缩写符号 在描述MCS-51指令系统的功能时,我们经常使用下面的缩写符号,其意义如下: A 累加器ACC AB 累加器ACC和寄存器B组成的寄存器对 direct 直接地址,取值范围为0~0FFH #data 立即数,表示一个常数,取值范围为0~0FFH · 间接寻址 + 加; -- 减 ; * 乘; / 除 与; 或; + 异或; = 等于 < 小于; > 大于; 〈〉 不等于; 传送 × 寄存器;
文档评论(0)