- 1、本文档共95页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[物理]第3章 指令系统1
共51 本章教学要求 熟悉89C51单片机指令系统的分类、格式; 熟悉89C51指令系统的七种寻址方式; 掌握89C51指令系统的数据传送、算术运算、逻辑运算、转移操作、布尔运算等指令的功能; 掌握89C51指令系统的各种指令对寄存器资源的占用情况。 3.1 汇编语言 汇编语言特点 ①容易理解、记忆 ②与硬件结构紧密相关,不同的CPU有不同的汇编语言 ③移植性差,使用不便 ④对程序设计人员要求高 3.1.1 89C51指令系统 89C51单片机指令集含有111条指令 按指令所占字节数分类: 单字节(49条);双字节(46条);3字节(16条) 按指令执行时间分类: 单周期(64条);双周期(45条);4周期(2条) 按指令的功能分类: 数据传送类(29条);算术运算类(24条); 逻辑运算及移位类(24);控制转移类(17条); 位操作类(17条) 89C51单片机指令系统特点 1) 指令执行时间短。只需1个机器周期的指令有64条,2个机器周期的指令有45条,而4个机器周期的指令仅有2条(既乘法和除法指令)。 2) 指令字节少。单字节指令有49条,双字节指令有46条,三字节指令有16条。 3) 位操作指令极为丰富,这体现了89C51单片机具有面向控制的特点。 3.1.2 89C51 指令格式 基本描述: 一条指令必须在一行中写完。例如: MAIN:MOV A,#10H ;主程序段 MAIN为标号;MOV为操作码;A、#10H为二个操作数;最后是注释。 指令在送入计算机执行之前,必须先转换成机器语言形式。转换成机器语言的过程称为汇编,汇编有机器汇编和手工汇编两种方法。 3.1.3 指令中的常用符号 为了便于阅读指令,89C51指令助记符中的一些常用符号约定如下。 Rn:表示当前工作寄存器R0~R7中的一个。 @Ri:表示寄存器间接寻址,常作间接寻址的地址指针。其中Ri代表R0和R1寄存器中的一个。 direct:表示内部数据存贮器单元的地址及特殊功能寄存器SFR的地址,对SFR而言,既可使用它的物理地址,也可直接使用它的名字。 3.1.3 指令中的常用符号 #date:表示8位立即数,即8位常数,取值范围为#00H~#0FFH。 date16:表示16位立即数,即16位常数,取值范围为#0000H~#0FFFFH。 addr16:表示16位地址。 addr11:表示11位地址。 rel:用补码形式表示的地址偏移量,取值范围为-128~+127。 bit:表示内部RAM和SFR中的具有位寻址功能的位地址。 3.1.3 指令中的常用符号 @:表示间接寻址寄存器或基址寄存器的前缀符号。 $: 表示当前指令的地址。 /: 位操作数的前缀,表示对该位操作数取反,如:/bit。 (x):表示存储单元x的内容。 ((x)):表示以寄存器或存储单元x的内容作为地址的存储单元的内容。 →:表示数据传送方向。 3.2 寻址方式 如何找到参与运算的操作数据或数据所在的地址称为寻址方式。所以寻址方式是在地址范围内如何找到所需要的操作数的地址。 89C51指令系统的寻址方式主要有立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址加变址寻址、相对寻址和位寻址等七种。 ----寄存器寻址 寄存器寻址是指操作数存放在寄存器中,并且寻址时的寄存器已隐含在指令的操作码中。 例如:MOV A, R5 2.直接寻址 直接寻址是将操作数的地址直接存放在指令中。 这种寻址方式的操作数指的是内部数据存储器中存放数据的地址,或存放数据的一个特殊功能寄存器地址。 例如:MOV A, 30H ;(30H)→A 直接寻址方式可访问的范围 1) 特殊功能寄存器。 这部分存储单元既可以用单元地址给出,也可以用寄存器符号的形式给出。如:MOV A, 90H 或 MOV A, P1为同一条指令的两种写法(特殊功能寄存器只能用直接寻址方式访问)。 2) 内部数据存储器的低128个字节单元。 3) 位地址空间 片内RAM中20H~2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址(可位寻址的特殊功能寄存器有B、ACC、PSW、IP、IE、SCON、TCON、P0~P3)。 4) 在一些程序控制指令中,可采用直接寻址方式提供程序转移的目标地址。 立即数寻址是将操作数直接写在指令中,作为指令的一部分存放在代码段里,位置在程序存储器中。立即数寻址中的操作数,即为立即数。 特点:指令码中含有操作数本身。 例如:MOV A, #30H ;30H→A 4.寄存器间接寻址 指令所选中的寄存器内容是实际操作数地址(而不是操作数) 寄存器间接寻址的寻址范围 1)
文档评论(0)