📄 keyboard.lss
字号:
keyboard.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000246 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 00000246 000002da 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000008 00800060 00800060 000002da 2**0
ALLOC
3 .noinit 00000000 00800068 00800068 000002da 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 000002da 2**0
CONTENTS
5 .stab 0000036c 00000000 00000000 000002dc 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 00000084 00000000 00000000 00000648 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000014 00000000 00000000 000006cc 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_pubnames 0000004b 00000000 00000000 000006e0 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_info 000002cf 00000000 00000000 0000072b 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_abbrev 0000013d 00000000 00000000 000009fa 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_line 0000028b 00000000 00000000 00000b37 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_str 0000015a 00000000 00000000 00000dc2 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 32 00 jmp 0x64 <__init>
4: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
8: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
10: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
14: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
18: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
1c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
20: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
24: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
28: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
2c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
30: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
34: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
38: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
3c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
40: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
44: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
48: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
4c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
50: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
00000054 <SegCode>:
54: 3f 06 5b 4f 66 6d 7d 07 7f 6f 77 7c 39 5e 79 71 ?.[Ofm}..ow|9^yq
00000064 <__init>:
64: 11 24 eor r1, r1
66: 1f be out 0x3f, r1 ; 63
68: cf e5 ldi r28, 0x5F ; 95
6a: d4 e0 ldi r29, 0x04 ; 4
6c: de bf out 0x3e, r29 ; 62
6e: cd bf out 0x3d, r28 ; 61
00000070 <__do_copy_data>:
70: 10 e0 ldi r17, 0x00 ; 0
72: a0 e6 ldi r26, 0x60 ; 96
74: b0 e0 ldi r27, 0x00 ; 0
76: e6 e4 ldi r30, 0x46 ; 70
78: f2 e0 ldi r31, 0x02 ; 2
7a: 02 c0 rjmp .+4 ; 0x80 <.do_copy_data_start>
0000007c <.do_copy_data_loop>:
7c: 05 90 lpm r0, Z+
7e: 0d 92 st X+, r0
00000080 <.do_copy_data_start>:
80: a0 36 cpi r26, 0x60 ; 96
82: b1 07 cpc r27, r17
84: d9 f7 brne .-10 ; 0x7c <.do_copy_data_loop>
00000086 <__do_clear_bss>:
86: 10 e0 ldi r17, 0x00 ; 0
88: a0 e6 ldi r26, 0x60 ; 96
8a: b0 e0 ldi r27, 0x00 ; 0
8c: 01 c0 rjmp .+2 ; 0x90 <.do_clear_bss_start>
0000008e <.do_clear_bss_loop>:
8e: 1d 92 st X+, r1
00000090 <.do_clear_bss_start>:
90: a8 36 cpi r26, 0x68 ; 104
92: b1 07 cpc r27, r17
94: e1 f7 brne .-8 ; 0x8e <.do_clear_bss_loop>
96: 0c 94 09 01 jmp 0x212 <main>
0000009a <__bad_interrupt>:
9a: 0c 94 00 00 jmp 0x0 <__vectors>
0000009e <Get_Key>:
unsigned char KEY_Number;
#ifndef _USE_SCAN_METHOD
////////////////////////////////线反转法/////////////////////
DDRx_KEY =0x0F;
9e: 4f e0 ldi r20, 0x0F ; 15
a0: 41 bb out 0x11, r20 ; 17
PORTx_KEY=0xF0;
a2: 30 ef ldi r19, 0xF0 ; 240
a4: 32 bb out 0x12, r19 ; 18
__ticks = 1;
else if (__tmp > 65535)
__ticks = 0; /* i.e. 65536 */
else
__ticks = (uint16_t)__tmp;
a6: 80 ed ldi r24, 0xD0 ; 208
a8: 97 e0 ldi r25, 0x07 ; 7
aa: fc 01 movw r30, r24
ac: 31 97 sbiw r30, 0x01 ; 1
ae: f1 f7 brne .-4 ; 0xac <Get_Key+0xe>
_delay_ms(1);
temp1=PINx_KEY;
b0: 20 b3 in r18, 0x10 ; 16
DDRx_KEY =0xF0;
b2: 31 bb out 0x11, r19 ; 17
PORTx_KEY=0x0F;
b4: 42 bb out 0x12, r20 ; 18
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
b6: 01 97 sbiw r24, 0x01 ; 1
b8: f1 f7 brne .-4 ; 0xb6 <Get_Key+0x18>
_delay_ms(1);
temp2=PINx_KEY;
ba: 80 b3 in r24, 0x10 ; 16
temp=(temp1&0xF0)+(temp2&0x0F);
bc: 23 23 and r18, r19
be: 84 23 and r24, r20
c0: 28 0f add r18, r24
#else
//////////////////////////扫描法///////////////////////////////
unsigned char i;
DDRx_KEY =0x0F;
PORTx_KEY =0xF0;
asm("nop");//
if((PINx_KEY&0xF0)!=0xF0)
{
_delay_ms(5);
if((PINx_KEY&0xF0)!=0xF0)
{
for(i=0;i<4;i++)
{
temp1 =~(1<<i);
PORTx_KEY =temp1;
asm("nop");//一定得加!也可加小延时。
if((PINx_KEY & 0xF0)!=0xF0)
{
temp2=PINx_KEY;
temp=(temp1 & 0x0F)+(temp2 & 0xF0);
}
}
}
}
#endif
switch(temp)
c2: 33 27 eor r19, r19
c4: 2e 3b cpi r18, 0xBE ; 190
c6: 31 05 cpc r19, r1
c8: 09 f4 brne .+2 ; 0xcc <Get_Key+0x2e>
ca: 53 c0 rjmp .+166 ; 0x172 <Get_Key+0xd4>
cc: 2f 3b cpi r18, 0xBF ; 191
ce: 31 05 cpc r19, r1
d0: 44 f5 brge .+80 ; 0x122 <Get_Key+0x84>
d2: 2e 37 cpi r18, 0x7E ; 126
d4: 31 05 cpc r19, r1
d6: 09 f4 brne .+2 ; 0xda <Get_Key+0x3c>
d8: 4e c0 rjmp .+156 ; 0x176 <Get_Key+0xd8>
da: 2f 37 cpi r18, 0x7F ; 127
dc: 31 05 cpc r19, r1
de: 8c f4 brge .+34 ; 0x102 <Get_Key+0x64>
e0: 2b 37 cpi r18, 0x7B ; 123
e2: 31 05 cpc r19, r1
e4: 09 f4 brne .+2 ; 0xe8 <Get_Key+0x4a>
e6: 57 c0 rjmp .+174 ; 0x196 <Get_Key+0xf8>
e8: 2c 37 cpi r18, 0x7C ; 124
ea: 31 05 cpc r19, r1
ec: 2c f4 brge .+10 ; 0xf8 <Get_Key+0x5a>
ee: 27 37 cpi r18, 0x77 ; 119
f0: 31 05 cpc r19, r1
f2: 09 f4 brne .+2 ; 0xf6 <Get_Key+0x58>
f4: 58 c0 rjmp .+176 ; 0x1a6 <Get_Key+0x108>
f6: 59 c0 rjmp .+178 ; 0x1aa <Get_Key+0x10c>
f8: 2d 37 cpi r18, 0x7D ; 125
fa: 31 05 cpc r19, r1
fc: 09 f4 brne .+2 ; 0x100 <Get_Key+0x62>
fe: 43 c0 rjmp .+134 ; 0x186 <Get_Key+0xe8>
100: 54 c0 rjmp .+168 ; 0x1aa <Get_Key+0x10c>
102: 2b 3b cpi r18, 0xBB ; 187
104: 31 05 cpc r19, r1
106: 09 f4 brne .+2 ; 0x10a <Get_Key+0x6c>
108: 44 c0 rjmp .+136 ; 0x192 <Get_Key+0xf4>
10a: 2c 3b cpi r18, 0xBC ; 188
10c: 31 05 cpc r19, r1
10e: 2c f4 brge .+10 ; 0x11a <Get_Key+0x7c>
110: 27 3b cpi r18, 0xB7 ; 183
112: 31 05 cpc r19, r1
114: 09 f4 brne .+2 ; 0x118 <Get_Key+0x7a>
116: 45 c0 rjmp .+138 ; 0x1a2 <Get_Key+0x104>
118: 48 c0 rjmp .+144 ; 0x1aa <Get_Key+0x10c>
11a: 2d 3b cpi r18, 0xBD ; 189
11c: 31 05 cpc r19, r1
11e: 89 f1 breq .+98 ; 0x182 <Get_Key+0xe4>
120: 44 c0 rjmp .+136 ; 0x1aa <Get_Key+0x10c>
122: 2e 3d cpi r18, 0xDE ; 222
124: 31 05 cpc r19, r1
126: 19 f1 breq .+70 ; 0x16e <Get_Key+0xd0>
128: 2f 3d cpi r18, 0xDF ; 223
12a: 31 05 cpc r19, r1
12c: 74 f4 brge .+28 ; 0x14a <Get_Key+0xac>
12e: 2b 3d cpi r18, 0xDB ; 219
130: 31 05 cpc r19, r1
132: 69 f1 breq .+90 ; 0x18e <Get_Key+0xf0>
134: 2c 3d cpi r18, 0xDC ; 220
136: 31 05 cpc r19, r1
138: 24 f4 brge .+8 ; 0x142 <Get_Key+0xa4>
13a: 27 3d cpi r18, 0xD7 ; 215
13c: 31 05 cpc r19, r1
13e: 79 f1 breq .+94 ; 0x19e <Get_Key+0x100>
140: 34 c0 rjmp .+104 ; 0x1aa <Get_Key+0x10c>
142: 2d 3d cpi r18, 0xDD ; 221
144: 31 05 cpc r19, r1
146: d9 f0 breq .+54 ; 0x17e <Get_Key+0xe0>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -