单片机汇编程序(算术逻辑运算).ppt_第1页
单片机汇编程序(算术逻辑运算).ppt_第2页
单片机汇编程序(算术逻辑运算).ppt_第3页
单片机汇编程序(算术逻辑运算).ppt_第4页
单片机汇编程序(算术逻辑运算).ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、04:52,第五讲:教学体系,知识目标:掌握算术和逻辑运算技能目标:操作P1港的发光二极管灯,04336052,3.3.2算术运算指令,1。无进位加法指令(四);2.进位加法指令(四);3.借用减法指令(四);4.乘法指令(一);5.增加一条指令(五条);7.减去一个指令(四个);8.十进制调整指令(一)。当“与”的第3位或第7位有进位时,将交流和直流分别设置为1,否则为0。溢出标志位OV=C7 C6(异或),仅适用于有符号数运算。如果:(A)=78H,(R0)=64H,在执行加法A和R0之后,结果和PSW=?(a):78h=0111000 b(r0):64h=01100100 b(a):dc

2、h=1101100 b标志位:CY=0,AC=0,OV=1,P=1,即: PSW=05H。结果:(1)2 .带进位的加法指令(四)、04:52、说明:这组指令的功能是将源操作数和进位标志非CY所指示的内容同时加到累加器A中,并将结果存储在A中。其他功能与上述加法指令相同。这组指令通常用于多字节加法。例如:让(A)=0C3H,(R0)=0AAH,(CY)=1。执行指令“ADDC A,R0”后,结果和标志位是什么?解决方案:(a):C3H=1100 0011(CY):1=0000 0001 1100 0100(r0):AAH=1010 1010(a):6eh=0110 1110标志:CY=1,OV

3、=1,交流=0,0,04:52,例如:编程时,将(30h)和(31h)单元格中的数字与(40h)和(41h)单元格中的数字相加,然后,解决方案:MOV A,30H ADD A,40H MOV 30H,A MOV A,31H ADDC A,41H MOV 31H,A,BACK,04336052,3。带有借用的减法指令(四),04336052,表明这组指令的功能是从累加器A中减去源操作数。由于89C51指令系统中没有不带借用的减法指令,如有必要,Cy可以通过“SUBB”指令之前的“CLR C”指令清0,这一点必须注意。04:52,示例:让(A)=0C9H,(R2)=54H,Cy=1。执行“R2 S

4、UBB”指令的结果是什么?解决方案:(A)=0FFH=11001001 b-)Cy=1=0000001 b 11001000 b-)(R2)=54h=01010100 b(A)=74H=01110100 b结果是:(A)=Cy位始终清零。此指令将累加器A和寄存器B中的两个无符号数相乘,所得16位乘积的低字节存储在A中,高字节存储在B中。示例:(A)=4EH,(B)=5DH,执行指令“MUL AB”后的结果是什么?解:的结果是:(B)=1CH,(A)=56H,这意味着乘积(BA)=1C56H,OV=1。Back,04:52,5,除法指令(1),例如:(A)=BFH,(B)=32H。在执行指令“D

5、IV AB”之后,的结果是(A)=03H,(B)=29H;标志位CY=0,OV=0。a中的内容除以b中的内容,整数商存储在a中,余数存储在b中,执行指令后,CY和OV清0。如果原始(B)=00H,结果无法确定。如果OV=1,则CY仍为0。Back、04:52、6、add 1指令(5条),并且这组指令的操作不影响PSW。如果原单位内容是FFH,加1后溢出为00H,不会影响PSW标志。示例:比较指令“INC A”和“ADD A,#01H”的结果。解决方案:“INC A”指令只给A的内容加1,标志位不变。“ADD A,#01H”指令不仅给A的内容加1,还影响标志位的变化。04:52,示例:如果:(R

6、1)=30H,(30H)=11H,执行以下指令后查找结果。R1公司;(30H)=12HINC R1;(R1)=31H,解决方案:(30H)=12H,(R1)=31H。它不影响PWS。Back,04:52,7,减1指令(4条),这组指令的操作不影响PSW。Back,04:52,8,十进制调整指令(1条),将累加器内容调整为BCD代码。该指令遵循加法或ADDC指令,并对存储在累加器中的相加结果进行十进制调整,以完成十进制加法功能。必须注意,该指令不能简单地将累加器A的十六进制数转换成BCD码,也不能用于调整十进制减法。04:52,例如:让累加器a的内容为01010110B (BCD码为56),寄存

7、器R3的内容为01100111B (BCD码为67),CY的内容为1。执行以下指令后寻找结果。ADDC甲,R3;阿达;解决方案:先执行ADDC A、R3;(a):01010110 BCD:56(R3):01100111 BCD:67()(CY):0000001 BCD:01和:1011110,即(a)=1011110,影响标志位CY=0,AC=0;然后表演阿达;由于A中的高四位值为11,大于9,低四位值为14,也大于9,内部调整自动增加66H: 1011 1110调整)0110 0110 1 0010 0100 BCD:124表示(A)=0010 0100=24BCD,cy=1;交流=1 .逻

8、辑运算指令包括:与、或、异或、清除、求反、移位等。指令组的所有操作数都是8位和25条指令。1。简单操作说明(2),2。换档说明(4),3。逻辑与指令(6),4。逻辑或指令(6),5。逻辑异或指令(6),返回,04336052,1。简单操作指令(2),例如:无符号8位二进制数(a)=1011101b=bdh,(CY)=0。通过将(A)乘以2执行指令“RLC A”之后的结果是:(a)=0111010b=7ah,(CY)=1,并且17AH是BDH的两倍。后退,04:52,3。逻辑与指令(6),该组中的前四条指令逻辑与累加器a的内容和操作数逐位指示的内容,结果存储在a中。最后两条指令逻辑与直接地址单元的内容和操作数逐位指示的单元的内容,结果存储在直接地址单元中。如果直接地址恰好是一个输入/输出端口,则这是一个“读覆盖”操作。后退,04:52,4。逻辑或指令(6条),这组指令的功能是逐位逻辑或两个指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论