📄 led.lst
字号:
HI-TECH Software PICC Macro Assembler V9.60
Mon Apr 20 21:15:09 2009
1 processor 16F913
2 opt pw 79
3 psect text3,local,class=CODE,delta=2
4 psect text4,local,class=CODE,delta=2
5 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
6 0000
7 0000
8 0000
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16
17 psect text3
18 0721 _SendDataToMax7219
19 ; _RegisterAddress assigned to ?a_SendDataToMax
+ 7219+0
20 0000 _SendDataToMax7219$RegisterAddress set ?a_SendD
+ ataToMax7219
21 ; _DISP_DIGTMP assigned to ?a_SendDataToMax7219
+ +1
22 0000 _SendDataToMax7219$DISP_DIGTMP set ?a_SendDataT
+ oMax7219+1
23 ; _DISP_SEGTMP assigned to ?a_SendDataToMax7219
+ +2
24 0000 _SendDataToMax7219$DISP_SEGTMP set ?a_SendDataT
+ oMax7219+2
25 ; _DATA_TMP assigned to ?a_SendDataToMax7219+3
26 0000 _SendDataToMax7219$DATA_TMP set ?a_SendDataToMa
+ x7219+3
27 ; _i assigned to ?a_SendDataToMax7219+4
28 0000 _SendDataToMax7219$i set ?a_SendDataToMax7219+4
29 ;_RegisterAddress stored from w
30 0721 0183 clrf 3 ;select bank 0
31 0722 00A9 movwf ?a_SendDataToMax7219
32 ;led.c: 81: void SendDataToMax7219(unsigned cha
+ r RegisterAddress ,unsigned char RegisterData)
33 0723 00AA movwf ?a_SendDataToMax7219+1 ;volatile
34 ;led.c: 89: DISP_SEGTMP = RegisterData;
35 0724 0828 movf ?_SendDataToMax7219,w
36 0725 00AB movwf ?a_SendDataToMax7219+2 ;volatile
37 ;led.c: 91: RB1 = 0;
38 0726 1086 bcf 6,1
39 ;led.c: 92: RC6 = 0;
40 0727 1307 bcf 7,6
41 ;led.c: 95: for(i=0;i<8;i++)
42 0728 01AD clrf ?a_SendDataToMax7219+4
43 0729 01AE clrf ?a_SendDataToMax7219+5
44 072A l23
45 ;led.c: 96: {
46 072A 082A movf ?a_SendDataToMax7219+1,w ;volatile
47 072B 3980 andlw -128
48 072C 00AC movwf ?a_SendDataToMax7219+3 ;volatile
49 ;led.c: 99: if(DATA_TMP)
50 072D 082C movf ?a_SendDataToMax7219+3,w ;volatile
51 072E 1903 btfsc 3,2
52 072F 2F32 goto l26
53 ;led.c: 100: {
54 0730 1607 bsf 7,4
55 0731 2F33 goto L1
56 ;led.c: 103: RC6 = 1;
57 ;led.c: 104: ;
58 ;led.c: 109: }
59 0732 l26
60 ;led.c: 110: else
61 0732 1207 bcf 7,4
62 0733 L1
63 ;led.c: 114: RC6 = 1;
64 0733 1707 bsf 7,6
65 ;led.c: 115: ;
66 0734 1307 bcf 7,6
67 ;led.c: 120: }
68 0735 1003 bcf 3,0
69 0736 0DAA rlf ?a_SendDataToMax7219+1 ;volatile
70 0737 0AAD incf ?a_SendDataToMax7219+4
71 0738 1903 btfsc 3,2
72 0739 0AAE incf ?a_SendDataToMax7219+5
73 073A 082E movf ?a_SendDataToMax7219+5,w
74 073B 3A80 xorlw 128
75 073C 00FF movwf btemp
76 073D 3080 movlw 128
77 073E 027F subwf btemp,w
78 073F 3008 movlw 8
79 ;set bank bits for (((?a_SendDataToMax7219+4)))
80 0740 1903 btfsc 3,2
81 0741 022D subwf ?a_SendDataToMax7219+4,w
82 0742 1C03 btfss 3,0
83 0743 2F2A goto l23
84 ;led.c: 122: }
85 0744 01AD clrf ?a_SendDataToMax7219+4
86 0745 01AE clrf ?a_SendDataToMax7219+5
87 0746 l28
88 ;led.c: 127: {
89 0746 082B movf ?a_SendDataToMax7219+2,w ;volatile
90 0747 3980 andlw -128
91 0748 00AC movwf ?a_SendDataToMax7219+3 ;volatile
92 ;led.c: 130: if(DATA_TMP)
93 0749 082C movf ?a_SendDataToMax7219+3,w ;volatile
94 074A 1903 btfsc 3,2
95 074B 2F4E goto l31
96 ;led.c: 131: {
97 074C 1607 bsf 7,4
98 074D 2F4F goto L2
99 ;led.c: 134: RC6 = 1;
100 ;led.c: 135: ;
101 ;led.c: 140: }
102 074E l31
103 ;led.c: 141: else
104 074E 1207 bcf 7,4
105 074F L2
106 ;led.c: 145: RC6 = 1;
107 074F 1707 bsf 7,6
108 ;led.c: 146: ;
109 0750 1307 bcf 7,6
110 ;led.c: 151: }
111 0751 1003 bcf 3,0
112 0752 0DAB rlf ?a_SendDataToMax7219+2 ;volatile
113 0753 0AAD incf ?a_SendDataToMax7219+4
114 0754 1903 btfsc 3,2
115 0755 0AAE incf ?a_SendDataToMax7219+5
116 0756 082E movf ?a_SendDataToMax7219+5,w
117 0757 3A80 xorlw 128
118 0758 00FF movwf btemp
119 0759 3080 movlw 128
120 075A 027F subwf btemp,w
121 075B 3008 movlw 8
122 ;set bank bits for (((?a_SendDataToMax7219+4)))
123 075C 1903 btfsc 3,2
124 075D 022D subwf ?a_SendDataToMax7219+4,w
125 075E 1C03 btfss 3,0
126 075F 2F46 goto l28
127 ;led.c: 153: }
128 0760 1486 bsf 6,1
129 ;led.c: 157: }
130 0761 0008 return ;W free
131 0762 _initMax7219
132 ; _InitRegisterAdress assigned to ?a_initMax721
+ 9+0
133 0000 _initMax7219$InitRegisterAdress set ?a_initMax7
+ 219
134 ; _InitRegisterData assigned to ?a_initMax7219+
+ 1
135 0000 _initMax7219$InitRegisterData set ?a_initMax721
+ 9+1
136 ;led.c: 54: void initMax7219(void)
137 0762 300C movlw 12
138 0763 0183 clrf 3 ;select bank 0
139 0764 00A6 movwf ?a_initMax7219 ;volatile
140 ;led.c: 58: InitRegisterData = 0x01;
141 0765 3001 movlw 1
142 0766 00A7 movwf ?a_initMax7219+1 ;volatile
143 ;led.c: 59: SendDataToMax7219(InitRegisterAdres
+ s,InitRegisterData);
144 0767 0827 movf ?a_initMax7219+1,w ;volatile
145 0768 00A8 movwf ?_SendDataToMax7219
146 0769 0826 movf ?a_initMax7219,w ;volatile
147 076A 2721 fcall _SendDataToMax7219
148 ;led.c: 61: InitRegisterAdress = 0x0F;
149 076B 300F movlw 15
150 076C 00A6 movwf ?a_initMax7219 ;volatile
151 ;led.c: 62: InitRegisterData = 0x00;
152 076D 01A7 clrf ?a_initMax7219+1 ;volatile
153 ;led.c: 63: SendDataToMax7219(InitRegisterAdres
+ s,InitRegisterData);
154 076E 0827 movf ?a_initMax7219+1,w ;volatile
155 076F 00A8 movwf ?_SendDataToMax7219
156 0770 0826 movf ?a_initMax7219,w ;volatile
157 0771 2721 fcall _SendDataToMax7219
158 ;led.c: 65: InitRegisterAdress = 0x0B;
159 0772 300B movlw 11
160 0773 00A6 movwf ?a_initMax7219 ;volatile
161 ;led.c: 66: InitRegisterData = 0x07;
162 0774 3007 movlw 7
163 0775 00A7 movwf ?a_initMax7219+1 ;volatile
164 ;led.c: 67: SendDataToMax7219(InitRegisterAdres
+ s,InitRegisterData);
165 0776 0827 movf ?a_initMax7219+1,w ;volatile
166 0777 00A8 movwf ?_SendDataToMax7219
167 0778 0826 movf ?a_initMax7219,w ;volatile
168 0779 2721 fcall _SendDataToMax7219
169 ;led.c: 69: InitRegisterAdress = 0x09;
170 077A 3009 movlw 9
171 077B 00A6 movwf ?a_initMax7219 ;volatile
172 ;led.c: 70: InitRegisterData = 0xFF;
173 077C 30FF movlw -1
174 077D 00A7 movwf ?a_initMax7219+1 ;volatile
175 ;led.c: 71: SendDataToMax7219(InitRegisterAdres
+ s,InitRegisterData);
176 077E 0827 movf ?a_initMax7219+1,w ;volatile
177 077F 00A8 movwf ?_SendDataToMax7219
178 0780 0826 movf ?a_initMax7219,w ;volatile
179 0781 2721 fcall _SendDataToMax7219
180 ;led.c: 73: InitRegisterAdress = 0x0A;
181 0782 300A movlw 10
182 0783 00A6 movwf ?a_initMax7219 ;volatile
183 ;led.c: 74: InitRegisterData = 0x0F;
184 0784 300F movlw 15
185 0785 00A7 movwf ?a_initMax7219+1 ;volatile
186 ;led.c: 75: SendDataToMax7219(InitRegisterAdres
+ s,InitRegisterData);
187 0786 0827 movf ?a_initMax7219+1,w ;volatile
188 0787 00A8 movwf ?_SendDataToMax7219
189 0788 0826 movf ?a_initMax7219,w ;volatile
190 0789 2F21 ljmp _SendDataToMax7219
191 ;led.c: 78: }
192 078A 0008 return ;W free
193 ; param _RegisterData assigned to ?_SendD
+ ataToMax7219+0
194 0000 _SendDataToMax7219$RegisterData set ?_SendDataT
+ oMax7219
195 078B _init
196 ; _i assigned to ?a_init+0
197 0000 _init$i set ?a_init
198 ;led.c: 32: void init()
199 078B 30FF movlw -1
200 078C 1683 bsf 3,5
201 078D 1303 bcf 3,6 ;carry unused
202 078E 0085 movwf 5 ;volatile
203 ;led.c: 36: PORTA = 0x00;
204 078F 1283 bcf 3,5
205 0790 0185 clrf 5 ;volatile
206 ;led.c: 37: PORTC = 0x00;
207 0791 0187 clrf 7 ;volatile
208 ;led.c: 38: TRISC = 0x00;
209 0792 1683 bsf 3,5
210 0793 0187 clrf 7 ;volatile
211 ;led.c: 39: TRISB = 0x00;
212 0794 0186 clrf 6 ;volatile
213 ;led.c: 40: PORTB = 0x00;
214 0795 1283 bcf 3,5
215 0796 0186 clrf 6 ;volatile
216 ;led.c: 41: INTCON = 0x00;
217 0797 018B clrf 11 ;volatile
218 ;led.c: 42: T1CON = 0x00;
219 0798 0190 clrf 16 ;volatile
220 ;led.c: 43: RCSTA = 0x00;
221 0799 0198 clrf 24 ;volatile
222 ;led.c: 44: initMax7219();
223 079A 2762 118A fcall _initMax7219
224 ;led.c: 45: asm("nop");
225 079C 0000 nop ;#
226 ;led.c: 46: asm("nop");
227 079D 0000 nop ;#
228 ;led.c: 47: for(i=1;i<=8;i++)
229 079E 01A4 clrf ?a_init
230 079F 0AA4 incf ?a_init
231 07A0 01A5 clrf ?a_init+1
232 07A1 l18
233 ;led.c: 48: {
234 07A1 01A8 clrf ?_SendDataToMax7219
235 07A2 0824 movf ?a_init,w
236 07A3 2721 fcall _SendDataToMax7219
237 07A4 0AA4 incf ?a_init
238 07A5 1903 btfsc 3,2
239 07A6 0AA5 incf ?a_init+1
240 07A7 0825 movf ?a_init+1,w
241 07A8 3A80 xorlw 128
242 07A9 00FF movwf btemp
243 07AA 3080 movlw 128
244 07AB 027F subwf btemp,w
245 07AC 3009 movlw 9
246 ;set bank bits for (((?a_init+0)))
247 07AD 1903 btfsc 3,2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -