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

📄 testpp.lss

📁 AVR单片机的串口通信程序,GCC环境下编译的
💻 LSS
字号:

testpp.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000132  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  00000132  000001c6  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000000  00800060  00000132  000001c6  2**0
                  ALLOC
  3 .noinit       00000000  00800060  00800060  000001c6  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  000001c6  2**0
                  CONTENTS
  5 .stab         0000036c  00000000  00000000  000001c8  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  00000534  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000014  00000000  00000000  000005b8  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 0000003a  00000000  00000000  000005cc  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   000000fb  00000000  00000000  00000606  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 0000009b  00000000  00000000  00000701  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   000000e3  00000000  00000000  0000079c  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    00000068  00000000  00000000  0000087f  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 2a 00 	jmp	0x54 <__ctors_end>
   4:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
   8:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
   c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  10:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  14:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  18:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  1c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  20:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  24:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  28:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  2c:	0c 94 5b 00 	jmp	0xb6 <__vector_11>
  30:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  34:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  38:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  3c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  40:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  44:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  48:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  4c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  50:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>

00000054 <__ctors_end>:
  54:	11 24       	eor	r1, r1
  56:	1f be       	out	0x3f, r1	; 63
  58:	cf e5       	ldi	r28, 0x5F	; 95
  5a:	d4 e0       	ldi	r29, 0x04	; 4
  5c:	de bf       	out	0x3e, r29	; 62
  5e:	cd bf       	out	0x3d, r28	; 61

00000060 <__do_copy_data>:
  60:	10 e0       	ldi	r17, 0x00	; 0
  62:	a0 e6       	ldi	r26, 0x60	; 96
  64:	b0 e0       	ldi	r27, 0x00	; 0
  66:	e2 e3       	ldi	r30, 0x32	; 50
  68:	f1 e0       	ldi	r31, 0x01	; 1
  6a:	02 c0       	rjmp	.+4      	; 0x70 <.do_copy_data_start>

0000006c <.do_copy_data_loop>:
  6c:	05 90       	lpm	r0, Z+
  6e:	0d 92       	st	X+, r0

00000070 <.do_copy_data_start>:
  70:	a0 36       	cpi	r26, 0x60	; 96
  72:	b1 07       	cpc	r27, r17
  74:	d9 f7       	brne	.-10     	; 0x6c <.do_copy_data_loop>

00000076 <__do_clear_bss>:
  76:	10 e0       	ldi	r17, 0x00	; 0
  78:	a0 e6       	ldi	r26, 0x60	; 96
  7a:	b0 e0       	ldi	r27, 0x00	; 0
  7c:	01 c0       	rjmp	.+2      	; 0x80 <.do_clear_bss_start>

0000007e <.do_clear_bss_loop>:
  7e:	1d 92       	st	X+, r1

00000080 <.do_clear_bss_start>:
  80:	a0 36       	cpi	r26, 0x60	; 96
  82:	b1 07       	cpc	r27, r17
  84:	e1 f7       	brne	.-8      	; 0x7e <.do_clear_bss_loop>
  86:	0c 94 4f 00 	jmp	0x9e <main>

0000008a <__bad_interrupt>:
  8a:	0c 94 00 00 	jmp	0x0 <__vectors>

0000008e <usart_init>:

void usart_init(void)
{
	//设置波特率
	UBRRL=51;	//9600bps,8M
  8e:	83 e3       	ldi	r24, 0x33	; 51
  90:	89 b9       	out	0x09, r24	; 9
	UCSRB= _BV(RXEN) | _BV(TXEN) | _BV(RXCIE);		//发送使能
  92:	88 e9       	ldi	r24, 0x98	; 152
  94:	8a b9       	out	0x0a, r24	; 10
	
	UCSRC= _BV(URSEL) | _BV(UCSZ1) | _BV(UCSZ0);//8位数据
  96:	86 e8       	ldi	r24, 0x86	; 134
  98:	80 bd       	out	0x20, r24	; 32
	
	sei();//开中断
  9a:	78 94       	sei
  9c:	08 95       	ret

0000009e <main>:
}

main()
{
  9e:	cf e5       	ldi	r28, 0x5F	; 95
  a0:	d4 e0       	ldi	r29, 0x04	; 4
  a2:	de bf       	out	0x3e, r29	; 62
  a4:	cd bf       	out	0x3d, r28	; 61
	unsigned char i;
	unsigned int j;
	usart_init();
  a6:	0e 94 47 00 	call	0x8e <usart_init>
  aa:	8f e0       	ldi	r24, 0x0F	; 15
  ac:	97 e2       	ldi	r25, 0x27	; 39
	while(1)
	{		
		//UDR=i;
		//while(!(UCSRA & _BV(TXC)));//等待发送完
		//UCSRA |= _BV(TXC);
		for(j=0;j<10000;j++);
  ae:	c2 97       	sbiw	r24, 0x32	; 50
  b0:	97 ff       	sbrs	r25, 7
  b2:	fd cf       	rjmp	.-6      	; 0xae <main+0x10>
		i++;
  b4:	fa cf       	rjmp	.-12     	; 0xaa <main+0xc>

000000b6 <__vector_11>:
	}
}
SIGNAL(SIG_USART_RECV)	//串口接收中断
{
  b6:	1f 92       	push	r1
  b8:	0f 92       	push	r0
  ba:	0f b6       	in	r0, 0x3f	; 63
  bc:	0f 92       	push	r0
  be:	11 24       	eor	r1, r1
  c0:	2f 93       	push	r18
  c2:	3f 93       	push	r19
  c4:	8f 93       	push	r24
  c6:	9f 93       	push	r25
  c8:	ef 93       	push	r30
  ca:	ff 93       	push	r31
  cc:	cf 93       	push	r28
  ce:	df 93       	push	r29
  d0:	cd b7       	in	r28, 0x3d	; 61
  d2:	de b7       	in	r29, 0x3e	; 62
  d4:	2a 97       	sbiw	r28, 0x0a	; 10
  d6:	de bf       	out	0x3e, r29	; 62
  d8:	cd bf       	out	0x3d, r28	; 61
	unsigned char tmp=0x34;
	unsigned char i;
	unsigned char tbl[10];
	//while(UCSRA & _BV(RXC));
	//UCSRA |= _BV(RXC);
	
	tbl[0]=UDR;
  da:	8c b1       	in	r24, 0x0c	; 12
  dc:	89 83       	std	Y+1, r24	; 0x01
	for(i=1;i<10;i++)	
  de:	91 e0       	ldi	r25, 0x01	; 1
	{
		while(!(UCSRA & _BV(RXC)));//接收完毕
  e0:	5f 9b       	sbis	0x0b, 7	; 11
  e2:	fe cf       	rjmp	.-4      	; 0xe0 <__vector_11+0x2a>
		tbl[i]=UDR;		
  e4:	9e 01       	movw	r18, r28
  e6:	2f 5f       	subi	r18, 0xFF	; 255
  e8:	3f 4f       	sbci	r19, 0xFF	; 255
  ea:	f9 01       	movw	r30, r18
  ec:	e9 0f       	add	r30, r25
  ee:	f1 1d       	adc	r31, r1
  f0:	8c b1       	in	r24, 0x0c	; 12
  f2:	80 83       	st	Z, r24
  f4:	9f 5f       	subi	r25, 0xFF	; 255
  f6:	9a 30       	cpi	r25, 0x0A	; 10
  f8:	98 f3       	brcs	.-26     	; 0xe0 <__vector_11+0x2a>
  fa:	90 e0       	ldi	r25, 0x00	; 0
	}	
	
	for(i=0;i<10;i++)	
	{
		UDR=tbl[i];
  fc:	f9 01       	movw	r30, r18
  fe:	e9 0f       	add	r30, r25
 100:	f1 1d       	adc	r31, r1
 102:	80 81       	ld	r24, Z
 104:	8c b9       	out	0x0c, r24	; 12
		while(!(UCSRA & _BV(TXC)));//等待发送完
 106:	5e 9b       	sbis	0x0b, 6	; 11
 108:	fe cf       	rjmp	.-4      	; 0x106 <__vector_11+0x50>
 10a:	9f 5f       	subi	r25, 0xFF	; 255
 10c:	9a 30       	cpi	r25, 0x0A	; 10
 10e:	b0 f3       	brcs	.-20     	; 0xfc <__vector_11+0x46>
 110:	2a 96       	adiw	r28, 0x0a	; 10
 112:	f8 94       	cli
 114:	de bf       	out	0x3e, r29	; 62
 116:	cd bf       	out	0x3d, r28	; 61
 118:	df 91       	pop	r29
 11a:	cf 91       	pop	r28
 11c:	ff 91       	pop	r31
 11e:	ef 91       	pop	r30
 120:	9f 91       	pop	r25
 122:	8f 91       	pop	r24
 124:	3f 91       	pop	r19
 126:	2f 91       	pop	r18
 128:	0f 90       	pop	r0
 12a:	0f be       	out	0x3f, r0	; 63
 12c:	0f 90       	pop	r0
 12e:	1f 90       	pop	r1
 130:	18 95       	reti

⌨️ 快捷键说明

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