📄 main.lst
字号:
HI-TECH Software PICC Macro Assembler V9.60
Tue Aug 26 16:51:30 2008
1 processor 16F87
2 opt pw 79
3 psect text0,local,class=CODE,delta=2
4 psect config,global,class=CONFIG,delta=2
5 psect eeprom_data,global,class=EEDATA,space=2,
+ delta=2
6 psect intcode,global,class=CODE,delta=2
7 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
8 psect intret,global,class=CODE,delta=2
9 psect intentry,global,class=CODE,delta=2
10 psect intsave,global,class=BANK0,space=1,delta
+ =1
11 psect text4,local,class=CODE,delta=2
12 psect text10,local,class=CODE,delta=2
13 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
14 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
15 psect rbss_1,global,class=BANK1,space=1,delta=
+ 1
16 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26 0000 ;#
27
28 psect config
29 2007 3F01 dw 16129 ;#
30
31 psect eeprom_data
32 0000 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
33 0008 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
34 0010 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
35 0018 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
36 0020 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
37 0028 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
38 0030 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
39 0038 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
40 0040 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
41 0048 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
42 0050 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
43 0058 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
44 0060 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
45 0068 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
46 0070 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
47 0078 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
48 0080 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
49 0088 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
50 0090 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
51 0098 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
52 00A0 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
53 00A8 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
54 00B0 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
55 00B8 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
56 00C0 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
57 00C8 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
58 00D0 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
59 00D8 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
60 00E0 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
61 00E8 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
62 00F0 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
63 00F8 0000 0000 0000 db 0,0,0,0,0,0,0,0 ;#
+ 0000 0000 0000
+ 0000 0000
64
65 psect intcode
66 0015 _isr
67 0015 int_func
68 ; _keyval assigned to ?a_isr+0
69 0000 _isr$keyval set ?a_isr
70 ;main.c: 8: void interrupt isr(void)
71 0015 1A0B btfsc 11,4
72 0016 1C8B btfss 11,1
73 0017 282D goto l6
74 ;main.c: 14: {
75 0018 118A 251F 118A fcall _ReadPs2
76 001B 00B8 movwf ?a_isr
77 ;main.c: 16: if(keyval != 0)
78 001C 08B8 movf ?a_isr
79 001D 1903 btfsc 3,2
80 001E 2828 goto l8
81 ;main.c: 17: {
82 001F 0822 movf _keyinpt,w ;volatile
83 0020 3EA0 addlw _keybuff
84 0021 0084 movwf 4
85 0022 1383 bcf 3,7
86 0023 0838 movf ?a_isr,w
87 0024 0080 movwf 0
88 ;main.c: 19: keyinpt++;
89 0025 0AA2 incf _keyinpt ;volatile
90 ;main.c: 20: keyinpt&= 0x3f;
91 0026 303F movlw 63
92 0027 05A2 andwf _keyinpt ;volatile
93 ;main.c: 21: }
94 0028 l8
95 0028 1806 btfsc 6,0
96 0029 1C86 btfss 6,1
97 002A 2828 goto l8
98 ;main.c: 23: asm("movf _PORTA,w");
99 002B 0805 movf 5,w ;#
100 ;main.c: 24: INT0IF = 0;
101 002C 108B bcf 11,1
102 002D l6
103 ;main.c: 25: }
104 002D 1A8B btfsc 11,5
105 002E 1D0B btfss 11,2
106 002F 28B5 goto l5
107 ;main.c: 28: {
108 0030 110B bcf 11,2
109 0031 3087 movlw -121
110 0032 1283 bcf 3,5
111 0033 1303 bcf 3,6 ;carry unused
112 0034 0081 movwf 1 ;volatile
113 ;main.c: 31: id_1ms=1;
114 0035 15A0 bsf _id_1ms/(0+8),_id_1ms& (0+7)
115 ;main.c: 33: TRISB3=0;TRISA0=0;TRISA1=1;
116 0036 1683 bsf 3,5
117 0037 1186 bcf 6,3
118 0038 1005 bcf 5,0
119 0039 1485 bsf 5,1
120 ;main.c: 34: RA0=1;
121 003A 1283 bcf 3,5
122 003B 1405 bsf 5,0
123 ;main.c: 35: led_keyboradmouse_count++;
124 003C 0AA7 incf _led_keyboradmouse_count ;volatile
125 003D 1903 btfsc 3,2
126 003E 0AA8 incf _led_keyboradmouse_count+1 ;volatile
127 ;main.c: 37: if(RA1)
128 003F 1C85 btfss 5,1
129 0040 2843 goto l12
130 ;main.c: 38: id_led_keyboradmouse=1;
131 0041 16A0 bsf _id_led_keyboradmouse/(0+8),_id_led_keybor
+ admouse& (0+7)
132 0042 2865 goto l15
133 0043 l12
134 ;main.c: 39: else
135 0043 12A0 bcf _id_led_keyboradmouse/(0+8),_id_led_keybor
+ admouse& (0+7)
136 ;main.c: 42: switch (id_led_keyboradmouse)
137 0044 2865 goto l15
138 0045 l16
139 ;main.c: 43: {
140 ;main.c: 45: if(led_keyboradmouse_count<=250)
141 0045 3000 movlw 0
142 0046 0228 subwf _led_keyboradmouse_count+1,w ;volatile
143 0047 30FB movlw 251
144 0048 1903 btfsc 3,2
145 0049 0227 subwf _led_keyboradmouse_count,w ;volatile
146 004A 1C03 btfss 3,0
147 004B 2857 goto u140
148 ;main.c: 46: RB3=0;
149 ;main.c: 47: else if(led_keyboradmouse_count<=5
+ 00)
150 004C 3001 movlw 1
151 004D 0228 subwf _led_keyboradmouse_count+1,w ;volatile
152 004E 30F5 movlw 245
153 004F 285C goto L5
154 ;main.c: 48: RB3=1;
155 ;main.c: 49: else led_keyboradmouse_count=0x00;
156 ;main.c: 50: break;
157 0050 l21
158 ;main.c: 51: case 1:
159 ;main.c: 52: if(led_keyboradmouse_count<=2000)
160 0050 3007 movlw 7
161 0051 0228 subwf _led_keyboradmouse_count+1,w ;volatile
162 0052 30D1 movlw 209
163 0053 1903 btfsc 3,2
164 0054 0227 subwf _led_keyboradmouse_count,w ;volatile
165 0055 1803 btfsc 3,0
166 0056 2859 goto l22
167 0057 u140
168 ;main.c: 53: RB3=0;
169 0057 1186 bcf 6,3
170 0058 2877 goto l14
171 0059 l22
172 ;main.c: 54: else if(led_keyboradmouse_count<=4
+ 000)
173 0059 300F movlw 15
174 005A 0228 subwf _led_keyboradmouse_count+1,w ;volatile
175 005B 30A1 movlw 161
176 005C L5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -