




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 IN
2、C Ri INC DPTR,2 减法指令 (1)带借位减法指令 SUBB A,Rn SUBB A, #data SUBB A, direct SUBB A, Ri 会影响PSW寄存器中的标志位,(2)减1指令 DEC A DEC Rn DEC direct DEC Ri 只有第一条指令影响PSW中的标志位,3 十进制调整指令 DA A 影响PSW中的标志位 4 乘法指令 MUL AB 影响PSW中的标志位 若OV=1,则结果超过了255 5 除法指令 DIV AB 影响PSW中的标志位 若OV=1,则除数为零,除法无意义,逻辑运算指令,1 、逻辑与指令: ANL A,Rn ANL A,dire
3、ct 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中的数据的某些位变为1,其余位不变,3、逻辑异或指令 XRL A,Rn XRL A,direct XRL A,Ri XRL A,#data XRL direct,A XRL direct,#data 这些指令主要用于对某个存储单
4、元或累加器A中的数据的某些位取反,其余位不变,4、累加器清零和取反指令 CLR A CPL A 用于对某个存储单元或累加器A中的数进行清零和取反,例: 1、内部数据存储单元30H有一个数39H,试编程把它变为9H 2、设A=AAH、P1=FFH,试编程把累加器A的低四位送入P1口低四位, P1口高四位不变 3、外部RAM30H中有一个数AAH,试编程把它的低四位取反 4、内部RAM 30H中有一负数x,试编程求x的补码,3.3.4 循环移位指令(4条),RL A RR A RLC A RRC A,后两条指令,影响标志位Cy。,用移位指令实现:在不改变符号位的情况下,将R1R0中的16位数右移一
5、位: MOV A,R1 MOV C,ACC.7 RRC A MOV R1,A MOV A,R0 RRC A MOV R0,A,3.3.5 控制转移指令,1、无条件转移指令: 长转移类指令: LJMP addr16 绝对转移类指令:AJMP addr11 短转移指令: SJMP rel 间接转移指令:JMP A+DPTR 我们在编写汇编语言源程序时,可以直接写成: LJMP 标号 ;即转移到标号处 AJMP 标号 SJMP 标号 JMP 标号,2. 条件转移指令(8条),条件转移指令是指在满足一定条件时进行相对转移,否则程序继续执行本指令的下一条指令。,(1)判A内容是否为0转移指令(2条),J
6、Z rel ;如果A=0,则转移,否则顺序执行。 JNZ rel ;如果A0,就转移。 我们在编写汇编语言源程序时,可以直接写成: JZ 标号 ;即转移到标号处。 JNZ 标号 ;即转移到标号处,(2)比较转移指令(4条),CJNE A,#data,rel CJNE A,direct,rel CJNE Rn,#data,rel CJNE Ri,#data,rel 我们在编写汇编语言源程序时,可以直接写成: CJNE A,#data,标号 CJNE A,direct,标号 CJNE Rn,#data,标号 CJNE Ri,#data,标号,(3)减1条件转移指令(2条),DJNZ Rn,rel
7、DJNZ direct,rel 我们在编写汇编语言源程序时,可以直接写成: DJNZ Rn,标号 DJNZ direct,标号,例:编程将片外RAM地址为4100H-41FFH的256个单元从小到大依次设置成0H-0FFH,MOV R0,#0FFH MOV DPTR, #4100H CLR A LOOP: MOVX DPTR,A INC A INC DPTR DJNZ R0,LOOP MOVX DPTR,A,3子程序调用和返回,(1)调用指令(2条),LCALL addr16 ;长调用指令 ACALL addr11 ;短调用指令 上面两条指令都是在主程序中调用子程序,两者的区别: 对短调用指令
8、,被调用子程序入口地址必须与调用指令的下一条指令的第一字节在相同的2KB存储区之内。 使用时可以用: LCALL 标号 ;标号表示子程序首地址 ACALL 标号 来调用子程序。,(2)返回指令 (2条),子程序执行完后必须回到主程序,如何返回呢?只要执行一条返回指令就可以了。 RET;子程序返回指令 RETI;中断子程序返回指令 两者不能互换使用。,4. 空操作指令(1条),NOP,例:利用子程序调用编写令20H-2AH,30H-3EH,40H-4FH 三个区域清零的程序,ORG 1000H MOV SP,#70H MOV R0,#20H MOV R2,#0BH ACALL ZERO MOV R0,#30H MOV R2,#0FH ACALL ZERO MOV R0,#40H MOV R2,#10H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 死亡分配协议书范本
- 水费减免协议书范本
- 有效催收协议书范本
- 交通协议书范文模板
- 税务委托缴费协议书
- 养育子女协议书范本
- 兄弟房屋捐赠协议书
- 业务合作欠款协议书
- 施工船舶租赁协议书
- 情侣协议书模板链接
- 电缆沟、电缆管、电缆井专项施工方案
- 2024年公务员考试中财务知识的考察试题及答案
- 《人工智能技术基础》课件-第六章 知识图谱
- 2025年山东省济南市市中区中考物理一模试卷(无答案)
- (三模)吉林市2025届高三第三次模拟测试 英语试卷(含答案详解)
- 2024-2030年中国驱蚊用品行业市场深度分析及投资策略研究报告
- 广东省深圳市宝安区10校联考2023-2024学年八年级下学期4月期中物理试题(含答案)
- 2024年辽宁沈阳地铁集团有限公司所属公司招聘笔试真题
- 2024年中国移动招聘笔试真题
- 2025年安阳职业技术学院单招职业技能测试题库及答案一套
- 酒店与旅游地产投资
评论
0/150
提交评论