⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lss

📁 4X4按键程序
💻 LSS
字号:

main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000010  00800100  00000198  0000022c  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         00000198  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          00000000  00800110  000001a8  0000023c  2**0
                  ALLOC
  3 .noinit       00000000  00800110  00800110  0000023c  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  0000023c  2**0
                  CONTENTS
  5 .stab         00000408  00000000  00000000  0000023c  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  00000644  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000014  00000000  00000000  000006c8  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 00000029  00000000  00000000  000006dc  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   00000179  00000000  00000000  00000705  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 000000ea  00000000  00000000  0000087e  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   00000162  00000000  00000000  00000968  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    000000b0  00000000  00000000  00000aca  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 46 00 	jmp	0x8c <__ctors_end>
   4:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
   8:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
   c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  10:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  14:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  18:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  1c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  20:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  24:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  28:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  2c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  30:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  34:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  38:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  3c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  40:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  44:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  48:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  4c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  50:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  54:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  58:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  5c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  60:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  64:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  68:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  6c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  70:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  74:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  78:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  7c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  80:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  84:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  88:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>

0000008c <__ctors_end>:
  8c:	11 24       	eor	r1, r1
  8e:	1f be       	out	0x3f, r1	; 63
  90:	cf ef       	ldi	r28, 0xFF	; 255
  92:	d0 e1       	ldi	r29, 0x10	; 16
  94:	de bf       	out	0x3e, r29	; 62
  96:	cd bf       	out	0x3d, r28	; 61

00000098 <__do_copy_data>:
  98:	11 e0       	ldi	r17, 0x01	; 1
  9a:	a0 e0       	ldi	r26, 0x00	; 0
  9c:	b1 e0       	ldi	r27, 0x01	; 1
  9e:	e8 e9       	ldi	r30, 0x98	; 152
  a0:	f1 e0       	ldi	r31, 0x01	; 1
  a2:	00 e0       	ldi	r16, 0x00	; 0
  a4:	0b bf       	out	0x3b, r16	; 59
  a6:	02 c0       	rjmp	.+4      	; 0xac <__do_copy_data+0x14>
  a8:	07 90       	elpm	r0, Z+
  aa:	0d 92       	st	X+, r0
  ac:	a0 31       	cpi	r26, 0x10	; 16
  ae:	b1 07       	cpc	r27, r17
  b0:	d9 f7       	brne	.-10     	; 0xa8 <__do_copy_data+0x10>

000000b2 <__do_clear_bss>:
  b2:	11 e0       	ldi	r17, 0x01	; 1
  b4:	a0 e1       	ldi	r26, 0x10	; 16
  b6:	b1 e0       	ldi	r27, 0x01	; 1
  b8:	01 c0       	rjmp	.+2      	; 0xbc <.do_clear_bss_start>

000000ba <.do_clear_bss_loop>:
  ba:	1d 92       	st	X+, r1

000000bc <.do_clear_bss_start>:
  bc:	a0 31       	cpi	r26, 0x10	; 16
  be:	b1 07       	cpc	r27, r17
  c0:	e1 f7       	brne	.-8      	; 0xba <.do_clear_bss_loop>
  c2:	0c 94 65 00 	jmp	0xca <main>

000000c6 <__bad_interrupt>:
  c6:	0c 94 00 00 	jmp	0x0 <__vectors>

000000ca <main>:
#include <avr/interrupt.h>
#include <avr/delay.h>
const unsigned char seg_table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
 void main (void)
{unsigned char i; 
  ca:	cf ef       	ldi	r28, 0xFF	; 255
  cc:	d0 e1       	ldi	r29, 0x10	; 16
  ce:	de bf       	out	0x3e, r29	; 62
  d0:	cd bf       	out	0x3d, r28	; 61
  DDRA=0Xff;
  d2:	2f ef       	ldi	r18, 0xFF	; 255
  d4:	2a bb       	out	0x1a, r18	; 26
  PORTA=0x00;
  d6:	1b ba       	out	0x1b, r1	; 27
  DDRC=0Xf0;
  d8:	90 ef       	ldi	r25, 0xF0	; 240
  da:	94 bb       	out	0x14, r25	; 20
  PORTC=0xe0; 
  dc:	80 ee       	ldi	r24, 0xE0	; 224
  de:	85 bb       	out	0x15, r24	; 21
  e0:	5f e0       	ldi	r21, 0x0F	; 15
  e2:	49 2f       	mov	r20, r25
  e4:	a4 ec       	ldi	r26, 0xC4	; 196
  e6:	b9 e0       	ldi	r27, 0x09	; 9
  e8:	c0 e0       	ldi	r28, 0x00	; 0
  ea:	d0 e0       	ldi	r29, 0x00	; 0
  do{
  DDRB = 0x0f;/*获取列地址*/
  ec:	57 bb       	out	0x17, r21	; 23
  PORTB = 0xf0;  
  ee:	48 bb       	out	0x18, r20	; 24
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  f0:	cd 01       	movw	r24, r26
  f2:	01 97       	sbiw	r24, 0x01	; 1
  f4:	f1 f7       	brne	.-4      	; 0xf2 <main+0x28>
  _delay_ms(10);
  i = PINB;
  f6:	36 b3       	in	r19, 0x16	; 22
  DDRB = 0xf0;/*获取行地址*/
  f8:	47 bb       	out	0x17, r20	; 23
  PORTB = 0x0f;
  fa:	58 bb       	out	0x18, r21	; 24
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  fc:	cd 01       	movw	r24, r26
  fe:	01 97       	sbiw	r24, 0x01	; 1
 100:	f1 f7       	brne	.-4      	; 0xfe <main+0x34>
  _delay_ms(10); 
  i |= PINB; 
 102:	86 b3       	in	r24, 0x16	; 22
 104:	38 2b       	or	r19, r24
  DDRD=0Xff;
 106:	21 bb       	out	0x11, r18	; 17
  PORTD=i;
 108:	32 bb       	out	0x12, r19	; 18
  DDRA=0Xff;
 10a:	2a bb       	out	0x1a, r18	; 26
  if (i==0xee)  PORTA=seg_table[0];
 10c:	3e 3e       	cpi	r19, 0xEE	; 238
 10e:	11 f4       	brne	.+4      	; 0x114 <main+0x4a>
 110:	80 ec       	ldi	r24, 0xC0	; 192
 112:	3b c0       	rjmp	.+118    	; 0x18a <main+0xc0>
  if (i==0xde)  PORTA=seg_table[1];
 114:	3e 3d       	cpi	r19, 0xDE	; 222
 116:	11 f4       	brne	.+4      	; 0x11c <main+0x52>
 118:	89 ef       	ldi	r24, 0xF9	; 249
 11a:	37 c0       	rjmp	.+110    	; 0x18a <main+0xc0>
  if (i==0xbe)  PORTA=seg_table[2];
 11c:	3e 3b       	cpi	r19, 0xBE	; 190
 11e:	11 f4       	brne	.+4      	; 0x124 <main+0x5a>
 120:	84 ea       	ldi	r24, 0xA4	; 164
 122:	33 c0       	rjmp	.+102    	; 0x18a <main+0xc0>
  if (i==0x7e)  PORTA=seg_table[3];
 124:	3e 37       	cpi	r19, 0x7E	; 126
 126:	11 f4       	brne	.+4      	; 0x12c <main+0x62>
 128:	80 eb       	ldi	r24, 0xB0	; 176
 12a:	2f c0       	rjmp	.+94     	; 0x18a <main+0xc0>
  if (i==0xed)  PORTA=seg_table[4];
 12c:	3d 3e       	cpi	r19, 0xED	; 237
 12e:	11 f4       	brne	.+4      	; 0x134 <main+0x6a>
 130:	89 e9       	ldi	r24, 0x99	; 153
 132:	2b c0       	rjmp	.+86     	; 0x18a <main+0xc0>
  if (i==0xdd)  PORTA=seg_table[5];
 134:	3d 3d       	cpi	r19, 0xDD	; 221
 136:	11 f4       	brne	.+4      	; 0x13c <main+0x72>
 138:	82 e9       	ldi	r24, 0x92	; 146
 13a:	27 c0       	rjmp	.+78     	; 0x18a <main+0xc0>
  if (i==0xbd)  PORTA=seg_table[6];
 13c:	3d 3b       	cpi	r19, 0xBD	; 189
 13e:	11 f4       	brne	.+4      	; 0x144 <main+0x7a>
 140:	82 e8       	ldi	r24, 0x82	; 130
 142:	23 c0       	rjmp	.+70     	; 0x18a <main+0xc0>
  if (i==0x7d)  PORTA=seg_table[7];
 144:	3d 37       	cpi	r19, 0x7D	; 125
 146:	11 f4       	brne	.+4      	; 0x14c <main+0x82>
 148:	88 ef       	ldi	r24, 0xF8	; 248
 14a:	1f c0       	rjmp	.+62     	; 0x18a <main+0xc0>
  if (i==0xeb)  PORTA=seg_table[8];
 14c:	3b 3e       	cpi	r19, 0xEB	; 235
 14e:	11 f4       	brne	.+4      	; 0x154 <main+0x8a>
 150:	80 e8       	ldi	r24, 0x80	; 128
 152:	1b c0       	rjmp	.+54     	; 0x18a <main+0xc0>
  if (i==0xdb)  PORTA=seg_table[9];
 154:	3b 3d       	cpi	r19, 0xDB	; 219
 156:	11 f4       	brne	.+4      	; 0x15c <main+0x92>
 158:	80 e9       	ldi	r24, 0x90	; 144
 15a:	17 c0       	rjmp	.+46     	; 0x18a <main+0xc0>
  if (i==0xbb)  PORTA=seg_table[10];
 15c:	3b 3b       	cpi	r19, 0xBB	; 187
 15e:	11 f4       	brne	.+4      	; 0x164 <main+0x9a>
 160:	88 e8       	ldi	r24, 0x88	; 136
 162:	13 c0       	rjmp	.+38     	; 0x18a <main+0xc0>
  if (i==0x7b)  PORTA=seg_table[11];
 164:	3b 37       	cpi	r19, 0x7B	; 123
 166:	11 f4       	brne	.+4      	; 0x16c <main+0xa2>
 168:	83 e8       	ldi	r24, 0x83	; 131
 16a:	0f c0       	rjmp	.+30     	; 0x18a <main+0xc0>
  if (i==0xe7)  PORTA=seg_table[12];
 16c:	37 3e       	cpi	r19, 0xE7	; 231
 16e:	11 f4       	brne	.+4      	; 0x174 <main+0xaa>
 170:	86 ec       	ldi	r24, 0xC6	; 198
 172:	0b c0       	rjmp	.+22     	; 0x18a <main+0xc0>
  if (i==0xd7)  PORTA=seg_table[13];
 174:	37 3d       	cpi	r19, 0xD7	; 215
 176:	11 f4       	brne	.+4      	; 0x17c <main+0xb2>
 178:	81 ea       	ldi	r24, 0xA1	; 161
 17a:	07 c0       	rjmp	.+14     	; 0x18a <main+0xc0>
  if (i==0xb7)  PORTA=seg_table[14];
 17c:	37 3b       	cpi	r19, 0xB7	; 183
 17e:	11 f4       	brne	.+4      	; 0x184 <main+0xba>
 180:	86 e8       	ldi	r24, 0x86	; 134
 182:	03 c0       	rjmp	.+6      	; 0x18a <main+0xc0>
  if (i==0x77)  PORTA=seg_table[15];
 184:	37 37       	cpi	r19, 0x77	; 119
 186:	19 f4       	brne	.+6      	; 0x18e <main+0xc4>
 188:	8e e8       	ldi	r24, 0x8E	; 142
 18a:	8b bb       	out	0x1b, r24	; 27
 18c:	af cf       	rjmp	.-162    	; 0xec <main+0x22>
  if (i==0xff)  PORTA=0x00;
 18e:	3f 3f       	cpi	r19, 0xFF	; 255
 190:	09 f0       	breq	.+2      	; 0x194 <main+0xca>
 192:	ac cf       	rjmp	.-168    	; 0xec <main+0x22>
 194:	1b ba       	out	0x1b, r1	; 27
  } while(1);
 196:	aa cf       	rjmp	.-172    	; 0xec <main+0x22>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -