📄 keyboard.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-80329 Thu Jul 19 15:11:28 2007
Licensed to: BOSS
1 processor 16F873A
2 opt pw 79
3 psect __Z80329RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text1,local,class=CODE,delta=2
6 psect text2,local,class=CODE,delta=2
7 0000
8 0000
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17
18 psect __Z80329RS_
19 00A0
20 00A0
21
22 psect text0
23 0354 _kb_Getch
24 ;keyboard.c: 11: if( kb_index_head != kb_index_
+ rear )
25 0354 0183 clrf 3 ;select bank 0
26 0355 082C movf _kb_index_rear+1,w
27 0356 062A xorwf _kb_index_head+1,w
28 0357 1D03 btfss 3,2
29 0358 2B5B goto u15
30 0359 082B movf _kb_index_rear,w
31 035A 0629 xorwf _kb_index_head,w
32 035B u15
33 ;keyboard.c: 12: {
34 035B 3000 movlw 0
35 035C 1903 btfsc 3,2
36 035D 0008 return
37 035E 022C subwf _kb_index_rear+1,w
38 035F 3013 movlw 19
39 0360 1903 btfsc 3,2
40 0361 022B subwf _kb_index_rear,w
41 0362 1803 btfsc 3,0
42 0363 2B68 goto l3
43 0364 0AAB incf _kb_index_rear
44 0365 1903 btfsc 3,2
45 0366 0AAC incf _kb_index_rear+1
46 ;keyboard.c: 14: else kb_index_rear=0;
47 0367 2B6A goto l4
48 0368 l3
49 0368 01AB clrf _kb_index_rear
50 0369 01AC clrf _kb_index_rear+1
51 036A l4
52 ;keyboard.c: 15: return kb_bufs[kb_index_rear];
53 036A 082B movf _kb_index_rear,w
54 036B 3E2F addlw _kb_bufs
55 036C 0084 movwf 4
56 036D 1383 bcf 3,7
57 036E 0800 movf 0,w
58 036F 0008 return
59
60 psect text1
61 ;keyboard.c: 20: unsigned char
62 ;keyboard.c: 21: kb_Putch(unsigned char buf)
63 ;keyboard.c: 22: {
64 038F _kb_Putch
65 ; _buf assigned to ?a_kb_Putch+0
66 0000 _kb_Putch$buf set ?a_kb_Putch
67 ; _tmp assigned to ?a_kb_Putch+1
68 0000 _kb_Putch$tmp set ?a_kb_Putch+1
69 ;_buf stored from w
70 038F 0183 clrf 3 ;select bank 0
71 0390 00D3 movwf ?a_kb_Putch
72 ;keyboard.c: 23: unsigned int tmp = kb_index_he
+ ad;
73 0391 0829 movf _kb_index_head,w
74 0392 00D4 movwf ?a_kb_Putch+1
75 0393 082A movf _kb_index_head+1,w
76 0394 00D5 movwf ?a_kb_Putch+2
77 ;keyboard.c: 25: if( kb_index_head < 20-1 ) kb_
+ index_head++;
78 0395 3000 movlw 0
79 0396 022A subwf _kb_index_head+1,w
80 0397 3013 movlw 19
81 0398 1903 btfsc 3,2
82 0399 0229 subwf _kb_index_head,w
83 039A 1803 btfsc 3,0
84 039B 2BA0 goto l7
85 039C 0AA9 incf _kb_index_head
86 039D 1903 btfsc 3,2
87 039E 0AAA incf _kb_index_head+1
88 ;keyboard.c: 26: else kb_index_head=0;
89 039F 2BA2 goto l8
90 03A0 l7
91 03A0 01A9 clrf _kb_index_head
92 03A1 01AA clrf _kb_index_head+1
93 03A2 l8
94 ;keyboard.c: 28: if( kb_index_head == kb_index_
+ rear )
95 03A2 082C movf _kb_index_rear+1,w
96 03A3 062A xorwf _kb_index_head+1,w
97 03A4 1D03 btfss 3,2
98 03A5 2BA8 goto u45
99 03A6 082B movf _kb_index_rear,w
100 03A7 0629 xorwf _kb_index_head,w
101 03A8 u45
102 03A8 1D03 btfss 3,2
103 03A9 2BAF goto l9
104 ;keyboard.c: 29: {
105 03AA 0854 movf ?a_kb_Putch+1,w
106 03AB 00A9 movwf _kb_index_head
107 03AC 0855 movf ?a_kb_Putch+2,w
108 03AD 00AA movwf _kb_index_head+1
109 ;keyboard.c: 31: return 0;
110 03AE 3400 retlw 0
111 03AF l9
112 ;keyboard.c: 34: {
113 03AF 0829 movf _kb_index_head,w
114 03B0 3E2F addlw _kb_bufs
115 03B1 0084 movwf 4
116 03B2 1383 bcf 3,7
117 03B3 0853 movf ?a_kb_Putch,w
118 03B4 0080 movwf 0
119 ;keyboard.c: 36: return 1;
120 03B5 3401 retlw 1
121
122 psect text2
123 0000
124 0000
125 0000
126 0000
127 0000
128 0000
129 0000
130 0000
131 0000
132 0000
133 0000
134 0000
135 0000
136 0000
137 0000
138 0000
139 0000
140 0000
141 0000
142 0000
143 0000
144 0000
145 0000
146 0000
147 0000
148 0000
149 0000
150 0000
151 0000
152 0000
153 0000
154 0000
155 0000
156 0000
157 0000
158 0000
159 0000
160 0000
161 0000
162 0000
163 0000
164 0000
165 0000
166 0000
167 0000
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -