[求助]
请教楼主:下面的程序错在哪里?
LENG1 EQU 20h ;32 ;二进制数位数
LENG2 EQU 4h ;二进制数字节数
LENG3 EQU 5h ;BCD码字节数
NUMB1 EQU 28H ;BCD码起始地址
NUMB2 EQU 23H ;二进制数起始地址
;=========多字节BCD码转二进制码码==========
PROC Bcd_Bin
bcd_bin:
MOV R7,#LENG1
CLR A
MOV 20H,A
MOV 21H,A
MOV 22H,A
MOV 23H,A
; mov 28h,#42h
; mov 27h,#94h
; mov 26h,#96h
; mov 25h,#72h
; mov 24h,#95h
LOOP1: CLR C
MOV R0,#NUMB1 ;BCD码的起始地址送入"R0"中
MOV R6,#LENG3 ;BCD码的字节数送入"R6"中
LOOP2: MOV A,@R0
RRC A
PUSH PSW
JNB Acc.3,LOOP3
CLR C
SUBB A,#03H
LOOP3: JNB Acc.7,LOOP4
CLR C
SUBB A,#30H
LOOP4: MOV @R0,A
DEC R0
POP PSW
DJNZ R6,LOOP2
MOV R5,#LENG2
MOV R1,#NUMB2
CLR A
LOOP5: MOV A,@R1
RRC A
MOV @R1,A
DEC R1
DJNZ R5,LOOP5
DJNZ R7,LOOP1
RET
END
发表时间:2008年12月11日21:29:39