片机原理及应用第6讲逻辑运算指令及移位、转移指令.ppt

上传人:小飞机 文档编号:6426483 上传时间:2023-10-30 格式:PPT 页数:24 大小:224.99KB
返回 下载 相关 举报
片机原理及应用第6讲逻辑运算指令及移位、转移指令.ppt_第1页
第1页 / 共24页
片机原理及应用第6讲逻辑运算指令及移位、转移指令.ppt_第2页
第2页 / 共24页
片机原理及应用第6讲逻辑运算指令及移位、转移指令.ppt_第3页
第3页 / 共24页
片机原理及应用第6讲逻辑运算指令及移位、转移指令.ppt_第4页
第4页 / 共24页
片机原理及应用第6讲逻辑运算指令及移位、转移指令.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《片机原理及应用第6讲逻辑运算指令及移位、转移指令.ppt》由会员分享,可在线阅读,更多相关《片机原理及应用第6讲逻辑运算指令及移位、转移指令.ppt(24页珍藏版)》请在三一办公上搜索。

1、算术运算指令,加法指令(1)不带进位的加法指令 ADD A,Rn ADD A,#data ADD A,direct ADD A,Ri影响PSW寄存器中各个标志位的确定方法:Cy:最高位有无进位,AC:低四位向高四位有无进位;P:A的奇偶校验位OV:有符号运算中,最高位进位位与次高位进位位的异或值,(2)带进位加法指令 ADDC A,Rn ADDC A,#data ADDC A,direct ADDC A,Ri注意:影响PSW寄存器中的Cy、AC、OV、P标志位,(3)加1指令INC A;只有它影响PSW,其余四个指 令不 影响 INC Rn INC direct INC Ri INC DPTR

2、,2 减法指令(1)带借位减法指令 SUBB A,Rn SUBB A,#data SUBB A,direct SUBB A,Ri会影响PSW寄存器中的标志位,(2)减1指令DEC ADEC RnDEC directDEC Ri只有第一条指令影响PSW中的标志位,3 十进制调整指令DA A影响PSW中的标志位4 乘法指令MUL AB影响PSW中的标志位若OV=1,则结果超过了2555 除法指令DIV AB影响PSW中的标志位若OV=1,则除数为零,除法无意义,练习:两个8位无符号数分别放在30H单元和31H单元,编出一完整程序,把两个数乘积的低8位放入32H单元,高8位放入33H单元,ORG 0

3、100HMOV R0,#30HMOV A,R0INC R0MOV B,R0MUL ABINC R0MOV R0,AINC R0MOV R0,BEND,逻辑运算指令,1、逻辑与指令:ANL A,Rn ANL A,direct ANL A,Ri ANL A,#data ANL direct,A ANL direct,#data 主要用于从某个存储单元或累加器A中取出某几位数,其余位变为0,2、逻辑或指令ORL A,Rn ORL A,direct ORL A,Ri ORL A,#data ORL direct,A ORL direct,#data这些指令主要用于对某个存储单元或累加器A中的数据的某些

4、位变为1,其余位不变,3、逻辑异或指令XRL A,Rn XRL A,direct XRL A,Ri XRL A,#data XRL direct,A XRL direct,#data这些指令主要用于对某个存储单元或累加器A中的数据的某些位取反,其余位不变,4、累加器清零和取反指令CLR ACPL A用于对某个存储单元或累加器A中的数进行清零和取反,例:1、内部数据存储单元30H有一个数,试编程保留其低4位,高4位变为02、试编程把累加器A的低四位送入P1口低四位,P1口高四位不变3、外部RAM30H中有一个数,试编程把它的低四位取反4、内部RAM 30H中有一负数x,试编程求x的补码,循环移位

5、指令(4条),RL ARR ARLC ARRC A,后两条指令,影响标志位Cy。,用移位指令实现:在不改变符号位的情况下,将R1R0中的16位数右移一位:MOV A,R1MOV C,ACC.7RRC AMOV R1,AMOV A,R0RRC AMOV R0,A,3.3.5 控制转移指令,1、无条件转移指令:长转移类指令:LJMP addr16绝对转移类指令:AJMP addr11短转移指令:SJMP rel间接转移指令:JMP A+DPTR我们在编写汇编语言源程序时,可以直接写成:LJMP 标号;即转移到标号处 AJMP 标号 SJMP 标号 JMP 标号,2.条件转移指令(8条),条件转移指

6、令是指在满足一定条件时进行相对转移,否则程序继续执行本指令的下一条指令。,(1)判A内容是否为0转移指令(2条),JZ rel;如果A=0,则转移,否则顺序执行。JNZ rel;如果A0,就转移。我们在编写汇编语言源程序时,可以直接写成:JZ 标号;即转移到标号处。JNZ 标号;即转移到标号处,(2)比较转移指令(4条),CJNE A,#data,rel CJNE A,direct,relCJNE Rn,#data,relCJNE Ri,#data,rel我们在编写汇编语言源程序时,可以直接写成:CJNE A,#data,标号CJNE A,direct,标号CJNE Rn,#data,标号CJ

7、NE Ri,#data,标号,(3)减1条件转移指令(2条),DJNZ Rn,relDJNZ direct,rel我们在编写汇编语言源程序时,可以直接写成:DJNZ Rn,标号DJNZ direct,标号,例:编程将片外RAM地址为4100H-41FFH的256个单元从小到大依次设置成0H-0FFH,MOV R0,#0FFH MOV DPTR,#4100H CLR ALOOP:MOVX DPTR,A INC A INC DPTR DJNZ R0,LOOP MOVX DPTR,A,3子程序调用和返回,(1)调用指令(2条),LCALL addr16;长调用指令 ACALL addr11;短调用指令上面两条指令都是在主程序中调用子程序,两者的区别:对短调用指令,被调用子程序入口地址必须与调用指令的下一条指令的第一字节在相同的2KB存储区之内。使用时可以用:LCALL 标号;标号表示子程序首地址 ACALL 标号 来调用子程序。,(2)返回指令(2条),子程序执行完后必须回到主程序,如何返回呢?只要执行返回指令就可以了。RET;子程序返回指令RETI;中断子程序返回指令两者不能互换使用。,4、空操作指令(1条),NOP,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号