大家好,今天在匠人的帮助下完成了3字节/1字节除法运算,现在又碰到二进制转BCd码存在问题,按照匠人手记 P150页写程序,结果不正确,请指教,谢谢。
;********HEX TO BCD
入口参数:POWER_DATAH,POWER_DATAL
出口参数:BCD2,DATAH_BCD,DATAL_BCD
X:计数器
;****************************
HEX2BCD:
LDX #16;循环计数
CLR BCD2
CLR DATAH_BCD
CLR DATAL_BCD
HEX2BCD_LP:
LDA DATAL_BCD;DATAL_BCD->A
JSR ADJBCD1;BCD调整
LDA TEMPA;回存调整值
STA DATAL_BCD;A->DATAL_BCD
LDA DATAH_BCD
JSR ADJBCD1;BCD调整
LDA TEMPA;回存调整值
STA DATAH_BCD
LDA BCD2
JSR ADJBCD1;BCD调整
LDA TEMPA;回存调整值
STA BCD2
ROL POWER_DATAL;带c循环左移
ROL POWER_DATAH
ROL DATAL_BCD
ROL DATAH_BCD
ROL BCD2
DECX
BNE HEX2BCD_LP;计数器减1不为0,跳转
RTS
;*******************************************
ADJBCD1:
STA TEMPA
LDA #$03
ADD TEMPA
STA DATA_TEMP
BRCLR 3,DATA_TEMP,ADJBCD1_LP1
STA TEMPA
ADJBCD1_LP1:
LDA #$30
ADD TEMPA
STA DATA_TEMP
BRCLR 7,DATA_TEMP,ADJBCD1_LP2
STA TEMPA
ADJBCD1_LP2:
RTS
;************************************* |