单片机:第四章 51单片机的指令系统.pptVIP

单片机:第四章 51单片机的指令系统.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.3 基本指令-字节交换类 实现片内RAM区的数据双向传送 1) 字节交换指令 XCH A,Rn ;A←→Rn XCH A,@Ri ;A←→(Ri) XCH A,dir ;A ←→(dir) 2) 半字节交换指令 XCHD A,@Ri ;A0~3← (Ri)0~3 SWAP A ;A4~7←A0~3 4.3 基本指令-算术、逻辑运算 (1)所有双字节算术运算指令,必须A为目的操作数,源操作数为片内任意形式。 (2)对双字节逻辑运算指令而言,要么A为目的操作数,源操作数为片内任意形式;要么dir为目的操作数,此时#data或A必须为源操作数。 这就是A叫做累加器的原因,因为单片机只有加法的硬件机构(不存在减法、乘法等硬件,如果需要减法等运算,必须在CPU里面自己转换成加法运算),且A是该机构的核心部件,故算术运算和逻辑运算大多数必须A参与。A不参与双字节逻辑运算的唯一例外情况是:AND/ORL/XRL DIR, #DATA (3)请注意,DEC没有DPTR形式。 4.3 基本指令-算术、逻辑运算 (4)十进制调整指令理解非常重要: 十进制调整指令的目的是,当用户想用十进制的形式进行运算,然后计算机中的一切数均是以二进制(十六进制)的形式存在的,为了让CPU明白现在是十进制运算,故必须在运算紧接着的下一条指令采用DA A指令告诉CPU,用户是十进制而不是二进制运算。比如: 7+9=16,可是计算机却认为是7H+9H=10H,如果在7+9运算后面立即跟一个DA A指令,那么CPU就知道7+9=16,而不是10H。 (5)十进制调整指令的具体调整过程是在CPU碰到DA A指令后,由CPU内部自动完成的,不需要用户干预,故用户对内部自动完成的机理理解即可。 (6)单片机只有DA A一条调整指令,且只能是加法。如果需要减法调整,那么用户必须编程将该减法运算变化为加法运算。 4.3 基本指令-算术、逻辑运算 (7)算术运算和逻辑运算指令对标志位的影响 : 1)对A 操作指令(包括传送指令)都将A中“1”个数的奇偶反映到PSW的P标志位上。即A中奇数个“1”,P=1;偶数个“1”,P=0。因此MOV指令会影响P(只可能影响P),但不可能影响C/OV等。 2)加 1、减 1 指令、逻辑运算指令不影响CY、 OV、AC 标志位(本身是有进位、借位的)。 3)加、减运算指令影响标志位,乘除指令使Cy=0,当乘积大于255,或除数为0时,OV置1。 4)对进位位CY(指令中用C表示)进行操作的指令和大环移指令,显然会影响CY。 dir @Ri Rn #data A dir @Ri Rn #data A ADD ADDC SUBB ANL ORL XRL A , Rn @Ri #data dir 加 进位加 借位减 与 或 异或 1)以A为目的操作数的算术、逻辑运算指令(24条) 2)以dir为目的操作数逻辑运算指令(6条) A #data dir 与 ANL 或 ORL 异或 XRL dir , #data A 注意减指令只有带借位减,因此在多字节减法中, 最低字节作减法时,注意先清CY。 逻辑运算是按位进行的,两数运算的运算法则是: 与:有“0”则“0”; 或:有“1”则“1” 异或:同为“0” , 异为“1”; 与“0”异或值不变:与“1”异或值变反。 逻辑指令常用于对数据位进行加工。 例:A=0FH, 执行ORL A,#86H 后 A=8FH 例:A=0FH, 执行XRL A,#86H 后 A=89H ^ + A Rn @Ri dir DPTR INC 减 1 指令: DEC A Rn @Ri dir 3)加 1 指令: 问题:没有DEC DPTR指令,怎么解决DPTR的减 1? 4) 十进制调整指令 计算机完成二进制加法其和也为二进制,如果是十进制相加(即BCD码相加)想得到十进制的结果,就必须进行十进制调整(即BCD 码调整)。 调整指令: DA A ;将A中二进制相加和调整成BCD码 调整方法: 和低4位大于9或有半进位则低4位加6; 和的高4位大于9或有

文档评论(0)

学习让人进步 + 关注
实名认证
文档贡献者

活到老,学到老!知识无价!

1亿VIP精品文档

相关文档