?? bin2bcd.src
字號:
; .\Bin2BCD.SRC generated from: .\Bin2BCD.c
NAME BIN2BCD
?PR?LongToBcd?BIN2BCD SEGMENT CODE
?PR?WordToBcd?BIN2BCD SEGMENT CODE
?PR?_KeilWordToBcd?BIN2BCD SEGMENT CODE
?PR?_KeilLongToBcd?BIN2BCD SEGMENT CODE
PUBLIC AsmParam3
PUBLIC AsmParam2
PUBLIC AsmParam1
PUBLIC _KeilLongToBcd
PUBLIC _KeilWordToBcd
PUBLIC WordToBcd
PUBLIC LongToBcd
DSEG AT 020H
AsmParam1: DS 1
DSEG AT 021H
AsmParam2: DS 1
DSEG AT 022H
AsmParam3: DS 1
; /*************************************************************************************/
; unsigned char AsmParam1 _at_ 0x20;
; unsigned char AsmParam2 _at_ 0x21;
; unsigned char AsmParam3 _at_ 0x22;
; //------------------------------------------------------------------------------------
; void LongToBcd(void)
RSEG ?PR?LongToBcd?BIN2BCD
LongToBcd:
; SOURCE LINE # 6
; {
; SOURCE LINE # 7
; #pragma asm
; MOV A,20H ;
MOV A,20H ;
; MOV R7,A
MOV R7,A
; MOV A,21H ;
MOV A,21H ;
; MOV R5,A
MOV R5,A
; MOV A,R7
MOV A,R7
; MOV R1,A ;LongData ADDRESS:R1(Hsb)
MOV R1,A ;LongData ADDRESS:R1(Hsb)
;
; MOV A,R5
MOV A,R5
; MOV R0,A ;LongData ADDRESS:R0(Hsb)
MOV R0,A ;LongData ADDRESS:R0(Hsb)
;
; MOV A,@R1 ;LongData:H R2 R3 R4 R5 L
MOV A,@R1 ;LongData:H R2 R3 R4 R5 L
; MOV R2,A
MOV R2,A
; INC R1
INC R1
; MOV A,@R1
MOV A,@R1
; MOV R3,A
MOV R3,A
; INC R1
INC R1
; MOV A,@R1
MOV A,@R1
; MOV R4,A
MOV R4,A
; INC R1
INC R1
; MOV A,@R1
MOV A,@R1
; MOV R5,A
MOV R5,A
;
; CLR A ;CLEAR BCD_Data
CLR A ;CLEAR BCD_Data
; MOV @R0,A
MOV @R0,A
; INC R0
INC R0
; MOV @R0,A
MOV @R0,A
; INC R0
INC R0
; MOV @R0,A
MOV @R0,A
; INC R0
INC R0
; MOV @R0,A
MOV @R0,A
; INC R0
INC R0
; MOV @R0,A ;BCD_Data ADDRESS:R0 OR R7(Lsb)
MOV @R0,A ;BCD_Data ADDRESS:R0 OR R7(Lsb)
; MOV A,R0
MOV A,R0
; MOV R7,A
MOV R7,A
;
; MOV R1,#32 ;R2:SHIFT COUNT
MOV R1,#32 ;R2:SHIFT COUNT
;
; F4Bin2BCDLP2:
F4Bin2BCDLP2:
; MOV A,R5
MOV A,R5
; RLC A
RLC A
; MOV R5,A
MOV R5,A
; MOV A,R4
MOV A,R4
; RLC A
RLC A
; MOV R4,A
MOV R4,A
; MOV A,R3
MOV A,R3
; RLC A
RLC A
; MOV R3,A
MOV R3,A
; MOV A,R2
MOV A,R2
; RLC A
RLC A
; MOV R2,A
MOV R2,A
; JC F4Bin2BCDLP3
JC F4Bin2BCDLP3
; DJNZ R1,F4Bin2BCDLP2
DJNZ R1,F4Bin2BCDLP2
; F4Bin2BCDLP4:
F4Bin2BCDLP4:
; RET
RET
;
; F4Bin2BCDLP3:
F4Bin2BCDLP3:
; MOV A,#1
MOV A,#1
; MOV @R0,A
MOV @R0,A
;
; MOV A,R1
MOV A,R1
; CLR C
CLR C
; SUBB A,#1
SUBB A,#1
; JZ F4Bin2BCDLP4
JZ F4Bin2BCDLP4
;
; MOV R1,A
MOV R1,A
;
; F4Bin2BCDLP1:
F4Bin2BCDLP1:
; MOV A,R5
MOV A,R5
; RLC A
RLC A
; MOV R5,A
MOV R5,A
; MOV A,R4
MOV A,R4
; RLC A
RLC A
; MOV R4,A
MOV R4,A
; MOV A,R3
MOV A,R3
; RLC A
RLC A
; MOV R3,A
MOV R3,A
; MOV A,R2
MOV A,R2
; RLC A
RLC A
; MOV R2,A
MOV R2,A
;
; MOV A,@R0
MOV A,@R0
; ADDC A,ACC
ADDC A,ACC
; DA A
DA A
; MOV @R0,A
MOV @R0,A
;
; DEC R0
DEC R0
; MOV A,@R0
MOV A,@R0
; ADDC A,ACC
ADDC A,ACC
; DA A
DA A
; MOV @R0,A
MOV @R0,A
;
; DEC R0
DEC R0
; MOV A,@R0
MOV A,@R0
; ADDC A,ACC
ADDC A,ACC
; DA A
DA A
; MOV @R0,A
MOV @R0,A
;
; DEC R0
DEC R0
; MOV A,@R0
MOV A,@R0
; ADDC A,ACC
ADDC A,ACC
; DA A
DA A
; MOV @R0,A
MOV @R0,A
;
; DEC R0
DEC R0
; MOV A,@R0
MOV A,@R0
; ADDC A,ACC
ADDC A,ACC
; DA A
DA A
; MOV @R0,A
MOV @R0,A
;
; MOV A,R7
MOV A,R7
; MOV R0,A
MOV R0,A
;
; DJNZ R1,F4Bin2BCDLP1
DJNZ R1,F4Bin2BCDLP1
;
; #pragma endasm
; }
; SOURCE LINE # 124
RET
; END OF LongToBcd
; //------------------------------------------------------------------------------------
; void WordToBcd(void)
RSEG ?PR?WordToBcd?BIN2BCD
WordToBcd:
; SOURCE LINE # 126
; {
; SOURCE LINE # 127
;
; #pragma asm
; MOV A,20H
MOV A,20H
; MOV R7,A
MOV R7,A
; MOV A,21H
MOV A,21H
; MOV R5,A
MOV R5,A
; MOV A, R7
MOV A, R7
; MOV R0,A
MOV R0,A
; MOV A,R5
MOV A,R5
; MOV R1,A
MOV R1,A
; MOV A,@R0
MOV A,@R0
; MOV R6,A
MOV R6,A
; INC R0
INC R0
; MOV A,@R0
MOV A,@R0
; MOV R7,A
MOV R7,A
; CLR A
CLR A
; MOV R3,A
MOV R3,A
; MOV R4,A
MOV R4,A
; MOV R5,A
MOV R5,A
; MOV R2,#10H
MOV R2,#10H
; HBCD20: MOV A,R7
HBCD20: MOV A,R7
; RLC A
RLC A
; MOV R7,A
MOV R7,A
; MOV A,R6
MOV A,R6
; RLC A
RLC A
; MOV R6,A
MOV R6,A
; MOV A,R5
MOV A,R5
; ADDC A,R5
ADDC A,R5
; DA A
DA A
; MOV R5,A
MOV R5,A
; MOV A,R4
MOV A,R4
; ADDC A,R4
ADDC A,R4
; DA A
DA A
; MOV R4,A
MOV R4,A
; MOV A,R3
MOV A,R3
; ADDC A,R3
ADDC A,R3
; DA A
DA A
; MOV R3,A
MOV R3,A
; DJNZ R2,HBCD20
DJNZ R2,HBCD20
; MOV A,R3
MOV A,R3
; MOV @R1,A
MOV @R1,A
; INC R1
INC R1
; MOV A,R4
MOV A,R4
; MOV @R1,A
MOV @R1,A
; INC R1
INC R1
; MOV A,R5
MOV A,R5
; MOV @R1,A
MOV @R1,A
; #pragma endasm
; }
; SOURCE LINE # 176
RET
; END OF WordToBcd
; /*************************** The End ********************************************/
; //------------------------------------------------------------------------------------
; void KeilWordToBcd(unsigned char idata *pWord,unsigned char idata *pBcd)
RSEG ?PR?_KeilWordToBcd?BIN2BCD
_KeilWordToBcd:
USING 0
;---- Variable 'pWord?240' assigned to Register 'R7' ----
;---- Variable 'pBcd?241' assigned to Register 'R5' ----
; SOURCE LINE # 179
; {
; SOURCE LINE # 180
; AsmParam1=pWord;
; SOURCE LINE # 181
MOV AsmParam1,R7
; AsmParam2=pBcd;
; SOURCE LINE # 182
MOV R7,AR5
MOV AsmParam2,R7
;
; WordToBcd();
; SOURCE LINE # 184
LJMP WordToBcd
; }
; SOURCE LINE # 185
; END OF _KeilWordToBcd
; //-------------------------------------------------------------------------------------
; void KeilLongToBcd(unsigned char idata *pLong,unsigned char idata *pBcd)
RSEG ?PR?_KeilLongToBcd?BIN2BCD
_KeilLongToBcd:
USING 0
;---- Variable 'pLong?342' assigned to Register 'R7' ----
;---- Variable 'pBcd?343' assigned to Register 'R5' ----
; SOURCE LINE # 187
; {
; SOURCE LINE # 188
; AsmParam1=pLong;
; SOURCE LINE # 189
MOV AsmParam1,R7
; AsmParam2=pBcd;
; SOURCE LINE # 190
MOV R7,AR5
MOV AsmParam2,R7
;
; LongToBcd();
; SOURCE LINE # 192
LJMP LongToBcd
; }
; SOURCE LINE # 193
; END OF _KeilLongToBcd
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -