- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3-4讲 MCS-51单片机指令系统 3.1 MCS-51单片机指令系统概述 3.2 MCS-51单片机指令系统 3.3 汇编语言程序设计 3.4 MCS-51汇编语言实用程序设计(略) 3.1 MCS-51单片机指令系统概述 指令 一种规定CPU执行某种特定操作的命令,通常一条指令对应一种基本操作,如MOV指令对应数据传送操作,ADD指令对应数据加法操作等等。 指令系统 CPU所能执行的全部指令集合。 汇编语言 以助记符表示的指令。 汇编语言程序 使用指令编写的程序。 指令系统是是由计算机生产厂商定义的,是用户必须理解和遵循的标准,指令系统没有通用性。指令系统是学习和使用单片机的基础和工具,是单片机用户必须掌握的重要知识。 根据周期分类 (1) 单周期指令(65条) (2) 双周期指令(44条) (3) 四周期指令(2条) 根据类型分类 (1) 数据传送类指令(29条) (2) 算术运算类指令(24条) (3) 逻辑运算类指令(24条) (4) 控制转移类指令(17条) (5) 位操作类指令(17条) ① #data:表示8位立即数,如#7FH。 ② Rn:表示寄存器R0~R7。 ③ direct:表示片内存储单元的直接地址(8位),如30H。 ④ addr16,addr11:表示指令中的16位或11位转移地址。 ⑤ rel:表示相对偏移量,取值范围为-128~+127。如02H。 ⑥ bit:表示位地址,如ACC.0。 ⑦ ():表示存储单元的内容,如(30H)=40H。 ⑧ (()):表示间接寻址的存储单元内容,((R0))=(7FH)=50H。 ⑨ Ri:表示用来间接寻址的寄存器RO、R1两个寄存器。 ⑩ $ : 表示当前指令的地址。 寻址方式: 如何指定操作数所在的单元(获取操作数)。寻址方式的丰富程度,不仅为编程提供方便,而且直接影响指令的长度和执行速度。MCS-51系列单片机设有七中寻址方式: ? 寄存器寻址方式; ? 寄存器间接寻址方式; ? 直接寻址方式; ? 立即寻址方式; ? 变址寻址方式; ? 相对寻址方式; ? 位寻址方式; 寻址方式 1、立即寻址 指令操作数为立即数的寻址方式称为立即寻址。指令的操作数以指令字节的形式存放在程序存储器中。 例如指令:MOV R0,#7FH ; (R0)←#7FH。 寻址空间:程序存储器。 2、直接寻址 直接寻址是将操作数的地址直接存放在指令中, 操作数为存储单元且只能存放在内部数据存贮器和特殊功能寄存器中。 例如:MOV A,30H ;(A)←(30H)=40H。 寻址空间:内部RAM的低128单元。 特殊功能寄存器SFR。 寻址方式 3、寄存器寻址 指令操作数为寄存器的寻址方式。如指令: MOV A,R0 ;(A)←(R0)=7FH。 寻址空间:R0-R7,由RS1,RS2两位的值选定工作寄存器区; A、B、CY、DPTR。 4、寄存器间址 指令操作数为存储单元,该单元地址由寄存器间接给出的寻址方式。 如指令:MOV A,@R0 ;(A)←((R0))=(7FH)=50H。 寻址空间: 内部RAM(@R0、@R1、SP)。 外部数据存储器(@R0、@R1、@DPTR)。 寻址方式 5、变址寻址 指令操作数为程序存储器单元,其地址由PC或DPTR中的基地址加上A中的偏移地址而形成,这种寻址方式称为变址寻址。如指令: MOVC A,@A+PC ;假设执行指令前,(A)=50H,(PC)=2007H,(2057 H)=60H,执行指令后 (A)←((A)+(PC))=(50H+2007H)=(2057H)=60H。 寻址空间:程序存储器(@A+DPTR、@A+PC)。用于读出程序存储器中数据表 格的数据。 6、相对寻址 指令中操作数为相对偏移量rel。如指令:SJMP rel ; (PC)←(PC)+rel=2009H+2=200BH。 当执行指令时,当前(PC)=2009H,而相对偏移量rel=02H,则执行该指令后,(PC)=2009H+02H=200BH,即程序由地址为2009H处跳转到200BH处执行,其跳转的距离为相对偏移量rel=02H 寻址空间:程序存储器。 寻址方式 7、位寻址 指令中操作数为1位二进制数,则称此寻址方式为位寻址。例如: SETB ACC.0 ;(ACC.0)←1该指令将累加器的最低位ACC.0置1。 寻址空间: 片内RAM的20H-2FH;
文档评论(0)