
单片机指令问题:为什么不用带进位加法指令ADDC?试用ADDC指令编程?
对一组存放在片内,长度为N个字节无符号二进制整数求和,设数据首址为ADDR0(地位在前)问题如下MULADD:MOVR0,#ADDR0MOVR7,#nMOV,B,#00H...
对一组存放在片内,长度为N个字节无符号二进制整数求和,设数据首址为ADDR0(地位在前)问题如下
MULADD: MOV R0,#ADDR0
MOV R7,#n
MOV,B,#00H
CKR A
AGAIN: ADD A,@R0
JNC NOCY
INC B
CLR C
NOCY: INC R0
DINZ R7,AGAIN
RET
问: 为什么不用带进位加法指令ADDC?试用ADDC指令编程????? 展开
MULADD: MOV R0,#ADDR0
MOV R7,#n
MOV,B,#00H
CKR A
AGAIN: ADD A,@R0
JNC NOCY
INC B
CLR C
NOCY: INC R0
DINZ R7,AGAIN
RET
问: 为什么不用带进位加法指令ADDC?试用ADDC指令编程????? 展开
1个回答
展开全部
MULADD: MOV R0,#ADDR0
MOV R7,#n
MOV,B,#00H
CKR A;这里应该是CLR A
AGAIN: ADD A,@R0
JNC NOCY
INC B
CLR C
NOCY: INC R0
DINZ R7,AGAIN
RET
因为这个进位C是向上一字节的进位,而这个例子中是求和,都是低8位相加,有进位就将高8位加1。所以不用ADDC
MOV R7,#n
MOV,B,#00H
CKR A;这里应该是CLR A
AGAIN: ADD A,@R0
JNC NOCY
INC B
CLR C
NOCY: INC R0
DINZ R7,AGAIN
RET
因为这个进位C是向上一字节的进位,而这个例子中是求和,都是低8位相加,有进位就将高8位加1。所以不用ADDC
追问
用ADDC 咋编程?
追答
关键是在这个应用里用ADDC是多此一举呀。你可以这样
CLR C
ADDC A,@R0

2023-06-12 广告
单片机是一种集成电路芯片。又称单片微控制器,是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。一块芯片就成了一台计算机。特点是体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
单...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询