- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指令是指示计算机执行某种操作的命令。计算机所能执 行的全部指令的集合称为计算机CPU的指令系统。 计算机只能识别二进制数,因此用二进制编码表示的机 器语言,计算机能直接执行。 例如:计算10+20,则在MCS-51单片机中用机器码编程 如下: ;将某一数送到累加器A中 ;被送的数是10(0AH) ;将累加器A中的内容与某数相加,结果送到A中 ;被加数是20(14H) 用十六进制代码表示指令,即: 74H 0AH 24H 14H 2.2 MCS-51单片机指令格式 单片机指令采用助记符表示的汇编语言指令格式如下: [ 标号:] 操作码 操作数或操作数地址 {;注释} 1)标号 是根据编码需要给指令设定的符号地址,可 省略;标号由1~8个字符组成,第一个字符必须是 字母或下划线,不能是数字或其他,标号后必须用 冒号。注意标号不能与汇编语言保留字重名。 2)操作码 表示指令的操作类型,即执行什么样的操 作,不能省略,一定要有。 3)操作数 表示参加运算的数据或数据的有效地址。 视指令的不同可以没有操作数,可以只有一个,也 可以有2个。 4)注释 对指令的解释说明,提高程序的可读性,之 前必须加“;”号,是非执行语句。 2.3 MCS-51单片机指令寻址方式 所谓寻址方式,就是如何寻找存放操作数的地址,把操作数提取出来的方法。 MCS-51单片机指令系统共使用了7种寻址方式:寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。 2.3.1 立即数寻址 立即数寻址是指操作数直接包含在指令中,即数据 以指令字节的形式存放于程序存储器中。执行这类 指令时,操作码译码后就能立即在其后的单元中取 得操作数。其寻址空间为程序存储器。 例如: MOV A,# 20H ;A←20H,将数值20H送入累加器A (H表示该数为十六进制数) 机器指令:74H 20H 该指令含义是:数据20H在指令中给出,将常数20H 传 送到累加器A中。注意:立即数前面必须加“# ”,用 以区别立即数和直接地址。指令执行过程如图2-1所示。 2.3.2 直接寻址 直接寻址是指存放数据的地址直接写在指令中。其寻址空间是:内部RAM的低128字节(00H~7FH);特殊功能寄存器SFR区(80H-FFH)。例如: MOV A, 30H ; A←(30H),30H单元的数据送入 累加器A 该指令的含义是:数据20H在片内RAM地址30H中,从30H单元取出数据20H放入累加器A中。 指令执行过程如下图所示。 2.3.3 寄存器寻址 寄存器寻址是指数据存放在给定的寄存器中。寄存器 包括工作寄存器R0~R7,累加器A,通用寄存器B,地址 寄存器DPTR等。例如: MOV A, R1 ; A←R1中的内容送入累加器A 该指令的含义是:数据在R1中,取出存放在R1中的数据送到累加器A中。指令执行过程如下图所示。 2.3.4 寄存器间接寻址 寄存器间接寻址是指存放数据的地址在寄存器中,指 令中给出存放地址的寄存器。在指令执行时,首先根 据寄存器的内容找到数据的地址,再由这个地址找到 数据。例如:MOV R0,#30H MOV A,@R0; A←(R0)寄存器R0中的 内容作为地址,将该地址的内容送入A 该指令含义是:数据的地址在R0,R0中的内容为30H, 所以数据在地址30H中,将地址30H存放的数据送到累 加器A中。指令执行过程如下图所示。 2.3.5 变址寻址 变址寻址指将基址寄存器与变址寄存器的内容相加,其 结果作为数据的地址。该寻址方式主要用于查表操作。 基址寄存器:16位的程序计数器PC或16位的数据指针 DPTR。 变址寄存器:8位的累加器A。例如: MOVC A,@A+DPTR ; A← (A+DPTR)。 该指令的含义是:数据的地址为16位,A和DPTR相加后 的结果作为数据的地址,将该地址的数据取出送到累加 器A中。假定指令执行前(A)=02H,(DPTR)=0FFEH,而 1000H单元的内容为20H,故该指令执行结果是A的内容 为20H。指令执行过程见下图所示: 2.3.6 相对寻址 相对寻址是指将程序计数器PC的当前作为基准,与指 令中给出的相对偏移量REL相加,其结果作为跳转指令 的转移地址。 2.3.7 位寻址 位寻址是指按位进行的寻址方式。其数
原创力文档


文档评论(0)