📄 child.lis
字号:
01C2 L61:
01C2 .dbline 156
01C2 ; case 0x05: key_num=3;break;
01C2 63E0 ldi R22,3
01C4 .dbline 156
01C4 .dbline 157
01C4 ; default: break;
01C4 L57:
01C4 .dbline 159
01C4 ; }
01C4 ; key=((PIND&0x68)>>3);
01C4 40B3 in R20,0x10
01C6 4876 andi R20,104
01C8 4695 lsr R20
01CA 4695 lsr R20
01CC 4695 lsr R20
01CE 07C0 xjmp L64
01D0 L63:
01D0 .dbline 161
01D0 .dbline 162
01D0 05E0 ldi R16,5
01D2 1EDF xcall _delay_ms
01D4 .dbline 163
01D4 40B3 in R20,0x10
01D6 4876 andi R20,104
01D8 4695 lsr R20
01DA 4695 lsr R20
01DC 4695 lsr R20
01DE .dbline 164
01DE L64:
01DE .dbline 160
01DE ; while(key!=0x0D)
01DE 4D30 cpi R20,13
01E0 B9F7 brne L63
01E2 .dbline 165
01E2 ; {
01E2 ; delay_ms(5);
01E2 ; key=((PIND&0x68)>>3);
01E2 ; }
01E2 ; }
01E2 L54:
01E2 .dbline 166
01E2 ; }
01E2 L52:
01E2 .dbline 167
01E2 ; PORTB|=BIT(PB5);
01E2 C59A sbi 0x18,5
01E4 .dbline 168
01E4 ; PORTC&=~BIT(PC0);
01E4 A898 cbi 0x15,0
01E6 .dbline 169
01E6 ; PORTC|=BIT(PC1);
01E6 A99A sbi 0x15,1
01E8 .dbline 170
01E8 ; _NOP();
01E8 0000 nop
01EA .dbline 171
01EA ; _NOP();
01EA 0000 nop
01EC .dbline 172
01EC ; key=((PIND&0x68)>>3);
01EC 40B3 in R20,0x10
01EE 4876 andi R20,104
01F0 4695 lsr R20
01F2 4695 lsr R20
01F4 4695 lsr R20
01F6 .dbline 173
01F6 ; if(key!=0x0D)
01F6 4D30 cpi R20,13
01F8 09F4 brne X4
01FA 32C0 xjmp L66
01FC X4:
01FC .dbline 174
01FC ; {
01FC .dbline 175
01FC ; delay_ms(40);
01FC 08E2 ldi R16,40
01FE 08DF xcall _delay_ms
0200 .dbline 176
0200 ; key=((PIND&0x68)>>3);
0200 40B3 in R20,0x10
0202 4876 andi R20,104
0204 4695 lsr R20
0206 4695 lsr R20
0208 4695 lsr R20
020A .dbline 177
020A ; if(key!=0x0D)
020A 4D30 cpi R20,13
020C 49F1 breq L68
020E .dbline 178
020E ; {
020E .dbline 179
020E ; switch(key)
020E A42E mov R10,R20
0210 BB24 clr R11
0212 C501 movw R24,R10
0214 8530 cpi R24,5
0216 E0E0 ldi R30,0
0218 9E07 cpc R25,R30
021A 91F0 breq L75
021C 8530 cpi R24,5
021E E0E0 ldi R30,0
0220 9E07 cpc R25,R30
0222 7CF0 brlt L71
0224 L76:
0224 C501 movw R24,R10
0226 8930 cpi R24,9
0228 E0E0 ldi R30,0
022A 9E07 cpc R25,R30
022C 39F0 breq L74
022E 8C30 cpi R24,12
0230 E0E0 ldi R30,0
0232 9E07 cpc R25,R30
0234 09F0 breq L73
0236 05C0 xjmp L71
0238 X1:
0238 .dbline 180
0238 ; {
0238 L73:
0238 .dbline 181
0238 ; case 0x0C: key_num=4;break;
0238 64E0 ldi R22,4
023A .dbline 181
023A 03C0 xjmp L71
023C L74:
023C .dbline 182
023C ; case 0x09: key_num=5;break;
023C 65E0 ldi R22,5
023E .dbline 182
023E 01C0 xjmp L71
0240 L75:
0240 .dbline 183
0240 ; case 0x05: key_num=6;break;
0240 66E0 ldi R22,6
0242 .dbline 183
0242 .dbline 184
0242 ; default: break;
0242 L71:
0242 .dbline 186
0242 ; }
0242 ; key=((PIND&0x68)>>3);
0242 40B3 in R20,0x10
0244 4876 andi R20,104
0246 4695 lsr R20
0248 4695 lsr R20
024A 4695 lsr R20
024C 07C0 xjmp L78
024E L77:
024E .dbline 188
024E .dbline 189
024E 05E0 ldi R16,5
0250 DFDE xcall _delay_ms
0252 .dbline 190
0252 40B3 in R20,0x10
0254 4876 andi R20,104
0256 4695 lsr R20
0258 4695 lsr R20
025A 4695 lsr R20
025C .dbline 191
025C L78:
025C .dbline 187
025C ; while(key!=0x0D)
025C 4D30 cpi R20,13
025E B9F7 brne L77
0260 .dbline 192
0260 ; {
0260 ; delay_ms(5);
0260 ; key=((PIND&0x68)>>3);
0260 ; }
0260 ; }
0260 L68:
0260 .dbline 193
0260 ; }
0260 L66:
0260 .dbline 194
0260 ; PORTB|=BIT(PB5);
0260 C59A sbi 0x18,5
0262 .dbline 195
0262 ; PORTC|=BIT(PC0);
0262 A89A sbi 0x15,0
0264 .dbline 196
0264 ; PORTC&=~BIT(PC1);
0264 A998 cbi 0x15,1
0266 .dbline 197
0266 ; _NOP();
0266 0000 nop
0268 .dbline 198
0268 ; _NOP();
0268 0000 nop
026A .dbline 199
026A ; key=((PINB&0x68)>>3);
026A 46B3 in R20,0x16
026C 4876 andi R20,104
026E 4695 lsr R20
0270 4695 lsr R20
0272 4695 lsr R20
0274 .dbline 200
0274 ; if(key!=0x0D)
0274 4D30 cpi R20,13
0276 09F4 brne X5
0278 32C0 xjmp L80
027A X5:
027A .dbline 201
027A ; {
027A .dbline 202
027A ; delay_ms(40);
027A 08E2 ldi R16,40
027C C9DE xcall _delay_ms
027E .dbline 203
027E ; key=((PIND&0x68)>>3);
027E 40B3 in R20,0x10
0280 4876 andi R20,104
0282 4695 lsr R20
0284 4695 lsr R20
0286 4695 lsr R20
0288 .dbline 204
0288 ; if(key!=0x0D)
0288 4D30 cpi R20,13
028A 49F1 breq L82
028C .dbline 205
028C ; {
028C .dbline 206
028C ; switch(key)
028C A42E mov R10,R20
028E BB24 clr R11
0290 C501 movw R24,R10
0292 8530 cpi R24,5
0294 E0E0 ldi R30,0
0296 9E07 cpc R25,R30
0298 91F0 breq L89
029A 8530 cpi R24,5
029C E0E0 ldi R30,0
029E 9E07 cpc R25,R30
02A0 7CF0 brlt L85
02A2 L90:
02A2 C501 movw R24,R10
02A4 8930 cpi R24,9
02A6 E0E0 ldi R30,0
02A8 9E07 cpc R25,R30
02AA 39F0 breq L88
02AC 8C30 cpi R24,12
02AE E0E0 ldi R30,0
02B0 9E07 cpc R25,R30
02B2 09F0 breq L87
02B4 05C0 xjmp L85
02B6 X2:
02B6 .dbline 207
02B6 ; {
02B6 L87:
02B6 .dbline 208
02B6 ; case 0x0C: key_num=7;break;
02B6 67E0 ldi R22,7
02B8 .dbline 208
02B8 03C0 xjmp L85
02BA L88:
02BA .dbline 209
02BA ; case 0x09: key_num=8;break;
02BA 68E0 ldi R22,8
02BC .dbline 209
02BC 01C0 xjmp L85
02BE L89:
02BE .dbline 210
02BE ; case 0x05: key_num=9;break;
02BE 69E0 ldi R22,9
02C0 .dbline 210
02C0 .dbline 211
02C0 ; default: break;
02C0 L85:
02C0 .dbline 213
02C0 ; }
02C0 ; key=((PIND&0x68)>>3);
02C0 40B3 in R20,0x10
02C2 4876 andi R20,104
02C4 4695 lsr R20
02C6 4695 lsr R20
02C8 4695 lsr R20
02CA 07C0 xjmp L92
02CC L91:
02CC .dbline 215
02CC .dbline 216
02CC 05E0 ldi R16,5
02CE A0DE xcall _delay_ms
02D0 .dbline 217
02D0 40B3 in R20,0x10
02D2 4876 andi R20,104
02D4 4695 lsr R20
02D6 4695 lsr R20
02D8 4695 lsr R20
02DA .dbline 218
02DA L92:
02DA .dbline 214
02DA ; while(key!=0x0D)
02DA 4D30 cpi R20,13
02DC B9F7 brne L91
02DE .dbline 219
02DE ; {
02DE ; delay_ms(5);
02DE ; key=((PIND&0x68)>>3);
02DE ; }
02DE ; }
02DE L82:
02DE .dbline 220
02DE ; }
02DE L80:
02DE .dbline 221
02DE ; return key_num;
02DE 062F mov R16,R22
02E0 .dbline -2
02E0 L51:
02E0 0E940000 xcall pop_gset3
02E4 .dbline 0 ; func end
02E4 0895 ret
02E6 .dbsym r key_num 22 c
02E6 .dbsym r key 20 c
02E6 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -