- 1、本文档共100页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章(修改)
第3章 MCS-51的指令系统 MCS-51指令系统特点: (1) MCS-51指令系统用42种助记符表示了33种指令功能。 (2) MCS-51指令系统在存储空间和执行时间上的效率是比较高的。是一种简明、易掌握、功能强的指令系统。 (3) MCS-51指令系统中有一个处理布尔变量的指令子集。 3.1 指令系统概述 MCS-51的基本指令共111条: (1) 每条指令在程序存储器ROM中占据一定的空间,以字节为单位。按指令所占字节数分类: ① 单字节指令49条:指令只有一个字节,操作码和操作数同在一个字节中。 ② 双字节指令45条:一个字节为操作码,另一个字节是操作数。 ③ 三字节指令17条:操作码占一个字节,操作数占二个字节。其中操作数既可能是数据,也可能是地址。 (2) 每条指令在执行时要花去一定的时间,以机器周期为单位。按指令的执行时间来分: ① 1个机器周期(12个时钟振荡周期)的指令64条; ② 2个机器周期(24个时钟振荡周期)的指令45条; ③ 只有乘、除2条指令的执行时间为4个机器周期(48个时钟振荡周期)。 复习例题:如果单片机晶振为12MHz,则机器周期为1?s。 解:因为 1个机器周期=12个时钟周期 而 时钟周期=1/12MHz 所以 机器周期=12*(1/12MHz)= 1?s; (3) 按指令的功能分类,可分为5大类: ① 数据传送类(29条); ② 算术运算类(24条); ③ 逻辑运算及移位类(24); ④ 控制转移类(17条); ⑤ 位操作类(17条) 3.3 指令系统的寻址方式 寻址方式就是在指令中说明操作数所在地址的方法。 共7种寻址方式。 1.寄存器寻址方式: 从寄存器中读取操作数或存放操作数进寄存器。 ①寻址空间: 寻址范围包括: (ⅰ) 4组通用工作寄存区共32个工作寄存器,由RS0 RS1两位的值选定工作寄存器区。 (ⅱ) 部分特殊功能寄存器,例如A、B 以及数据指针寄存器DPTR,位累加器CY等。 ② 特点: 指令选定的寄存器内容就是实际操作数。其特点是被寻址的某个寄存器已经隐含在操作码中,故有时称寄存器寻址为隐含寻址。 ③ 三种指令形式: 例如:MOV A,Rn ;(Rn)→A,n=0~7 表示:把寄存器Rn的内容传送给累加器A 注:在这条指令寻址前,要通过PSW中的RS1和RS0来设定当前工作寄存器区: SETB RS1; 设定RS1为1 CLR RS0; 设定RS0为0,则选定2区 2.直接寻址方式 指令中直接给出了操作数所在单元的地址或名称。 (ⅱ) 除了以单元地址的形式外,还可用寄存器符号的形式给出。例如: MOV A,P0 与 MOV A,80H 是等价的。 3. 寄存器间接寻址方式 寄存器中的内容是一个地址,由该地址单元寻址到所需的操作数 ① 寻址范围: (ⅰ)内部RAM(@R0,@R1,SP)和外部数据存储器(@R0,@R1,@DPTR),在寄存器的名称前面加前缀标志“@”,其通用形式为@Ri 。 (ⅱ)对片外数据存储器的64K字节的间接寻址 例如: MOVX A,@DPTR ② 特点: (ⅰ)访问内部RAM或外部数据存储器的低256个字节时,只能采用R0或R1作为间址寄存器。 例如:MOVX A,@Ri;i=0或1 (Ⅳ) 堆栈区 堆栈操作指令PUSH(压栈)和POP(出栈)使用堆栈指针(SP)作间址寄存器 ③ 指令有三种形式: 再例如:MOVX A,@DPTR 这是一条外部数据存储器读指令,在指令寻址前DPTR数据指针是有值的,设它指向外部数据存储器即将访问的一个单元2000H。当执行指令时,外部数据存储器2000H单元的内容读入累加器A中,如下图所示。 4.立即寻址方式 操作数直接就出现在指令中; ① 寻址范围: 程序存储器; ② 特点: 操作数在指令中直接给出,需在操作数前面加前缀标志“#”,以区别直接寻址。例如: MOV A,#30H ③ 指令形式: 5.基址寄存器加变址寄存器间址寻址方式 本寻址方式是以DPTR或PC作基址寄存器,以累加器A作为变址寄存器。两者中的“内容”形成一个16位的“地址”,该“地址”所指的存储单元中的内容才是操作数。 ① 寻址范围: 本寻址方式是专门针对程序存储器的寻址方式,寻址范围可达到64KB。 方式为(@A+DPTR,@A+PC)。 ② 特点: 例:设累加器A与数据指针DPTR在寻址前是有值(定义)的:(A)=05H , (DPTR)=040
文档评论(0)