第4章MCS-51指令系统、汇编语言程序设计基础.pptVIP

第4章MCS-51指令系统、汇编语言程序设计基础.ppt

  1. 1、本文档共96页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章MCS-51指令系统、汇编语言程序设计基础课件

第4章 MCS-51单片机指令系统 4.1 概述 4.2 数据传送类指令 4.3 算术运算类指令 4.4 逻辑运算类指令 4.5 控制转移类指令 4.6 位处理类指令 2.1 概述 一、指令与指令系统 二、计算机指令的基本类型 1.机器语言 2.汇编语言 3.高级语言 1.机器语言 a.特点: 2.汇编语言 a.优点: 3.高级语言 Basic、Fortran、Pascal、C、Delphi、java等 三、MCS-51系列单片机的指令格式 完整的指令格式如下: [标号:] 操作码 [操作数] [,操作数] [;注释] 其中:[ ]项是可选项。 Note: 标号与操作码之间用“ : ”隔开; 标号以英文字母为首,不能超过6个字符; 操作码与操作数之间用若干空格隔开; 操作数之间用“ , ”隔开; 注释前用“ ; ”与指令主题隔开。 四、指令的分类 MCS-51指令系统有111条指令,可按下列几种方式分类: 1.按指令字节数分类: 单字节指令(49条)、双字节指令(45条)和三字节指令(17条)。 2.按指令执行时间分类: 单机器周期指令(64条)、双机器周期指令(45条)和四机器周期指令(2条)。 3.按功能分类: 数据传送类指令(29条)、算术运算类指令(24条)、逻辑操作类指令(24条)、控制转移类指令(17条)和位操作指令(17条)。 五、指令格式的符号约定 Rn:当前工作寄存器R0-R7中的某个寄存器; Ri:当前寄存器组中能间接寻址的两个寄存器R0, R1; #data:8位二进制数(立即数); #data16:16位二进制数; direct:片内RAM中的某个单元或某个SFR的地址; addr11:11位二进制码表示的地址,寻址范围0-2KB; addr16:16位二进制码表示的地址,寻址范围0-64KB; rel:用补码形式表示的8位二进制偏移量; bit:可直接位寻址的片内RAM或SFR中的某个位地址; C:最高进位标志位或为累加器; @:在间接寻址方式中,是间接寻址寄存器指针的前缀。 $:表示当前的指令地址; /:在位操作指令中,表示对该位先求反后再参与操作。 (X):表示X单元中的内容; ((X)):表示以X单元中的内容为地址的相应单元中的数据;如((Ri))、((DPTR)) ← :表示将箭头右边的内容传送到左边; ? :表示将数据交换; ∨、∧、⊕ :分别表示逻辑或、与、异或。 4.2 数据传送类指令 (共29条) 数据传送就是将数据从一个单元传送到另一个单元的操作,是单片机最基本、最主要、量最大的操作。 数据传送指令共29条,可分为内部RAM数据传送、外部RAM数据传送、程序存储器数据传送、数据交换和堆栈操作等五类。 寻址范围:累加器A、片内RAM、SFR、片外RAM。 功能:(目的地址)←(源地址),源地址单元的内容不变。 对标志位的影响: 除以累加器A为目的操作数 的数据传送指令对P标志位有影 响外,其余均不影响标志位。 一、一般传送类指令 (4+3+5+3=15条) MOV A , Rn ; (A)←(Rn) MOV A , direct ;(A)←(direct) MOV A , @Ri ; (A)←((Ri )) MOV A , #data ; (A)← #data MOV direct , A ; (direct)←(A) MOV direct , Rn ; (direct)←(Rn ) MOV direct , @Ri ; (direct)←((Rn)) MOV direct , direct ; (direct)←(direct) MOV direct , #data ; (direct)← #data MOV @Ri , A ; ((Rn)) ← (A) MOV @Ri , direct ; ((Rn)) ← (direct) MOV @Ri , #data ; ((Rn)) ← #data 二、堆栈操作指令 (2条) PUSH direct ;SP←SP+1,(SP)←(direct) POP direct ;(direct)←(SP) ,(SP) ←(SP)-1 三、累加器传送类指令 (3+2+4+2=11条) ① 8位数据交换指令: XCH A, Rn ;(A)?(Rn) XCH A, @Ri ;(A)?((Ri)) XCH A, direc

文档评论(0)

jiayou10 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档