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

📄 testpp.lss

📁 使用AVR_MEGA16驱动TA8435H的源代码
💻 LSS
字号:

testpp.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000106  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  00000106  0000019a  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000000  00800060  00000106  0000019a  2**0
                  ALLOC
  3 .noinit       00000000  00800060  00800060  0000019a  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  0000019a  2**0
                  CONTENTS
  5 .stab         0000036c  00000000  00000000  0000019c  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  00000508  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000014  00000000  00000000  0000058c  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 0000003f  00000000  00000000  000005a0  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   0000012b  00000000  00000000  000005df  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 000000e6  00000000  00000000  0000070a  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   000001b4  00000000  00000000  000007f0  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    000000b4  00000000  00000000  000009a4  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 45 00 	jmp	0x8a <__bad_interrupt>
  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:	e6 e0       	ldi	r30, 0x06	; 6
  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 58 00 	jmp	0xb0 <main>

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

0000008e <usart_putchar>:
#define CW_CWW       PD3
#define ENABLE_L     PD2

void usart_putchar(uchar data)
{
  8e:	cf 93       	push	r28
  90:	c8 2f       	mov	r28, r24
    if(data=='\n')
  92:	8a 30       	cpi	r24, 0x0A	; 10
  94:	19 f4       	brne	.+6      	; 0x9c <usart_putchar+0xe>
	{
      usart_putchar('\r');
  96:	8d e0       	ldi	r24, 0x0D	; 13
  98:	0e 94 47 00 	call	0x8e <usart_putchar>
	}
    while(!(UCSRA & (1<<UDRE)));
  9c:	5d 9b       	sbis	0x0b, 5	; 11
  9e:	fe cf       	rjmp	.-4      	; 0x9c <usart_putchar+0xe>
    UDR=data;
  a0:	cc b9       	out	0x0c, r28	; 12
  a2:	cf 91       	pop	r28
  a4:	08 95       	ret

000000a6 <usart_getchar>:
}

uchar usart_getchar(void)
{ 
    while(!(UCSRA & (1<<RXC)));
  a6:	5f 9b       	sbis	0x0b, 7	; 11
  a8:	fe cf       	rjmp	.-4      	; 0xa6 <usart_getchar>
    return UDR;
  aa:	8c b1       	in	r24, 0x0c	; 12
}
  ac:	99 27       	eor	r25, r25
  ae:	08 95       	ret

000000b0 <main>:


int main(void)
{
  b0:	cf e5       	ldi	r28, 0x5F	; 95
  b2:	d4 e0       	ldi	r29, 0x04	; 4
  b4:	de bf       	out	0x3e, r29	; 62
  b6:	cd bf       	out	0x3d, r28	; 61
    uchar m;
	uint  n;
	
    DDRD = 0x7c;
  b8:	8c e7       	ldi	r24, 0x7C	; 124
  ba:	81 bb       	out	0x11, r24	; 17
	PORTD |= ( 1<<ENABLE_L );
  bc:	92 9a       	sbi	0x12, 2	; 18
	PORTD &= ~( 1<<M2);
  be:	96 98       	cbi	0x12, 6	; 18
	PORTD |= ( 1<<M1 );
  c0:	95 9a       	sbi	0x12, 5	; 18
	
    PORTD |= ( 1<<CW_CWW );
  c2:	93 9a       	sbi	0x12, 3	; 18
	
	UCSRB=_BV(RXEN)|_BV(TXEN);/*(1<<RXCIE)|(1<<TXCIE)|*/
  c4:	88 e1       	ldi	r24, 0x18	; 24
  c6:	8a b9       	out	0x0a, r24	; 10
	UBRRL=51;	//9600 baud  8MHz:51  6MHz:38  4MHz:25  
  c8:	83 e3       	ldi	r24, 0x33	; 51
  ca:	89 b9       	out	0x09, r24	; 9
	
	while(1)
	{
	    m =  usart_getchar();
  cc:	0e 94 53 00 	call	0xa6 <usart_getchar>
	    if( m == 'k' )
  d0:	8b 36       	cpi	r24, 0x6B	; 107
  d2:	e1 f7       	brne	.-8      	; 0xcc <main+0x1c>
		{   
		    PORTD &= ~( 1<<ENABLE_L );
  d4:	92 98       	cbi	0x12, 2	; 18
  d6:	27 ec       	ldi	r18, 0xC7	; 199
  d8:	30 e0       	ldi	r19, 0x00	; 0
		    for(n=0;n<200;n++)
			{
	            PORTD |= (1<<CK1);
  da:	94 9a       	sbi	0x12, 4	; 18
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
  dc:	8c ed       	ldi	r24, 0xDC	; 220
  de:	95 e0       	ldi	r25, 0x05	; 5
	__asm__ volatile (
  e0:	01 97       	sbiw	r24, 0x01	; 1
  e2:	f1 f7       	brne	.-4      	; 0xe0 <main+0x30>
		        _delay_loop_2(1500);
		        PORTD &= ~(1<<CK1);
  e4:	94 98       	cbi	0x12, 4	; 18
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
  e6:	8c ed       	ldi	r24, 0xDC	; 220
  e8:	95 e0       	ldi	r25, 0x05	; 5
	__asm__ volatile (
  ea:	01 97       	sbiw	r24, 0x01	; 1
  ec:	f1 f7       	brne	.-4      	; 0xea <main+0x3a>
  ee:	21 50       	subi	r18, 0x01	; 1
  f0:	30 40       	sbci	r19, 0x00	; 0
  f2:	37 ff       	sbrs	r19, 7
  f4:	f2 cf       	rjmp	.-28     	; 0xda <main+0x2a>
		        _delay_loop_2(1500);
			}
			PORTD |= ( 1<<ENABLE_L );
  f6:	92 9a       	sbi	0x12, 2	; 18
			
			m=0;
			usart_putchar('o');
  f8:	8f e6       	ldi	r24, 0x6F	; 111
  fa:	0e 94 47 00 	call	0x8e <usart_putchar>
			usart_putchar('k');
  fe:	8b e6       	ldi	r24, 0x6B	; 107
 100:	0e 94 47 00 	call	0x8e <usart_putchar>
 104:	e3 cf       	rjmp	.-58     	; 0xcc <main+0x1c>

⌨️ 快捷键说明

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