- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机控制技术与应用(刘靖)3研讨
② 如果位3需借位,则置“1”AC,否则清“0”AC。 ③ 如果位6需借位,而位7不需要借位,或者位7需借位,位6不需借位,则置“1”溢出标志位OV,否则清“0”OV。 例如:(A)=C9H,(R2)=54H,CY=1,执行指令: ? 结果:(A)=74H,CY=0,AC=0,OV=1(位6向位7借位) (6)减1指令 4条指令: ? 减1指令不影响标志位。 (7)乘法指令 ????? 执行MUL指令后,C被清零,积大于255,则置“1” 溢出标志位OV。 (8)除法指令 ? 如果B的内容为“0”(即除数为“0”),则存放结果A、B中的内容不定,并置“1”溢出标志位 OV。 3.8.3 逻辑运算指令 (1)简单逻辑操作指令 ①? 功能是累加器A清“0”。不影响CY、AC、OV 等标志。 ②? 功能是将累加器A的内容按位逻辑取反,不影响标志。 (2)左环移指令 ? 功能是累加器A的8位向左循环移位,位7循环移入位0,不影响标志。 (3)带进位左环移指令 ? 功能是将累加器A的内容和进位标志位CY一起向左环移一位,A.7移入进位位CY,CY移入A.0,不影响其他标志。 (4)右环移指令 ? 功能是累加器A的内容向右环移一位,ACC.0移入ACC.7,不影响其他标志。 (5)带进位环移指令 ? 这条指令的功能是累加器A的内容和进位标志 CY一起向右环移一位,ACC.0进入CY,CY移入ACC.7。 (6)累加器半字节交换指令 将累加器A的高半字节(SWAP AACC.7~ACC.4)和低半字节(ACC.3~ACC.0)互换。 例如:(A)=0C5H,执行指令: ? 结果:(A)=5CH (7)逻辑与指令 ? 例如:(A)=07H,(R0)=0FDH,执行指令: ? 结果:(A)=05H (8)逻辑或指令 ? 例如:(P1)=05H,(A)=33H,执行指令 ? 结果:(P1)=37H (9)逻辑异或指令 ? 例如:(A)=90H,(R3)=73H,执行指令: ? 结果:(A)=E3H 3.8.4 控制转移类指令 (1)无条件转移指令 ? 2KB范围内的无条件跳转指令。64KB程序存储器空间分为32个区,每个区2KB,转移的目标地址必须与AJMP下一条指令的地址的高5位地址码A15~A11相同。 执行指令时,先PC加2,然后把addr11送入PC.10~ PC.0,PC.15~PC.11保持不变,程序转移到目标地址。 本指令是为能与MCS-48的JMP指令兼容而设的。 (2)相对转移指令 ? 实现的程序转移是双向的。 在编写程序时,直接写上要转向的目标地址标号就可以。 例如: ????? 程序在汇编时,由汇编程序自动计算和填入偏移量。 手工汇编时,偏移量rel的值则需程序设计人员计算。 (3)长跳转指令 ? 指令执行时把指令的第2和第3字节分别装入PC的高位和低位字节中,无条件地转向addr16指出的目标地址。目标地址可以在64KB程序存储器地址空间的任何位置。 (4)间接跳转指令 ? 由A中8位无符号数与DPTR的16位数内容之和来确定。以DPTR内容作为基址,A的内容作变址。 给A赋予不同的值,即可实现程序的多分支转移。 (5)条件转移指令 规定的条件满足,则进行转移,条件不满足则顺序执行下一条指令。 当条件满足时,把PC装入下一条指令的第1个字节地址,再把带符号的相对偏移量rel加到PC上,计算出目标地址。 ? (6)比较不相等转移指令 ? 比较前面两个操作数的大小,如果它们的值不相等则转移。 如果第一操作数(无符号整数)小于第二操作数(无符号整数),则置进位标志位CY,否则清“0”CY。 (7)减1不为0转移指令 这是一组把减1与条件转移两种功能结合在一起的指令。共两条指令: ? 将源操作数(Rn或direct)减1,结果回送到Rn寄存 器或direct中去。如果结果不为0,则转移。允许程序员把寄存器Rn或内部RAM的direct单元用作程序循环计数器,主要用于控制程序循环。以减1后是否为“0”作为转移条件,即可实现按次数控制循环。 (8)调用子程序指令 ① 短调用指令 ? 与AJMP指令相类似,是为了与MCS-48中的CALL指令兼容而设的。 ② 长调用指令 ? (9)子程序的返回指令 ? 堆栈指针SP指出堆栈的栈顶位置。 进栈指令 ? 先将栈指针SP加1,然后把direct中的内容送到栈指针SP指示的内部RAM单元中。例如:当(SP)=6 0H,(A)=30H,(B)=70H时,执行: ? 结果:(61H)=30H,(62H)=70H,(SP)=62H 出栈指令 ????? SP指示的栈顶
您可能关注的文档
最近下载
- (粤教)花城版六年级音乐上册全册教案.pdf
- 2013年胃疡诊疗方案总结优化.doc VIP
- 2025年新人教版数学1年级上册全册课件(新版教材).pptx
- DB13(J)T 8591-2024_人民防空工程防护质量检测技术规程.pdf
- 第十三章 内能 章末检测试题-2025-2026学年人教版九年级物理全一册.pdf VIP
- 《欢欢喜喜庆国庆》PPT教学课件一等奖新优质课比赛公开课获奖.ppt VIP
- 清创缝合术-PPT(精).ppt VIP
- 人教版数学九年级上册 二次函数 双减背景下新课标单元整体作业分层设计案例.docx VIP
- 游泳教学 课件.ppt VIP
- 10kV~500kV输变电及配电工程 质量验收与评定标准 第一册:输电线路工程.pdf VIP
文档评论(0)