- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目3 51单片机指令系统
项目3 51单片机指令系统 3.1 指令系统概述 所谓指令,就是指挥计算机工作的基本操作命令。计算机所能执行的基本操作命令的集合就构成了计算机的指令系统。我们按照一定的目的编写的计算机程序,实际就是各种指令的组合。 机器语言、汇编语言、高级语言 3.1.1 指令的格式 格式:[标号:] 操作码 [操作数] ; [注释] 1.标号:也称标识符,由用户自行定义,由1~8个字符组成,必须以字母开头,其余字符可以是字母或是数字等。 2.操作码:也称指令助记符,它规定了指令的功能。 3.操作数:指令的操作对象,规定了参与操作的数据的来源或操作结果存放的地点,大多为1~2个,个别指令有3个(如CJNE等)。 4.注释:指令语句的说明性文字,必须以“;”开始,其目的便于编程人员的阅读和交流,它不是指令的功能部分,可以省略。 例如:LOOP:MOV A,#05H;累加器A中送入数据05H 3.1.2 指令系统的符号说明 Rn:表示当前选定寄存器组的工作寄存器R0~R7; Ri:表示作为间接寻址的地址指针R0~R1; #data:表示8位立即数,即00H~FFH; #data16:表示16位立即数,即0000H~FFFFH; addr16:表示16位地址,用于64K范围内寻址,通常也可以用字符串表示; addr11:表示11位地址,用于2K范围内寻址,通常也可以用字符串表示; direct:表示8位直接地址,可以是内部RAM区的某一单元或某一专用寄存器地址; Rel:表示带符号的8位偏移量(-128~+127),通常也可以用字符串表示; Bit:表示位寻址区的直接寻址位或者是可位寻址的特殊功能寄存器的位地址; 3.1.3 寻址方式 所谓寻址方式就是获得操作数的方式问题。由于指令给出操作数的方式不同,因此就形成不同的寻址方式。寻址方式越多,操作就越方便,控制就越灵活。寻址方式是看提供操作数中源操作数的性质来看的,与目的操作数无关。 1.立即寻址 指令中给出的是操作数本身。在指令格式中有两种形式:即8位和16位立即数两种表示方法用“#”作为前缀。例如: MOV A,#100 ;将立即数100(64H)送入累加器A MOV R0,#32H ;将立即数32H送入到R0中 MOV 30H,#40H ;将立即数40H 送入数据存储器30H单元中 上述三条指令执行完后,累加器A中数据为立即数据64H,R0寄存器中数据为32H,数据存储器30H单元数据为40H。 2.直接寻址 指令中给出的是操作数所在的单元地址,通过单元地址找到这个操作数,这就是直接寻址。寻址范围只限内部RAM低128单元(即00H~7FH)和特殊功能寄存器。例如: MOV A,40H ;将内部数据存储器40H单元中的数据传送到累加器A中 MOV A,P1 ;将特殊功能寄存器P1的数据传送到累加器A中 3.寄存器寻址 指令中给出的是操作数在一个寄存器中,以寄存器的内容作为操作数,找到了制定的寄存器,就等于找到了操作数,这就是寄存器寻址方式,通用寄存器指A、B 、DPTR以及R0~R7,工作寄存器R0~R7常用于寄存器寻址。例如: MOV A,R0 ;将R0中的数据传送到累加器A中 4.寄存器间接寻址 指令中给出的是操作数的单元地址,这个单元地址放在一个寄存器中,通过寄存器找到这个操作数,也就是说操作数是通过寄存器间接得到的,所以叫寄存器间接寻址方式。 例:假定寄存器R0中的内容是40H,而内部RAM中40H单元的内容是62H,则执行指 令‘MOV A, @R0’后, R0中内容不变,A中内容变为62H,其指令操作过程示意图如图3-1所示。 5.变址寻址 指令中给出的是操作数的单元的复合地址。即基址寄存器加变址寄存器的间接寻址方式。通常是以数据指针寄存器DPTR或者程序计数器PC作为基本地址,累加器A作为变址,两者的内容相加形成16位程序存储器地址。简单的说,指令的立脚点DPTR中有一个数,A中有一个数,执行指令时,将A和DPTR中的数加起为,就成为要查找单元的地址。 变址寻址方式仅使用于程序存储器(ROM)。 例:假定累加器A中的内容是05H,而DPTR中的内容是2100H,程序存储器2105H处的内容是3FH,则执行指令‘MOVC A,@A+DPTR’后,DPTR中的内容不变,A中的内容变为3FH,其指令操作过程示意图如图3-2所示。 6.位寻址 MCS-51单片机具有位寻址功能,即指令给出的不再是单元地址,而是8位中的一位地址,这种寻址方式就是位寻址方式。通常位寻址方式中都出现布尔累加器C。寻址范围包括内部RAM 20H~2FH位寻址区中的128位和特殊功能寄存
原创力文档


文档评论(0)