- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
作者 丁向荣 第4章 STC15F2K60S2单片机的指令系统 4.1 概述 4.2 数据传送类指令 (29条) 4.3 算术运算类指令(24条) 4.4 逻辑运算与循环移位类指令(24条) 4.5 控制转移类指令(17条) 4.6 位操作类指令(17条) 4.1 概述 4.1.1 机器指令的编码格式 机器指令通常由操作码和操作数(或操作数地址)两部分构成。操作码用来规定指令执行的操作功能;操作数是指参与操作的数据。 (1)单字节指令 单字节指令有两种编码格式: 1)8位编码仅为操作码 4.1 概述 4.1.1 机器指令的编码格式 2)8位编码含有操作码和寄存器编码 这类指令的高5位为操作码,低3位为操作数对应的编码。如INC R1的指令编码为09H,其中高5位00001B为寄存器内容加1的操作码,低3位001B为寄存器R1对应的编码。 4.1 概述 4.1.1 机器指令的编码格式 (1)双字节指令 这类指令的第一个字节为操作码,第二字节表示参与操作的数据或存放数据的地址。如MOV A, #60H的指令代码01100000B,其中高字为代表将立即数传送到累加器A功能的操作码,低字为对应的立即数(源操作数,60H)。 4.1 概述 4.1.1 机器指令的编码格式 (2)三字节指令 这类指令的第一个字节表示操作码,后两个字节表示参与操作的数据或存放数据的地址。 4.1 概述 4.1.2 汇编语言指令格式 [标号:] 操作码 [第一操作数] [,第二操作数] [ ,第三操作数] [;注释] 其中,方括号内为可选项。各部分之间必须用分隔符隔开,即标号要以 “:”结尾,操作码和操作数之间要有一个或多个空格,操作数和操作数之间用“,”分隔,注释开始之前要加“;”。 例如:START: MOV P1, #0FFH ;对P1口初始化 4.1 概述 4.1.2 汇编语言指令格式 [标号:] 操作码 [第一操作数] [,第二操作数] [ ,第三操作数] [;注释] 标号:表示该语句的符号地址,可根据需要而设置。当汇编程序对汇编语言源程序进行汇编时,以该指令所在的地址值来代替标号。在编程的过程中,适当的使用标号,使程序便于查询、修改以及方便转移指令的编程。标号通常用在转移指令或调用指令对应的转移目标地址处。标号一般由若干个字符组成,但第一个字符必须是字母,其余的可以是字母也可以是数字或下画线符号“_”,系统保留字符(含指令系统保留字符与汇编系统的保留字符)不能用作标号,标号尽量用转移指令或调用指令操作操作相近含义的英文缩写来表示。标号和操作码之间必须用冒号“:”分开。 4.1 概述 4.1.2 汇编语言指令格式 [标号:] 操作码 [第一操作数] [,第二操作数] [ ,第三操作数] [;注释] 操作码:表示指令的操作功能,用助记符表示,是指令的核心,不能缺省。MCS-51指令系统中共有42种助记符,代表了33种不同的功能。例如MOV是数据传送的助记符。 操作数:是操作码的操作对象。根据指令的不同功能,操作数的个数可以是3、2、1,或没有。例如“MOV P1,#0FFH”,包含了两个操作数,即P1和#0FFH,它们之间用“,”隔开。 注释:用来解释该条指令或一段程序的功能,便于阅读。注释可有可无,对程序的执行没有影响。 4.1 概述 3. 指令系统中的常用符号 #data #data16 direct Rn:n=0~7 Ri:i=0,l addr16 addr11 rel DPTR bit /bit
文档评论(0)