📄 seg74.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-16605 Wed May 6 22:02:26 2009
Licensed to: ONE
1 processor 16F877
2 opt pw 79
3 psect __Z16605RS_,global,delta=1
4 psect strings,global,class=STRING,delta=2
5 psect const1,local,class=CONST,delta=2
6 psect const2,local,class=CONST,delta=2
7 psect text0,local,class=CODE,delta=2
8 psect text2,local,class=CODE,delta=2
9 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20
21 psect __Z16605RS_
22 0190
23 0190
24
25 psect const1
26 0034 0782 addwf 2
27 0035 _Seg7Table
28 0035 343F retlw 63
29 0036 3406 retlw 6
30 0037 345B retlw 91
31 0038 344F retlw 79
32 0039 3466 retlw 102
33 003A 346D retlw 109
34 003B 347D retlw 125
35 003C 3407 retlw 7
36 003D 347F retlw 127
37 003E 346F retlw 111
38
39 psect const2
40 0029 0782 addwf 2
41 002A _Seg7TableN
42 002A 34C0 retlw -64
43 002B 34F9 retlw -7
44 002C 34A4 retlw -92
45 002D 34B0 retlw -80
46 002E 3499 retlw -103
47 002F 3492 retlw -110
48 0030 3482 retlw -126
49 0031 34F8 retlw -8
50 0032 3480 retlw -128
51 0033 3490 retlw -112
52 0000 _SplitNum$iNum set ?_SplitNum
53 0000 _SplitNum$strNum set ?_SplitNum+2
54
55 psect text0
56 071A _SplitNum
57 ;seg74.c: 12: strNum[0]=(iNum%10000)/1000;
58 071A 0183 clrf 3 ;select bank 0
59 071B 0834 movf ?_SplitNum+2,w
60 071C 0084 movwf 4
61 071D 1383 bcf 3,7
62 071E 3010 movlw 16
63 071F 00F2 movwf btemp+2
64 0720 3027 movlw 39
65 0721 00F3 movwf btemp+3
66 0722 0833 movf ?_SplitNum+1,w
67 0723 00F1 movwf btemp+1
68 0724 0832 movf ?_SplitNum,w
69 0725 00F0 movwf btemp
70 0726 120A 118A 27B1 fcall awmod
71 0729 30E8 movlw 232
72 072A 00F2 movwf btemp+2
73 072B 3003 movlw 3
74 072C 00F3 movwf btemp+3
75 072D 120A 118A 27B1 fcall awdiv
76 0730 0874 movf btemp+4,w
77 0731 0080 movwf 0
78 ;seg74.c: 13: strNum[1]=(iNum%1000)/100;
79 0732 0A34 incf ?_SplitNum+2,w
80 0733 0084 movwf 4
81 0734 1383 bcf 3,7
82 0735 30E8 movlw 232
83 0736 00F2 movwf btemp+2
84 0737 3003 movlw 3
85 0738 00F3 movwf btemp+3
86 0739 0833 movf ?_SplitNum+1,w
87 073A 00F1 movwf btemp+1
88 073B 0832 movf ?_SplitNum,w
89 073C 00F0 movwf btemp
90 073D 120A 118A 27B1 fcall awmod
91 0740 3064 movlw 100
92 0741 00F2 movwf btemp+2
93 0742 3000 movlw 0
94 0743 01F3 clrf btemp+3
95 0744 120A 118A 27B1 fcall awdiv
96 0747 0874 movf btemp+4,w
97 0748 0080 movwf 0
98 ;seg74.c: 14: strNum[2]=(iNum%100)/10;
99 0749 0834 movf ?_SplitNum+2,w
100 074A 3E02 addlw 2
101 074B 0084 movwf 4
102 074C 1383 bcf 3,7
103 074D 3064 movlw 100
104 074E 00F2 movwf btemp+2
105 074F 01F3 clrf btemp+3
106 0750 0833 movf ?_SplitNum+1,w
107 0751 00F1 movwf btemp+1
108 0752 0832 movf ?_SplitNum,w
109 0753 00F0 movwf btemp
110 0754 120A 118A 27B1 fcall awmod
111 0757 300A movlw 10
112 0758 00F2 movwf btemp+2
113 0759 3000 movlw 0
114 075A 01F3 clrf btemp+3
115 075B 120A 118A 27B1 fcall awdiv
116 075E 0874 movf btemp+4,w
117 075F 0080 movwf 0
118 ;seg74.c: 15: strNum[3]=(iNum%10);
119 0760 0834 movf ?_SplitNum+2,w
120 0761 3E03 addlw 3
121 0762 0084 movwf 4
122 0763 1383 bcf 3,7
123 0764 300A movlw 10
124 0765 00F2 movwf btemp+2
125 0766 01F3 clrf btemp+3
126 0767 0833 movf ?_SplitNum+1,w
127 0768 00F1 movwf btemp+1
128 0769 0832 movf ?_SplitNum,w
129 076A 00F0 movwf btemp
130 076B 120A 118A 27B1 fcall awmod
+ 120A 118A
131 0770 0870 movf btemp,w
132 0771 0080 movwf 0
133 ;seg74.c: 16: }
134 0772 0008 return
135 0773 _Show4b
136 ; _i assigned to ?a_Show4b+0
137 0000 _Show4b$i set ?a_Show4b
138 ; _k assigned to ?a_Show4b+1
139 0000 _Show4b$k set ?a_Show4b+1
140 ; _j assigned to ?a_Show4b+2
141 0000 _Show4b$j set ?a_Show4b+2
142 ; _NumStr assigned to ?a_Show4b+3
143 0000 _Show4b$NumStr set ?a_Show4b+3
144 ;seg74.c: 20: char i=0,j=0,k=0,NumStr[4]={1,2,3
+ ,4};
145 0773 0183 clrf 3 ;select bank 0
146 0774 01AB clrf ?a_Show4b
147 0775 01AD clrf ?a_Show4b+2
148 0776 01AC clrf ?a_Show4b+1
149 0777 01AE clrf ?a_Show4b+3
150 0778 0AAE incf ?a_Show4b+3
151 0779 3002 movlw 2
152 077A 00AF movwf ?a_Show4b+4
153 077B 3003 movlw 3
154 077C 00B0 movwf ?a_Show4b+5
155 077D 3004 movlw 4
156 077E 00B1 movwf ?a_Show4b+6
157 ;seg74.c: 21: if(iNum==0)
158 077F 082A movf ?_Show4b+1,w
159 0780 0429 iorwf ?_Show4b,w
160 0781 1D03 btfss 3,2
161 0782 2F85 goto l3
162 ;seg74.c: 22: {
163 0783 0186 clrf 6 ;volatile
164 ;seg74.c: 24: return;
165 0784 0008 return
166 0785 l3
167 ;seg74.c: 25: }
168 0785 0829 movf ?_Show4b,w
169 0786 00B2 movwf ?_SplitNum
170 0787 082A movf ?_Show4b+1,w
171 0788 00B3 movwf ?_SplitNum+1
172 0789 302E movlw ?a_Show4b+3
173 078A 00B4 movwf ?_SplitNum+2
174 078B 271A fcall _SplitNum
175 ;seg74.c: 27: for(i=0;i<10;i++)
176 078C 01AB clrf ?a_Show4b
177 078D l4
178 ;seg74.c: 28: {
179 ;seg74.c: 29: k=PORTB=0x01;
180 078D 3001 movlw 1
181 078E 0086 movwf 6 ;volatile
182 078F 00AC movwf ?a_Show4b+1
183 ;seg74.c: 30: for(j=0;j<4;j++)
184 0790 01AD clrf ?a_Show4b+2
185 0791 l7
186 ;seg74.c: 31: {
187 ;seg74.c: 32: PORTB=k;
188 0791 082C movf ?a_Show4b+1,w
189 0792 0086 movwf 6 ;volatile
190 ;seg74.c: 33: PORTD=Seg7TableN[NumStr[j]];
191 0793 3000 movlw _Seg7TableN shr (0+8)
192 0794 008A movwf 10
193 0795 082D movf ?a_Show4b+2,w
194 0796 3E2E addlw ?a_Show4b+3
195 0797 0084 movwf 4
196 0798 1383 bcf 3,7
197 0799 0800 movf 0,w
198 079A 2029 call ((_Seg7TableN+-1)& (0+2047))| (($)& (0+-2
+ 048))
199 079B 0088 movwf 8 ;volatile
200 ;seg74.c: 34: delay(10);
201 079C 300A movlw 10
202 079D 00B2 movwf ?_delay
203 079E 01B3 clrf ?_delay+1
204 079F 120A 118A 261F fcall _delay
+ 120A 118A
205 ;seg74.c: 35: k=k<<1;
206 07A4 1003 bcf 3,0
207 07A5 0DAC rlf ?a_Show4b+1
208 ;seg74.c: 36: }
209 07A6 0AAD incf ?a_Show4b+2
210 07A7 3004 movlw 4
211 07A8 022D subwf ?a_Show4b+2,w
212 07A9 1C03 btfss 3,0
213 07AA 2F91 goto l7
214 ;seg74.c: 37: }
215 07AB 0AAB incf ?a_Show4b
216 07AC 300A movlw 10
217 07AD 022B subwf ?a_Show4b,w
218 07AE 1803 btfsc 3,0
219 07AF 0008 return
220 07B0 2F8D goto l4
221
222 psect text2
223 0000
224 0000
225 0000
226 0000
227 0000
228 0000
229 0000
230 0000
231 0000
232 0000
233 0000
234 0000
235 0000
236 0000
237 0000
238 0000
239 0000
240 0000
241 0000
242 0000
243 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -