?? bin2bcd.lst
字號(hào):
C51 COMPILER V6.02 BIN2BCD 09/11/2005 06:36:51 PAGE 1
C51 COMPILER V6.02, COMPILATION OF MODULE BIN2BCD
OBJECT MODULE PLACED IN .\Bin2BCD.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE .\Bin2BCD.c BROWSE DEBUG OBJECTEXTEND SRC(.\Bin2BCD.SRC)
stmt level source
1 /*************************************************************************************/
2 unsigned char AsmParam1 _at_ 0x20;
3 unsigned char AsmParam2 _at_ 0x21;
4 unsigned char AsmParam3 _at_ 0x22;
5 //------------------------------------------------------------------------------------
6 void LongToBcd(void)
7 {
8 1 #pragma asm
9 1 MOV A,20H ;
10 1 MOV R7,A
11 1 MOV A,21H ;
12 1 MOV R5,A
13 1 MOV A,R7
14 1 MOV R1,A ;LongData ADDRESS:R1(Hsb)
15 1
16 1 MOV A,R5
17 1 MOV R0,A ;LongData ADDRESS:R0(Hsb)
18 1
19 1 MOV A,@R1 ;LongData:H R2 R3 R4 R5 L
20 1 MOV R2,A
21 1 INC R1
22 1 MOV A,@R1
23 1 MOV R3,A
24 1 INC R1
25 1 MOV A,@R1
26 1 MOV R4,A
27 1 INC R1
28 1 MOV A,@R1
29 1 MOV R5,A
30 1
31 1 CLR A ;CLEAR BCD_Data
32 1 MOV @R0,A
33 1 INC R0
34 1 MOV @R0,A
35 1 INC R0
36 1 MOV @R0,A
37 1 INC R0
38 1 MOV @R0,A
39 1 INC R0
40 1 MOV @R0,A ;BCD_Data ADDRESS:R0 OR R7(Lsb)
41 1 MOV A,R0
42 1 MOV R7,A
43 1
44 1 MOV R1,#32 ;R2:SHIFT COUNT
45 1
46 1 F4Bin2BCDLP2:
47 1 MOV A,R5
48 1 RLC A
49 1 MOV R5,A
50 1 MOV A,R4
51 1 RLC A
52 1 MOV R4,A
53 1 MOV A,R3
54 1 RLC A
55 1 MOV R3,A
C51 COMPILER V6.02 BIN2BCD 09/11/2005 06:36:51 PAGE 2
56 1 MOV A,R2
57 1 RLC A
58 1 MOV R2,A
59 1 JC F4Bin2BCDLP3
60 1 DJNZ R1,F4Bin2BCDLP2
61 1 F4Bin2BCDLP4:
62 1 RET
63 1
64 1 F4Bin2BCDLP3:
65 1 MOV A,#1
66 1 MOV @R0,A
67 1
68 1 MOV A,R1
69 1 CLR C
70 1 SUBB A,#1
71 1 JZ F4Bin2BCDLP4
72 1
73 1 MOV R1,A
74 1
75 1 F4Bin2BCDLP1:
76 1 MOV A,R5
77 1 RLC A
78 1 MOV R5,A
79 1 MOV A,R4
80 1 RLC A
81 1 MOV R4,A
82 1 MOV A,R3
83 1 RLC A
84 1 MOV R3,A
85 1 MOV A,R2
86 1 RLC A
87 1 MOV R2,A
88 1
89 1 MOV A,@R0
90 1 ADDC A,ACC
91 1 DA A
92 1 MOV @R0,A
93 1
94 1 DEC R0
95 1 MOV A,@R0
96 1 ADDC A,ACC
97 1 DA A
98 1 MOV @R0,A
99 1
100 1 DEC R0
101 1 MOV A,@R0
102 1 ADDC A,ACC
103 1 DA A
104 1 MOV @R0,A
105 1
106 1 DEC R0
107 1 MOV A,@R0
108 1 ADDC A,ACC
109 1 DA A
110 1 MOV @R0,A
111 1
112 1 DEC R0
113 1 MOV A,@R0
114 1 ADDC A,ACC
115 1 DA A
116 1 MOV @R0,A
117 1
C51 COMPILER V6.02 BIN2BCD 09/11/2005 06:36:51 PAGE 3
118 1 MOV A,R7
119 1 MOV R0,A
120 1
121 1 DJNZ R1,F4Bin2BCDLP1
122 1
123 1 #pragma endasm
124 1 }
125 //------------------------------------------------------------------------------------
126 void WordToBcd(void)
127 {
128 1
129 1 #pragma asm
130 1 MOV A,20H
131 1 MOV R7,A
132 1 MOV A,21H
133 1 MOV R5,A
134 1 MOV A, R7
135 1 MOV R0,A
136 1 MOV A,R5
137 1 MOV R1,A
138 1 MOV A,@R0
139 1 MOV R6,A
140 1 INC R0
141 1 MOV A,@R0
142 1 MOV R7,A
143 1 CLR A
144 1 MOV R3,A
145 1 MOV R4,A
146 1 MOV R5,A
147 1 MOV R2,#10H
148 1 HBCD20: MOV A,R7
149 1 RLC A
150 1 MOV R7,A
151 1 MOV A,R6
152 1 RLC A
153 1 MOV R6,A
154 1 MOV A,R5
155 1 ADDC A,R5
156 1 DA A
157 1 MOV R5,A
158 1 MOV A,R4
159 1 ADDC A,R4
160 1 DA A
161 1 MOV R4,A
162 1 MOV A,R3
163 1 ADDC A,R3
164 1 DA A
165 1 MOV R3,A
166 1 DJNZ R2,HBCD20
167 1 MOV A,R3
168 1 MOV @R1,A
169 1 INC R1
170 1 MOV A,R4
171 1 MOV @R1,A
172 1 INC R1
173 1 MOV A,R5
174 1 MOV @R1,A
175 1 #pragma endasm
176 1 }
177 /*************************** The End ********************************************/
178 //------------------------------------------------------------------------------------
179 void KeilWordToBcd(unsigned char idata *pWord,unsigned char idata *pBcd)
C51 COMPILER V6.02 BIN2BCD 09/11/2005 06:36:51 PAGE 4
180 {
181 1 AsmParam1=pWord;
182 1 AsmParam2=pBcd;
183 1
184 1 WordToBcd();
185 1 }
186 //-------------------------------------------------------------------------------------
187 void KeilLongToBcd(unsigned char idata *pLong,unsigned char idata *pBcd)
188 {
189 1 AsmParam1=pLong;
190 1 AsmParam2=pBcd;
191 1
192 1 LongToBcd();
193 1 }
194
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 497 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -