指令系统及程序设计(一部分).pptVIP

  1. 1、本文档共68页,可阅读全部内容。
  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文档。上传文档
查看更多
指令系统及程序设计(一部分)

3.1 指令系统简介 3.1.1 机器语言和汇编语言 3.1 指令系统简介 指令系统:所有的指令的集合。 MCS-51系列单片机指令系统共有111条指令。 (1)指令的分类标准之一:按照所占存储空间大小分类: 单字节指令、双字节指令、三字节指令。 (2)指令的分类标准之二:按照执行时耗费时间长短分类: 单周期、双周期、四周期等。 (3)其他分类方法:功能,操作数数量等 了解上述分类方法 3.1.2 指令的格式 3.1.3 符号说明(暂时了解) addr11-----------11位目的地址; addr16-----------16位目的地址; rel-----------------补码形式表示的8位地址偏移量,值在-128~+127范围内; bit----------------片内RAM位地址、SFR的位地址(可用符号名称表示); /-------------------位操作数的取反操作前缀; (×)----------- 表示 × 地址单元或寄存器中的内容 ; ← ----------------将箭头右边的内容送入箭头左边的单元中。 3.2 寻址方式 寻址:是寻找操作数或指令的地址的方式。 3.2 寻址方式-寄存器寻址 操作数存放在寄存器中,指令中直接给出该寄存器名称的寻址方式。 3.2 寻址方式-直接寻址 指令操作码之后的字节存放的是操作数的地址,操作数本身存放在该地址指示的存储单元中的寻址方式称为直接寻址。 寻址位数据(实质属于位的直接寻址)。 寻址空间为:片内RAM的20H~2FH单元中的128可寻址位;SFR的可寻址位。 ADD A,#data ;(A)←(A)+#data ADD A,direct ;(A)←(A)+(direct) ADD A,@Ri ;(A)←(A)+((Ri)) ADD A,Rn ;(A)←(A)+(Rn) 上述指令,把源字节变量(立即数,直接、间接地址单元,工作寄存器内容)与累加器相加,结果保存在累加器中,影响标志AC、CY、OV、P。 例 执行指令: MOV A,#0C3H ADD A,#0AAH 运算后,CY=1,OV=1,AC=0,(PSW)=85H,(A)=6DH 注意: 1:OV溢出标志取决于带符号数运算时。OV=1表示两正数相加,和变成负数,或两负数相加,和变成正数的错误结果。 2:进行无符号数运算时,要看Cy位(最高位有进位或借位) SUBB A,#data ;(A)←(A)- #data -(C) SUBB A,direct ;(A)←(A)-(direct)-(C) SUBB A,@Ri ;(A)←(A)-((Ri))-(C) SUBB A,Rn ;(A)←(A)-(Rn)-(C) 由于减法只有带借位减一条指令,所以在单字节相减时,须先清借位位,以免相减后结果出错。 除法指令 DIV AB 该指令把累加器A中的8位无符号整数除以寄存器B中8位无符号整数,所得商放在累加器A中,余数存在寄存器B中,标志位CY和OV均清0。 若除数(B中内容)为00H,则执行后结果为不定值,并置位溢出标志OV,在任何情况下进位标志CY总清0。 例 设累加器内容为135(87H),B寄存器内容为12(0CH),则执行命令: DIV AB ;将使(A)=0BH,(B)=03H,OV=0,CY=0 例1 设(R0)=7EH,内部数据RAM中(7EH)=0FFH,(7FH)=40H,则执行下列指令: INC @R0 ;(7EH)← 00H INC R0 ;(R0) ← 7FH INC @R0 ;(7FH)← 41H 执行结果:(R0)=7FH,(7EH)=00H,(7FH)=41H 例2?? 执行指令序列: MOV DPTR,#1FFEH ;(DPTR) ← 1FFEH INC DPTR ;(DPTR) ← 1FFFH INC DPTR ;(DPTR) ← 2000H INC DPTR ;(DPTR) ← 2001H 将使(DPTR)=2001H 减1指令 DEC A ;(A) ← (A)-1 DEC direct ;(direct) ← (direct)-1 DEC @Ri ;((Ri)) ← ((Ri))-1 DEC Rn ;(

文档评论(0)

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

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

1亿VIP精品文档

相关文档