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

📄 main.lss

📁 ATmaga128单片机数码管显示程序 可以在任意位显示(0到f)的任意数字字符
💻 LSS
字号:

main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000010  00800100  00000240  000002d4  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         00000240  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          00000000  00800110  00000250  000002e4  2**0
                  ALLOC
  3 .noinit       00000000  00800110  00800110  000002e4  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  000002e4  2**0
                  CONTENTS
  5 .stab         00000408  00000000  00000000  000002e4  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  000006ec  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000014  00000000  00000000  00000770  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 00000048  00000000  00000000  00000784  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   00000126  00000000  00000000  000007cc  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 000000a0  00000000  00000000  000008f2  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   00000196  00000000  00000000  00000992  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    000000b9  00000000  00000000  00000b28  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:	e0 e4       	ldi	r30, 0x40	; 64
  a0:	f2 e0       	ldi	r31, 0x02	; 2
  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 97 00 	jmp	0x12e <main>

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

000000ca <display_one_smg>:
返回值  : 无
*/
void display_one_smg(uchar num,uchar pos)
{
	SMG_INIT();
  ca:	94 b3       	in	r25, 0x14	; 20
  cc:	9f ef       	ldi	r25, 0xFF	; 255
  ce:	94 bb       	out	0x14, r25	; 20
  d0:	91 b3       	in	r25, 0x11	; 17
  d2:	90 6f       	ori	r25, 0xF0	; 240
  d4:	91 bb       	out	0x11, r25	; 17
	PORTD &= 0x0F;
  d6:	92 b3       	in	r25, 0x12	; 18
  d8:	9f 70       	andi	r25, 0x0F	; 15
  da:	92 bb       	out	0x12, r25	; 18
	PORTC = ~SEGMENT[num];
  dc:	e0 e0       	ldi	r30, 0x00	; 0
  de:	f1 e0       	ldi	r31, 0x01	; 1
  e0:	e8 0f       	add	r30, r24
  e2:	f1 1d       	adc	r31, r1
  e4:	80 81       	ld	r24, Z
  e6:	80 95       	com	r24
  e8:	85 bb       	out	0x15, r24	; 21
	PORTD = (PORTD|(1<<(pos+4)));
  ea:	86 2f       	mov	r24, r22
  ec:	99 27       	eor	r25, r25
  ee:	04 96       	adiw	r24, 0x04	; 4
  f0:	21 e0       	ldi	r18, 0x01	; 1
  f2:	30 e0       	ldi	r19, 0x00	; 0
  f4:	02 c0       	rjmp	.+4      	; 0xfa <display_one_smg+0x30>
  f6:	22 0f       	add	r18, r18
  f8:	33 1f       	adc	r19, r19
  fa:	8a 95       	dec	r24
  fc:	e2 f7       	brpl	.-8      	; 0xf6 <display_one_smg+0x2c>
  fe:	82 b3       	in	r24, 0x12	; 18
 100:	82 2b       	or	r24, r18
 102:	82 bb       	out	0x12, r24	; 18
 104:	08 95       	ret

00000106 <delay_ms>:
}
void delay_ms(uint ms)
{
    uint i,j;
		while(ms --)
	{
		for ( i = 0 ; i < 5 ; i ++)
 106:	01 97       	sbiw	r24, 0x01	; 1
 108:	2f ef       	ldi	r18, 0xFF	; 255
 10a:	8f 3f       	cpi	r24, 0xFF	; 255
 10c:	92 07       	cpc	r25, r18
 10e:	71 f0       	breq	.+28     	; 0x12c <delay_ms+0x26>
 110:	40 e0       	ldi	r20, 0x00	; 0
 112:	50 e0       	ldi	r21, 0x00	; 0
 114:	2f ee       	ldi	r18, 0xEF	; 239
 116:	35 e5       	ldi	r19, 0x55	; 85
		{
		for ( j = 0 ; j < 22000 ; j ++)
 118:	22 53       	subi	r18, 0x32	; 50
 11a:	30 40       	sbci	r19, 0x00	; 0
 11c:	37 ff       	sbrs	r19, 7
 11e:	fc cf       	rjmp	.-8      	; 0x118 <delay_ms+0x12>
 120:	4f 5f       	subi	r20, 0xFF	; 255
 122:	5f 4f       	sbci	r21, 0xFF	; 255
 124:	45 30       	cpi	r20, 0x05	; 5
 126:	51 05       	cpc	r21, r1
 128:	a8 f3       	brcs	.-22     	; 0x114 <delay_ms+0xe>
 12a:	ed cf       	rjmp	.-38     	; 0x106 <delay_ms>
 12c:	08 95       	ret

0000012e <main>:
		{}
		}
	}	
}
int main(void)
{  
 12e:	cf ef       	ldi	r28, 0xFF	; 255
 130:	d0 e1       	ldi	r29, 0x10	; 16
 132:	de bf       	out	0x3e, r29	; 62
 134:	cd bf       	out	0x3d, r28	; 61

   while (1)
	{
	display_one_smg(1,0);
 136:	60 e0       	ldi	r22, 0x00	; 0
 138:	81 e0       	ldi	r24, 0x01	; 1
 13a:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 13e:	88 ee       	ldi	r24, 0xE8	; 232
 140:	93 e0       	ldi	r25, 0x03	; 3
 142:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(2,1);
 146:	61 e0       	ldi	r22, 0x01	; 1
 148:	82 e0       	ldi	r24, 0x02	; 2
 14a:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 14e:	88 ee       	ldi	r24, 0xE8	; 232
 150:	93 e0       	ldi	r25, 0x03	; 3
 152:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(3,2);
 156:	62 e0       	ldi	r22, 0x02	; 2
 158:	83 e0       	ldi	r24, 0x03	; 3
 15a:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 15e:	88 ee       	ldi	r24, 0xE8	; 232
 160:	93 e0       	ldi	r25, 0x03	; 3
 162:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(4,3);
 166:	63 e0       	ldi	r22, 0x03	; 3
 168:	84 e0       	ldi	r24, 0x04	; 4
 16a:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 16e:	88 ee       	ldi	r24, 0xE8	; 232
 170:	93 e0       	ldi	r25, 0x03	; 3
 172:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(5,0);
 176:	60 e0       	ldi	r22, 0x00	; 0
 178:	85 e0       	ldi	r24, 0x05	; 5
 17a:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 17e:	88 ee       	ldi	r24, 0xE8	; 232
 180:	93 e0       	ldi	r25, 0x03	; 3
 182:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(6,1);
 186:	61 e0       	ldi	r22, 0x01	; 1
 188:	86 e0       	ldi	r24, 0x06	; 6
 18a:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 18e:	88 ee       	ldi	r24, 0xE8	; 232
 190:	93 e0       	ldi	r25, 0x03	; 3
 192:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(7,2);
 196:	62 e0       	ldi	r22, 0x02	; 2
 198:	87 e0       	ldi	r24, 0x07	; 7
 19a:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 19e:	88 ee       	ldi	r24, 0xE8	; 232
 1a0:	93 e0       	ldi	r25, 0x03	; 3
 1a2:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(8,3);
 1a6:	63 e0       	ldi	r22, 0x03	; 3
 1a8:	88 e0       	ldi	r24, 0x08	; 8
 1aa:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 1ae:	88 ee       	ldi	r24, 0xE8	; 232
 1b0:	93 e0       	ldi	r25, 0x03	; 3
 1b2:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(9,0);
 1b6:	60 e0       	ldi	r22, 0x00	; 0
 1b8:	89 e0       	ldi	r24, 0x09	; 9
 1ba:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 1be:	88 ee       	ldi	r24, 0xE8	; 232
 1c0:	93 e0       	ldi	r25, 0x03	; 3
 1c2:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(10,1);
 1c6:	61 e0       	ldi	r22, 0x01	; 1
 1c8:	8a e0       	ldi	r24, 0x0A	; 10
 1ca:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 1ce:	88 ee       	ldi	r24, 0xE8	; 232
 1d0:	93 e0       	ldi	r25, 0x03	; 3
 1d2:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(11,2);
 1d6:	62 e0       	ldi	r22, 0x02	; 2
 1d8:	8b e0       	ldi	r24, 0x0B	; 11
 1da:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 1de:	88 ee       	ldi	r24, 0xE8	; 232
 1e0:	93 e0       	ldi	r25, 0x03	; 3
 1e2:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(12,3);
 1e6:	63 e0       	ldi	r22, 0x03	; 3
 1e8:	8c e0       	ldi	r24, 0x0C	; 12
 1ea:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 1ee:	88 ee       	ldi	r24, 0xE8	; 232
 1f0:	93 e0       	ldi	r25, 0x03	; 3
 1f2:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(13,0);
 1f6:	60 e0       	ldi	r22, 0x00	; 0
 1f8:	8d e0       	ldi	r24, 0x0D	; 13
 1fa:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 1fe:	88 ee       	ldi	r24, 0xE8	; 232
 200:	93 e0       	ldi	r25, 0x03	; 3
 202:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(14,1);
 206:	61 e0       	ldi	r22, 0x01	; 1
 208:	8e e0       	ldi	r24, 0x0E	; 14
 20a:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 20e:	88 ee       	ldi	r24, 0xE8	; 232
 210:	93 e0       	ldi	r25, 0x03	; 3
 212:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(15,2);
 216:	62 e0       	ldi	r22, 0x02	; 2
 218:	8f e0       	ldi	r24, 0x0F	; 15
 21a:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 21e:	88 ee       	ldi	r24, 0xE8	; 232
 220:	93 e0       	ldi	r25, 0x03	; 3
 222:	0e 94 83 00 	call	0x106 <delay_ms>
	display_one_smg(0,3);
 226:	63 e0       	ldi	r22, 0x03	; 3
 228:	80 e0       	ldi	r24, 0x00	; 0
 22a:	0e 94 65 00 	call	0xca <display_one_smg>
	delay_ms(1000);
 22e:	88 ee       	ldi	r24, 0xE8	; 232
 230:	93 e0       	ldi	r25, 0x03	; 3
 232:	0e 94 83 00 	call	0x106 <delay_ms>
	delay_ms(1000);
 236:	88 ee       	ldi	r24, 0xE8	; 232
 238:	93 e0       	ldi	r25, 0x03	; 3
 23a:	0e 94 83 00 	call	0x106 <delay_ms>
 23e:	7b cf       	rjmp	.-266    	; 0x136 <main+0x8>

⌨️ 快捷键说明

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