- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及应用--第三章 80C51单片机的指令系统.ppt
;基本内容;3.1概述
指令的定义
1、指令:是人们向计算机发的一种命令;一条指令对应着一种操作。
2、指令系统:CPU所能执行的全部指令的集合。
CPU能够执行多少条指令是由CPU的内部结构决定的。
不同的CPU,其指令系统不同。;3.1.1指令分类
80C51系列单片机完全继承MCS51的指令系统,共有111条指令,指令系统可分为:
(1)按其功能可分为五大类:
· 数据传送类指令(28条);
· 算术运算类指令(24条);
· 逻辑运算类指令(25条);
· 控制转移类指令(17条);
· 布尔操作(位)类指令(17条)。;(2)MCS-51单片机指令系统按指令所占的字节数可分为以下三类:
·单字节指令(49条)
·双字节指令(46条)
·三字节指令(16条)
(3)按指令的执行时间可分为以下三类:
·单周期指令(65条)
·双周期指令(44条)
·四周期指令(2条);3.1.2指令格式
◆指令格式:指令的表示方法。其内容包括指令的长度和指令内部信息的安排等。
◆一般格式为:
操作助记符 [目的操作数][,源操作数][;注释]
指令格式为:操作码 [操作数]
◆说明:
(1)一般格式中的可选择符号“[ ]”,包含的内容因指令的不同可以有或无。
(2)两个操作数指令中,通常目的操作数写在左边,源操作数写在右边。 ;; ① 单字节指令:指令只有一个字节
◆8位编码仅为操作码。
80C51的指令系统中,共有49条单字节指令。; ◆8位编码含有操作码和寄存器编码; ② 双字节指令:
双字节指令包括两个字节。第一字节表示操作码,第二个字节表示参与操作的数据或数据存放的地址。
80C51指令系统中,共有46条双字节指令。; ③ 三字节指令:
第一字节:该指令的操作码;
后两个字节:参与操作的数据或数据存放的地址。
在80C51指令系统中,共有16条三字节指令。;3.1.3指令系统中使用的符号
在指令或语句中,经常使用一些符号。下面将所使用的典型符号的意义作一说明。;(×)-------- 表示 × 地址单元或寄存器中的内容;
((×))----由×寻址的单元中的内容。 ← ----------将箭头右边的内容送入箭头左边的单元中。
$---------表示当前指令的地址。
B---------专用寄存器,用于MUL和DIV指令。
C---------进位标志,或位运算时的累加器。
DPTR------数据指针,可以用作16位的地址寄存器。
addr11-------11位目的地址;
addr16-------16位目的地址;
rel--------用补码形式表示的8位地址偏移量,值在-128~+
127范围内;
bit-------内部RAM和SFR中的具有位寻址功能的位地址。SFR中的位地址可以直接出现在指令中,为了阅读方便,往往也可用SFR的名字和所在的数位表示。如:表示PSW中奇偶校验位,可写成D0H,也可写成PSW.0的形式出现在指令中。
/-------------位操作数的取反操作前缀;;3.2寻址方式和寻址空间
寻址方式:用于说明操作数所在地址的方法。 ; 根据指令操作的需要,计算机有多种寻址方式。
一般来说,寻址方式越多,计算机的功能就越强,灵活性越大,指令系统也就愈加复杂。
80C51系列单片机指令系统中共有以下7种寻址方式。
立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。
若不特别声明,寻址方式一般是指源操作数的寻址方式。
;1、立即寻址
立即寻址:在指令中直接给出操作数。
立即数:出现在指令中的操作数,因此就将这种寻址方式称为立即寻址。
为了与直接寻址指令中的直接地址相区别,在立即数前面加前缀“#”。 ; 此外,在80C51系列指令系统中还有一条16位立即数指令,即:
MOV DPTR,#data16
功能:把16位立即数送入数据指针寄存器。
例如:执行指令 MOV DPTR,#1556H;
; 直接寻址方式只能给出8位地址,因此,其寻址范围只限于片内RAM,具体地说:
(1)低128单元,在指令中直接以单元地址形式给出。
(2)特殊功能寄存器,这时除可以单元地址形式给出外,还可以寄存器符号形式给出。
虽然特殊功能寄存器可以使用符号标志,但在指令代码中还是按地址进行编码的。
直接寻址是访问特殊功能寄存器的惟一方法。;3、寄存器寻址
参加操作的数存放在寄存器
文档评论(0)