1. 单片机中A=9BH,执行ADD A,#9BH指令后A=CY=AC=OV=P=一定要很详细啊!
9BH就是1001 1100,所以1001 1011
+1001 1011
-----------------
1 0011 0100 因为三位向四位有进位,所以A=1,因为第七位有进位,所以C=1,因为六位没有进位,七位有,所以OV=1,又因为有三个一,C不算哦,所以P=1
2. 单片机加法指令
假定(A)=85H (R0)=20H (20H)=OAFH。执行指令 ADD A, @RO 后,累加器A的内容为(0X34 ),CY的内容为(1 ),AC的内容为(1 ),AC的内容为( 1),0V的内容为(1 )。
我的回答都是以8位单片机为准。这个指令功能就是取单元20H的值AFH与85H相加,
结果本来应该是134H,没办法,8位嘛,所以:
CY:进位标志位;
当CY=1时,表示操作结果最高位(位7)有进位或借位。
CY=0时,表示操作结果最高位(位7)没有进位或借位。
(最高位有进位,CY=1)
AC:半进位标志位;
该位表示当进行加法或减法运算时,低半字节向高半字节是否有进位或借位;
当AC=1时,表示低半字节向高半字节有进位或借位;
AC=0时,表示低半字节向高半字节没有进位或借位;
(低半字节F+5=14,有进位,AC=1)
OV:溢出标志位,
该位表示在进行有符号数的加减法时是否发生溢出;
当0V=1时,表示有符号数运算结果发生了溢出,
OV=0时,表示有符号数运算结果没有溢出。
(超出8位,果断溢出)
3. add的习题
没溢出啊,是不是看错了.对于8位有符号数来说,不管相加相减只要结果小于了-128或大于了127OF位就置1.sub B1-F9 相当于add B1,F9取反加1.
4. 一道单片机加法指令的题目
A=78H R0=78H 片内RAM 78H=(0DDH)
ADD A @R0 A = 78 + DD = 55H, C=1
ADDC A 78H A = 55 + DD + C = 33H, C=1
结果是:A=33H。
-----------------------------------
二进制加法:
0111 1000 = 78
+ 1101 1101 = DD
--1-----1----------- C=1
0101 0101 = 55H
0101 0101 = 55
+ 1101 1101 = DD
+ 1
--------------------
1 0011 0011 = 33H C=1
就这些。
5. addc加法例题
ADDC A,R1之后,
A=0x1C
CY=1; //由于高4位产生进行,所以CY置1
AC=0;
OV=0;
P=1; //奇偶效验位,由于A=0X1C为奇数,所以由硬件置1
由于ADDC指令的作用是:将Rn中的值于A中的值以及CY中值相加后,其结果送回A中.
由于之前C=1,所以79H+A2H+1=0x1C
6. 单片机里的 ADDC 这条指令有什么意义 它能实现那些工能 它带进位位加法有什么用
ADDC表示在ADD加法的基础上再加上进位位CY。就是如果CY=1就再在ACC上加1。
它用用途就是可以很方便地进行多字节加法。
比如5678H+9ABCH,8051是8位机,只能做字节加法,所以就先做78H+BCH=134H,34H存在ACC,高位1放在CY中。然后把ACC中值取出,再做56H+9AH=F0H,再加CY,为F1H,连上刚才取出的,结果就是F134H。
7. 51单片机加法指令问题ADD A,30H 求大虾!!!!
应该是30H中的数据加上10H这个数据(注意不是10H目标地址中的数据,而仅仅是10H这个数 也就是00010000B) 你说那两个好像都不对吧 如果是正确答案的话 那可能就是我错了 正在研究单片机
反正不是第一个答案就是了 如果是第一个的话 应该写成 ADD A,#30H这样才是40H存入A
以上
8. 单片机原理及应用的一道题目:设(A)=43H,(R3)=67H, (CY)=1,执行指令:ADDC A, R3 。试计算其结果。
我这学期刚学单片机,ADDC A, R3 ;A+R3+CY的值放入A,也就是把A, R3 的十六进制转化成8421码后再加上CY的值,最后把结果还要转化成十六进制就可以啦。
所以最后执行的结果是(CY)=1,(AC)=0,(P)=0,(OV)=0,(A)=A9H
有疑问的尽请留言。
9. 单片机中的add.
A是8位寄存器,最大只能是0FFH。计算后A中是34h,同时进位标志C会被硬件置1,标识刚才的加法产生了进位。
10. 51单片机ADD指令问题,求大虾!!!!
a就是累加器acc
b是b寄存器。
这个执行完以后,b放结果高8位,a放结果低8位
你的数据,执行以后a=56h,b=1ch
ba=1c56h