📄 display.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Sun Aug 6 15:26:09 2006
1 processor 16F877A
2 opt pw 79
3 psect __Z49231UD_,global,delta=1
4 psect strings,global,class=STRING,delta=2
5 psect const1,local,class=CONST,delta=2
6 psect text0,local,class=CODE,delta=2
7 psect text1,local,class=CODE,delta=2
8 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
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 const1
22 005B 0782 addwf 2
23 005C _NumberHandle
24 005C 34AF retlw -81
25 005D 3403 retlw 3
26 005E 349D retlw -99
27 005F 3497 retlw -105
28 0060 3433 retlw 51
29 0061 34B6 retlw -74
30 0062 34BE retlw -66
31 0063 3483 retlw -125
32 0064 34BF retlw -65
33 0065 34B7 retlw -73
34 0066 3410 retlw 16
35 0067 3400 retlw 0
36 0068 343E retlw 62
37 0069 34AC retlw -84
38 006A 341F retlw 31
39 006B 3400 retlw 0
40 0000 _display$display_data set ?_display
41
42 psect text0
43 0126 _display
44 ; _j assigned to ?a_display+0
45 0000 _display$j set ?a_display
46 ; _data_buffer assigned to ?a_display+1
47 0000 _display$data_buffer set ?a_display+1
48 ; _i assigned to ?a_display+2
49 0000 _display$i set ?a_display+2
50 ;display.c: 26: unsigned char i;
51 0126 0183 clrf 3 ;select bank 0
52 0127 01C0 clrf ?a_display+2
53 0128 l2
54 ;display.c: 31: data_buffer = (display_data >>
+ (3 - i) * 4) & 0x0f;
55 0128 0840 movf ?a_display+2,w
56 0129 3C03 sublw 3
57 012A 00F0 movwf btemp
58 012B 1003 bcf 3,0
59 012C 0DF0 rlf btemp
60 012D 1003 bcf 3,0
61 012E 0D70 rlf btemp,w
62 012F 00F2 movwf btemp+2
63 0130 083D movf ?_display+1,w
64 0131 00F1 movwf btemp+1
65 0132 083C movf ?_display,w
66 0133 00F0 movwf btemp
67 0134 0AF2 incf btemp+2
68 0135 2939 goto u14
69 0136 u15
70 0136 0D71 rlf btemp+1,w
71 0137 0CF1 rrf btemp+1
72 0138 0CF0 rrf btemp
73 0139 u14
74 0139 0BF2 decfsz btemp+2
75 013A 2936 goto u15
76 013B 0870 movf btemp,w
77 013C 390F andlw 15
78 013D 00BF movwf ?a_display+1
79 ;display.c: 32: data_buffer = NumberHandle[data
+ _buffer];
80 013E 3000 movlw _NumberHandle shr (0+8)
81 013F 008A movwf 10
82 0140 083F movf ?a_display+1,w
83 0141 205B call ((_NumberHandle+-1)& (0+2047))| (($)& (0+
+ -2048))
84 0142 120A 118A pagesel $
85 0144 00BF movwf ?a_display+1
86 ;display.c: 33: if(i == 2 && point == 1)
87 0145 0840 movf ?a_display+2,w
88 0146 3A02 xorlw 2
89 0147 1903 btfsc 3,2
90 0148 1C20 btfss _point/(0+8),_point& (0+7)
91 0149 294B goto l5
92 ;display.c: 34: {
93 014A 173F bsf ?a_display+1,6
94 014B l5
95 ;display.c: 36: }
96 014B 01BE clrf ?a_display
97 014C l6
98 ;display.c: 38: RA2 = data_buffer >> (7 - j);
99 014C 083F movf ?a_display+1,w
100 014D 00F0 movwf btemp
101 014E 083E movf ?a_display,w
102 014F 3C07 sublw 7
103 0150 00F1 movwf btemp+1
104 0151 0AF1 incf btemp+1
105 0152 2955 goto u54
106 0153 u55
107 0153 1003 bcf 3,0
108 0154 0CF0 rrf btemp
109 0155 u54
110 0155 0BF1 decfsz btemp+1
111 0156 2953 goto u55
112 0157 0870 movf btemp,w
113 0158 00F0 movwf btemp
114 0159 0C70 rrf btemp,w
115 015A 1C03 btfss 3,0
116 015B 295E goto u60
117 015C 1505 bsf 5,2
118 015D 295F goto u74
119 015E u60
120 015E 1105 bcf 5,2
121 015F u74
122 ;display.c: 39: asm("nop");
123 015F 0000 nop ;#
124 ;display.c: 40: asm("nop");
125 0160 0000 nop ;#
126 ;display.c: 41: RA5 = 1;
127 0161 1283 bcf 3,5
128 0162 1303 bcf 3,6 ;carry unused
129 0163 1685 bsf 5,5
130 ;display.c: 42: asm("nop");
131 0164 0000 nop ;#
132 ;display.c: 43: asm("nop");
133 0165 0000 nop ;#
134 ;display.c: 44: RA5 = 0;
135 0166 1285 bcf 5,5
136 ;display.c: 45: asm("nop");
137 0167 0000 nop ;#
138 ;display.c: 46: asm("nop");
139 0168 0000 nop ;#
140 ;display.c: 47: }
141 0169 0ABE incf ?a_display
142 016A 3008 movlw 8
143 016B 023E subwf ?a_display,w
144 016C 1C03 btfss 3,0
145 016D 294C goto l6
146 ;display.c: 48: }
147 016E 0AC0 incf ?a_display+2
148 016F 3004 movlw 4
149 0170 0240 subwf ?a_display+2,w
150 0171 1C03 btfss 3,0
151 0172 2928 goto l2
152 ;display.c: 49: RA4 = 1;
153 0173 1605 bsf 5,4
154 ;display.c: 50: asm("nop");
155 0174 0000 nop ;#
156 ;display.c: 51: asm("nop");
157 0175 0000 nop ;#
158 ;display.c: 52: RA4 = 0;
159 0176 1205 bcf 5,4
160 ;display.c: 53: asm("nop");
161 0177 0000 nop ;#
162 ;display.c: 54: asm("nop");
163 0178 0000 nop ;#
164 ;display.c: 55: }
165 0179 0008 return
166
167 psect text1
168 0000
169 0000
170 0000
171 0000
172 0000
173 0000
174 0000
175 0000
176 0000
177 0000
178 0000
179 0000
180 0000
181 0000
182 0000
183 0000
184 0000
185 0000
186 0000
187 0000
188 0000
189 0000
190 0000
191 0000
192 0000
193 0000
194 0000
195 0000
196 0000
197 0000
198 0000
199 0000
200 0000
201 0000
202 0000
203 0000
204 0000
205 0000
206 0000
207 0000
208 0000
209 0000
210 0000
211 0000
212 0000
213 0000
214 0000
215 0000
216 0000
217 0000
218 0000
219 0000
220 0000
221 0000
222 0000
223 0000
224 0000
225 0000
226 0000
227 0000
228 0000
229 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -