[求助]那位高手能帮我翻译一下!
;A--输入寄存器的数据
;R7--转换结果的低位
;R6--转换结果的高位
ADCS EQU P1.2
ADCLK EQU P1.3
ADDO EQU P1.4
ADDI EQU P1.5
ORG 8000H
LJMP MAIN
ORG 8030H
MAIN:
MOV SP,#53H
MOV A,#00H
MOV R6,#00H
MOV R7,#00H
CLR ADCLK
MOV B,A
CLR ADCS
LOOP:
MOV R5,#12
AD_0:
SETB ADDO
NOP
NOP
CLR C
MOV A,B
RLC A
MOV B,A
MOV ADDI,C
MOV C,ADDO
MOV A,R7
RLC A
MOV R7,A
MOV A,R6
RLC A
ANL A,#0FH
MOV R6,A
SETB ADCLK
NOP
NOP
CLR ADCLK
DJNZ R5,AD_0
MOV 50H,R7
CLR F0
MOV DPTR,#TAB
LCALL CONV
LCALL HEX2BCD
MOV R1,#080H
DISPLAY:
MOV R0,#0C5H
MOV @R0,#0CH ;显示 "C--"
INC R0
MOV @R0,#13H
INC R0
MOV @R0,#13H
INC R0
MOV A,R6
ANL A,#0FH
MOV @R0,A
INC R0
MOV A,R7
SWAP A
ANL A,#0FH
ORL A,#80H
MOV @R0,A
INC R0
MOV A,R7
ANL A,#0FH
MOV @R0,A
LCALL 13C1H
DJNZ R1,DISPLAY
LJMP LOOP
CONV:
MOV A,#0H
MOVC A,@A+DPTR
MOV B,A
CLR C
SUBB A,R6
JNZ NEXT
SETB F0
MOV A,#1H
MOVC A,@A+DPTR
CLR C
CJNE A,50H,CONV1
SJMP GOT
CONV1:
JC NEXT1
GOT:
FOUND IT
PUSH DPH
MOV A,DPL
MOV DPTR,#TAB
CLR C
SUBB A,DPL
MOV R7,A
POP ACC
MOV DPTR,#TAB
SUBB A,DPH
CLR C
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
RET
NEXT: JB F0,GOT1
NEXT1:
INC DPTR
INC DPTR
AJMP CONV
GOT1:
LCALL 1B07H ;DPTR=DPTR-1;
AJMP GOT
;------------------------------------------------
;HEX to BCD
;入口 21H,20H
;出口 31H,30H
;------------------------------------------------
HEX2BCD:
MOV 20H,R7
MOV 21H,R6
MOV R1,#30H
MOV R2,#03H
INC R2
CLR A
B0: MOV @R1,A
INC R1
DJNZ R2,B0
MOV A,#03H
MOV B,#08H
MUL AB
MOV R3,A
B3: MOV R0,#20H
MOV R2,#03H
CLR C
B1: MOV A,@R0
RLC A
MOV @R0,A
INC R0
DJNZ R2,B1
MOV R2,#03H
INC R2
MOV R1,#30H
B2: MOV A,@R1
ADDC A,@R1
DA A
MOV @R1,A
INC R1
DJNZ R2,B2
DJNZ R3,B3
MOV R7,30H
MOV R6,31H
RET
发表时间:2008年5月24日21:59:43