已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
黑龙江科技学院 3.3.2 算术运算类指令 (24条) Arithmetic Operations 主要对8位无符号数;也可用于带符号数运算。 包括:加、减、乘、除、加1、减1运算指令 执行的结果对Cy、Ac、OV 三种标志位有影响。 但增1和减1指令不影响上述标志。 1 黑龙江科技学院 一、加法指令(13条) ADD A,#data ; (A)dataA ADD A,direct ; (A)(direct)A ADD A,Rn ; (A)(Rn)A ADD A,Ri ; (A)(Ri)A 1)如果位7有进位,则置“1”进位标志Cy,否则清 “0”Cy 2)如果位3有进位,置“1”辅助进位标志Ac,否则清 “0”Ac(Ac为PSW寄存器中的一位) 1.不带进位位的加法指令(4条) 2 黑龙江科技学院 3)如果位6有进位,而位7没有进位,或者位7有进 位,而位6没有,则溢出标志位OV置“1”,否则清 “0”OV。 溢出标志位OV的状态,只有在带符号数加法运算时 才有意义。 简单的规则:只有当两个相同符号数相加,而运算 结果的符号与原数据符号相反时,产生溢出 3 黑龙江科技学院 例 (A)=53H,(R0)=FCH,执行指令 ADD A,R0 结果: (A)=4FH,Cy=1,Ac=0,OV=0,P=1 注意:上面的运算中,由于位6和位7同时有进 位,所以标志位OV=0。 例 (A)= 85H,(R0)=20H,(20H)=AFH,执行 指令: ADD A,R0 结果:(A)=34H,Cy=1,Ac=1,OV=1,P=1 注意:由于位7有进位,而位6无进位,所以标 志位OV=1 4 黑龙江科技学院 2.带进位位的加法指令(4条) ADDC A,Rn; ARnCYA ADDC A,direct ; A(direct )CYA ADDC A,Ri; A(Ri)CYA ADDC A,#data; AdataCYA 用途:将A中的值和其后面的值以及进位位C中的值相 加,最终结果存在A,常用于多字节数运算中。 说明:8位运算的范围只有0255, 将2个8位(两字节)的数学运算合起来,成为一 个16位的运算,可以表达的数的范围就可以达到 065535。 5 黑龙江科技学院 例: 先做67H+A0H=107H,1则到了PSW中的CY位了 。换言之,CY就相当于是100H。 然后再做10H + 30H + CY,结果是41H,所以 最终的结果是4107H。 1067H+30A0H 0001 0000 0110 0111 0011 0000 1010 0000 0100 0001 0000 0111 1067H 30A0H 4107H 6 黑龙江科技学院 3.加1指令(5条) INC A;A+1A,影响P标志 INC Rn;Rn+1Rn INC direct;(direct)+1(direct) INC Ri;(Rn)+1(Rn) INC DPTR ;DPTR+1DPTR 7 黑龙江科技学院 例:A=12H,R0=33H,(21H)=32H, (34H)=22H,DPTR=1234H。 连续执行下面的指令: INC A INC R0 INC 21H INC R0 INC DPTR ; A=13H ; R0=34H ;(21H)=33H ;(34H)=23H ; DPTR=1235H 8 黑龙江科技学院 二、减法指令(8条) SUBB A,Rn ; ARnCYA SUBB A,direct ; A(direct )CYA SUBB A,Ri ; A(Ri)CYA SUBB A,#data; AdataCYA 将A中的值减去源操作数所指内容以及进位位C中的 值,最终结果存在A中。 如: SUBB A,R2 设: A=C9H,R2=55H,CY=1, 执行指令之后,A中的值为C9H-55H-1=73H。 1.带借位的减法指令(4条) 9 黑龙江科技学院 2. 减1指令(4条) DEC A ;A-1A,影响P标志 DEC Rn;Rn-1Rn DEC direct ;(direct)-1(direct) DEC Ri;(Rn)-1(Rn) 与加1指令类似。 10 黑龙江科技学院 BCD码(Binary Coded Decimal) BCD码是以四位二进制的不同组合表示十进制 数十个数码的方法,又称二十进制编码。 常用的BCD码为8421 BCD码,即每位十进制数码用 四位二进制数来表示,四位二进制数从高到低的权值 分别为23、22、21、20即 8421。 321 的bcd码 0011 0010 0001 三、十进制调整指令(1条) DA A 紧跟在加法指令之后,对相加后A中的结果修正。 11 黑龙江科技学院 具体: a)累加器低4位大于9或辅助进位位Ac=1,则进 行低4位加6修正。 b)累加器高4位大于9或进位位Cy=1,则进行高 4位加6修正。 c)累加器高4位为9,低4位大于9,则高4位和 低4位分别加6修正。 具体是通过执行指令:DA A 来自动实现的 。 12 黑龙江科技学院 例 完成85H+59H的BCD码加法程序 ORG 1000H MOV A,#85H ADD A,#59H;A=DEH DA A ;A=44H,C=1 SJMP $ END 13 黑龙江科技学院 四、乘法指令(1条) MUL AB ;ABBA 功能:将A和B中的两个8位无符号数相乘,结果用1个 16位数来表达,其中高8位放在B中,低8位放在A中 。 高位积(存于)B,低位积(存于)A 乘积大于FFH时,0V置1,否则OV为0;而CY总是0 。 例:A=05H,B=06H,执行指令MUL AB后, 乘积是001EH,所以在B中放的是00H,而A中放的 则是1EH。 OV= P= 0 0 14 黑龙江科技学院 五、除法指令(1条) DIV AB;AB的商A,余数B A除以B,商(存于)A余(下)B CY和OV都是0。如果在做除法前B中的值是00H,也 就是除数为0,那么0V=1。 如:A=11H,B=04H,执行指令DIV AB后, 结果:A=04H,B=1。 CY= OV= P= 0 0 1 15 黑龙江科技学院 总结 算数运算类指令对标志位的影响 : 16 黑龙江科技学院 3.3.3 逻辑运算指令 1逻辑与指令(有0则0,全1为1) ANL A,Rn ; (A)(Rn)A,n=07 ANL A,direct ; (A)(direct)A ANL A,#data ; (A)#dataA ANL A,Ri ; (A)((Ri))A,i=01 ANL direct,A ; (direct)(A)direct ANLdirect,#data;(direct)#datadirect 例 (A)=07H,(R0)=0FDH,执行指令: ANL A,R0 结果:(A)=05H 17 黑龙江科技学院 2.逻辑或指令(有1则1,全0为0) ORL A,Rn ;(A)(Rn)A ,n=07 ORL A,direct ;(A)(direct)A ORL A,#data ;(A) dataA ORL A,Ri ; (A)(Ri)A,i=0,1 ORL direct,A ;(direct)(A)direct ORL direct,#data;(direct)#data direct 例 (P1)=05H,(A)=33H,执行指令 ORL P1,A 结果:(P1)=37H 18 黑龙江科技学院 3逻辑异或指令(相同为0,不同为1) XRL A,Rn ;(A) (Rn)A XRL A,direct ;(A) (direct)A XRL A,Ri ;(A)((Ri))A ,i=0,1 XRL A,#data ;(A)#dataA XRL direct,A ;(direct)(A) direct XRL direct,#data ;(direct) #datadirect 例 (A)=A5H,执行指令 ORL A,#11110000B 结果:(A)=55H 4.简单逻辑操作指令 (1) CLR A;累加器A清“0”。不影响Cy、Ac、OV。 (2) CPL A;A的内容按位逻辑取反,不影响标志。 19 黑龙江科技学院 A.0A.7 A.0A.7 A.0A.7 A.0A.7 CY CY RL A RR A RLC A RRC A 注意注意: :执行带进位的循环移位指令之前,必须给执行带进位的循环移位指令之前,必须给CYCY置位或清零。置位或清零。 5.循环移位指令 20 黑龙江科技学院 3.3.4 控制转移类指令 1.1.无条件转移指令无条件转移指令(4(4条条) ) 1) 1) 长转移指令:长转移指令:LJMP AAAAH LJMP AAAAH ; AAAAHAAAAHPCPC PC=0000HPC=0000H PC=AAAAHPC=AAAAH 0000H0000H 0001H0001H AAA9HAAA9H AAAAHAAAAH 0002H0002H 假设执行该指 令前,PC的值 为0000H。 注意注意: :该指令可以转移到该指令可以转移到64 KB64 KB程序存储器中的任意位置。程序存储器中的任意位置。 21 黑龙江科技学院 PC高5位 (保持不变 ) PC低11位 A10A9A800 001A7A6A5A4A3A2A1A0 操作码(第一字节)操作数(第二字节) 1111位转移地址的形成示意图位转移地址的形成示意图 程序计 数器PC 2)2)绝对转移指令绝对转移指令 AJMP AJMP addr11 addr11 ; PC+2 PC+2PCPC, addr11 addr11 PC.10PC.0PC.10PC.0 22 黑龙江科技学院 例程序中在地址1030H处有绝对转移指令 1030H:AJMP addr11 设addr11=001 1000 0101B 该指令执行后, PC=0001 0001 1000 0101B 即程序转到1185H处执行 23 黑龙江科技学院 3)短转移指令 SJMP rel 实现的程序转移是双向的。在编写程序时,直 接写上要转向的目标地址标号就可以。 例如: LOOP: MOV A,R6 SJMP LOOP 24 黑龙江科技学院 4)间接跳转指令 JMP A+DPTR; PC (A)(DPTR) 由A中8位无符号数与DPTR的16位数内容之和 来确定。以DPTR内容作为基址,A的内容作 变址。 给A赋予不同的值,即可实现程序的多分支 转移。 25 黑龙江科技学院 2条件转移指令 规定的条件满足,则进行转移,条件不满足则顺序执 行下一条指令。 1)判零转移指令 JZ rel;如果累加器A为“0”,则转移到 PCPC+2+rel, 否则程序顺序执行, PCPC+2 JNZ rel;如果累加器A非“0”,则转移 PCPC+2+rel, 否则程序顺序执行,PCPC+2 26 黑龙江科技学院 2)比较不相等转移指令 CJNE A,direct,rel CJNE A,#data,rel CJNE Rn,#data,rel CJNE Ri,#data,rel 比较前面两个操作数的大小,若它们的值不相等则转 移,转移的目标地址PC+3+rel,相等则继续执行PC+3 。 如果第一操作数(无符号整数)小于第二操作数(无 符号整数),则置进位标志位Cy,否则清“0”Cy。 27 黑龙江科技学院 28 黑龙江科技学院 3)判Cy转移指令 JC rel;Cy=1,转移, PCPC+2+rel, Cy=0, 程序不转移, PCPC+2 JNC rel 4)减1不为0转移指令 DJNZ Rn,rel; RnRn-1,若Rn0,则 PCPC+2+rel, 否则顺序执行, PCPC+2 DJNZ direct,rel 可以把寄存器Rn或内部RAM的direct单元用作程 序循环计数器。主要用于控制程序循环。以减1后是 否为“0”作为转移条件,即可实现按次数控制循环 。 29 黑龙江科技学院 30 黑龙江科技学院 3.3.调用和返回指令调用和返回指令 1)短调用指令 ACALL addrll;PCPC+2,SPSP+1, SPPC(7-0),SPSP+1, SPPC(15-8),PC(10-0) addrll 与AJMP指令相类似。 2)长调用指令 LCALL addr16;PCPC+3,SPSP+1, SPPC(7-0),SPSP+1, SPPC(15-8),PC addrl6 3)子程序的返回指令RET 执行本指令时: (SP)PCH,然后(SP)-1SP (SP)PCL,然后(SP)-1SP 功能是从堆栈中退出PC的高8位和低8位字节,把栈指 针减2,从PC值开始继续执行程序。 31 黑龙江科技学院 4)中断返回指令 RETI 功能与RET指令相似,两指令不同之处,是本指令清 除了中断响应时,被置“1”的MCS-51内部中断优先 级寄存器的优先级状态。 5)空操作指令 NOP; PCPC+1 功能,不作任何操作,只将PC加1,CPU指向下一条 指令继续执行程序,用于产生一个机器周期的延迟 或在程序中补空,便于程序调试时的指令的增减。 32 黑龙江科技学院 3.3.5 位操作指令 1.数据位传送指令 MOV C,bit MOV bit,C 例 MOV C,06H ;(20H).6Cy 06H是内部RAM 20H字节位6的位地址。 MOV P1.0,C ;CyP1.0 2位变量修改指令 CLR C;清“0”Cy CLR bit;清“0”bit位 CPL C;Cy求反 33 黑龙江科技学院 CPL bit ;bit位求反 SETB C;置“1” Cy SETB bit ;置“1” bit位 这组指令将操作数指出的位清“0”、求反、置 “1”, 不影响其它标志。 例 CLR C ;0Cy CLR 27H ;0(24H).7位 CPL 08H ;(21H).0位 SETB P1.7 ;1P1.7位 34 黑龙江科技学院 3位变量逻辑与指令 ANL C,bit ;bitCyCy ANL C,/bit; ;/bit CyCy 4位变量逻辑或指令 ORL C,bit ORL C,/bit 5条件转移类指令 JB bit,rel ;如果直接寻址位=1,则转移 PCPC+3+rel JNB bit,rel ;如果直接寻址位=0,则转移 JBC bit,rel ;如果直接寻址位=1,则转移 ,并清0直接寻址位 35 黑龙江科技学院 (40H)= H 50H = H A= H (41H)= H 51H=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024届广东省珠海一中等六校高三六校第一次联考数学试题试卷
- 曾都区教师合同
- 餐厅劳务外包合同
- 材料合同作废说明 模板
- 北京市三方就业协议书样本
- 项目事故应急预案保证措施
- 人教版2024-2025学年二年级数学上册第三次月考质量检测(5-6单元)(含答案)
- 生物安全应急处置
- 制证一体机相关行业投资方案范本
- 糖尿病足的知识介绍
- 茶多酚的保健功能及在食品中的应用
- 小学科学实验说课探究斜面的作用市公开课金奖市赛课一等奖课件
- 劳务工人讨薪事件处理指导意见
- 中职教师技能大赛 建筑CAD 试题
- 写作指导高考语文作文点津商业广告副本市公开课获奖课件
- 形式发票模板
- 社会主义改革开放理论课件
- 书面沟通技巧
- 土地评估现场勘查表
- 经济学原理ppt课件(完整版)
- 养老机构自带药品管理记录表
评论
0/150
提交评论