- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第3章指令系统;主要内容;3.1指令系统概述;按指令的执行时间来分:
(1)1个机器周期(12个时钟振荡周期)指令64条
(2)2个机器周期(24个时钟振荡周期)指令45条
(3)只有只有乘、除两条指令的执行时间为4个机器周期(48个时钟振荡周期)。
指令的长度是单字节并不一定执行起来就是一个机器周期,例如:
单字节双周期RET
单字节四周期乘(MUL)除(DIV)
双字节单周期ANLA,#00H;3.2指令格式
即指令的表示方法,两部分组成,即操作码和操作数。
操作码用来规定指令进行什么操作
操作数则是指令操作的对象
MOVA,#0AH
;
3.3指令系统的寻址方式;寻址范围包括:;3.直接寻址方式;MOVA,#41H
MOVA,41H
;4.寄存器间接寻址方式;(3)片外数据存储器的低256字节,不建议使用。;例如:指令MOVCA,@A+DPTR其中A的原有内容为05H,DPTR的内容为0400H,该指令执行的结果是把程序存储器0405H单元的内容传送给A。;(2)本寻址方式的指令只有3条:;6.相对寻址方式;例:;7.位寻址方式;;CY是PSW中最常用的标志位。
在字节运算时:它表示运算结果是否有进位(或借位)。
加法时:有进位Cy由硬件置“1”即Cy=1;
无进位CY被硬件清“0”即Cy=0。
减法时:有借位Cy由硬件置“1”即Cy=1;
无借位CY被硬件清“0”即Cy=0。
在位操作(布尔操作)时:
CY作为累加器使用。;;(2)特殊功能寄存器中的可寻址位;3.4MCS-51指令系统分类介绍;指令中符号的意义:
Rn当前寄存器区的8个工作寄存器R0~R7(n=0~ 7)。
Ri当前选中的寄存器区中可作间接寻址寄存器的2 个寄存器R0、R1(i=0,1)。
Direct直接地址,即8位的内部数据存储器单元或特 殊功能寄存器的地址。;addr11;3.4.1数据传送类指令;1.以累加器为目的操作数的指令
MOVA,Rn;(Rn)→A,n=0~7
MOVA,@Ri;((Ri))→A,i=0,1
MOVA,direct;(direct)→A
MOVA,#data;#data→A;2.以Rn为目的操作数的指令;
常见错误
没有MOVRn,Rn这种写法
如:要将R3值传送给R5:
MOVR5,R3是错误的
可以:
MOVA,R3;
MOVR5,A;
;4.以寄存器间接地址为目的操作数的指令;6.堆栈操作指令
MCS-51内部RAM中可以设定一个后进先出的区域称作堆栈。
堆栈指针SP指出堆栈的栈顶位置。
(1)进栈指令
PUSHdirect
先将栈指针SP加1,然后把direct中的内容送到栈指针SP指示
的内部RAM单元中。
例如:当(SP)=60H,(A)=30H,(B)=70H时,执行:;;;(2)出栈指令;
movSP,#60H
MOVA,#0AAH
MOVB,#00H;7.累加器A与外部数据存储器传送指令;;;8.查表指令;;例如:(A)=30H,执行地址1000H处的指令;例如;9.字节交换指令
XCHA,Rn
XCHA,direct
XCHA,@Ri
例如: (A)=80H,(R7)=08H,(40H)=F0H
(R0)=30H,(30H)=0FH
执行下列指令:
XCHA,R7;(A)与(R7)互换
XCHA,40H;(A)与(40H)互换
XCHA,@R0;(A)与((R0))互换
结果:(A)=0FH,(R7)=80H,(40H)=08H,(30H)=F0H ; 10.半字节交换指令
XCHDA,@Ri
累加器的低4位与内部RAM低4位交换。例如:
(R0)=60H,(60H)=3EH,(A)=59H;3.4.2
文档评论(0)