非常感谢大家!问题已解决!是标号的问题。
这几天比较忙,没有及时的回复大家,不好意思!
我的做法是:
; 一个无符号整形数加上一个无符号字节数,结果存在DPTR中
ADD_DOUBLE_CHAR_AND_CHAR macro INT_DATA, CHAR_DATA
CLR C
MOV B,#0
MOV DPTR,INT_DATA
MOV A,CHAR_DATA
ADD A,DPL ; 低字节相加
MOV DPL,A ; 保存低字节和
MOV A,DPH ; 取高字节
ADDC A,B ; 和低字节的进位位相加
MOV DPH,A
endm
调用:
; 计算数据首地址
ADD_DOUBLE_CHAR_AND_CHAR #Serial_Receive_Buffer_START_ADDRESS, Serial_Receive_cont1
|