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

📄 161212.lss

📁 winavr
💻 LSS
字号:

161212.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         0000010c  00000000  00000000  00000054  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .stab         00000918  00000000  00000000  00000160  2**2
                  CONTENTS, READONLY, DEBUGGING
  2 .stabstr      0000070d  00000000  00000000  00000a78  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	12 c0       	rjmp	.+36     	; 0x26 <__ctors_end>
   2:	2c c0       	rjmp	.+88     	; 0x5c <__bad_interrupt>
   4:	2b c0       	rjmp	.+86     	; 0x5c <__bad_interrupt>
   6:	2a c0       	rjmp	.+84     	; 0x5c <__bad_interrupt>
   8:	29 c0       	rjmp	.+82     	; 0x5c <__bad_interrupt>
   a:	28 c0       	rjmp	.+80     	; 0x5c <__bad_interrupt>
   c:	27 c0       	rjmp	.+78     	; 0x5c <__bad_interrupt>
   e:	26 c0       	rjmp	.+76     	; 0x5c <__bad_interrupt>
  10:	25 c0       	rjmp	.+74     	; 0x5c <__bad_interrupt>
  12:	24 c0       	rjmp	.+72     	; 0x5c <__bad_interrupt>
  14:	23 c0       	rjmp	.+70     	; 0x5c <__bad_interrupt>
  16:	22 c0       	rjmp	.+68     	; 0x5c <__bad_interrupt>
  18:	21 c0       	rjmp	.+66     	; 0x5c <__bad_interrupt>
  1a:	20 c0       	rjmp	.+64     	; 0x5c <__bad_interrupt>
  1c:	1f c0       	rjmp	.+62     	; 0x5c <__bad_interrupt>
  1e:	1e c0       	rjmp	.+60     	; 0x5c <__bad_interrupt>
  20:	1d c0       	rjmp	.+58     	; 0x5c <__bad_interrupt>
  22:	1c c0       	rjmp	.+56     	; 0x5c <__bad_interrupt>
  24:	1b c0       	rjmp	.+54     	; 0x5c <__bad_interrupt>

00000026 <__ctors_end>:
  26:	11 24       	eor	r1, r1
  28:	1f be       	out	0x3f, r1	; 63
  2a:	cf e5       	ldi	r28, 0x5F	; 95
  2c:	d4 e0       	ldi	r29, 0x04	; 4
  2e:	de bf       	out	0x3e, r29	; 62
  30:	cd bf       	out	0x3d, r28	; 61

00000032 <__do_copy_data>:
  32:	10 e0       	ldi	r17, 0x00	; 0
  34:	a0 e6       	ldi	r26, 0x60	; 96
  36:	b0 e0       	ldi	r27, 0x00	; 0
  38:	ec e0       	ldi	r30, 0x0C	; 12
  3a:	f1 e0       	ldi	r31, 0x01	; 1
  3c:	02 c0       	rjmp	.+4      	; 0x42 <.do_copy_data_start>

0000003e <.do_copy_data_loop>:
  3e:	05 90       	lpm	r0, Z+
  40:	0d 92       	st	X+, r0

00000042 <.do_copy_data_start>:
  42:	a0 36       	cpi	r26, 0x60	; 96
  44:	b1 07       	cpc	r27, r17
  46:	d9 f7       	brne	.-10     	; 0x3e <__SP_H__>

00000048 <__do_clear_bss>:
  48:	10 e0       	ldi	r17, 0x00	; 0
  4a:	a0 e6       	ldi	r26, 0x60	; 96
  4c:	b0 e0       	ldi	r27, 0x00	; 0
  4e:	01 c0       	rjmp	.+2      	; 0x52 <.do_clear_bss_start>

00000050 <.do_clear_bss_loop>:
  50:	1d 92       	st	X+, r1

00000052 <.do_clear_bss_start>:
  52:	a0 36       	cpi	r26, 0x60	; 96
  54:	b1 07       	cpc	r27, r17
  56:	e1 f7       	brne	.-8      	; 0x50 <.do_clear_bss_loop>
  58:	31 d0       	rcall	.+98     	; 0xbc <main>
  5a:	57 c0       	rjmp	.+174    	; 0x10a <_exit>

0000005c <__bad_interrupt>:
  5c:	d1 cf       	rjmp	.-94     	; 0x0 <__heap_end>

0000005e <com>:
void com(uchar init)   //写指令

{  
    
    LCD_RS_0;       
  5e:	94 98       	cbi	0x12, 4	; 18
    PORTB=init;    
  60:	88 bb       	out	0x18, r24	; 24
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  62:	80 e1       	ldi	r24, 0x10	; 16
  64:	97 e2       	ldi	r25, 0x27	; 39
  66:	01 97       	sbiw	r24, 0x01	; 1
  68:	f1 f7       	brne	.-4      	; 0x66 <com+0x8>
    _delay_ms(5);
    LCD_E_1;    
  6a:	96 9a       	sbi	0x12, 6	; 18
    LCD_E_0;
  6c:	96 98       	cbi	0x12, 6	; 18
  6e:	08 95       	ret

00000070 <Dat>:
    
}



void Dat(uchar dat)     //写数据

{  
    
    LCD_RS_1;      
  70:	94 9a       	sbi	0x12, 4	; 18
       
    PORTB=dat;
  72:	88 bb       	out	0x18, r24	; 24
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  74:	80 e1       	ldi	r24, 0x10	; 16
  76:	97 e2       	ldi	r25, 0x27	; 39
  78:	01 97       	sbiw	r24, 0x01	; 1
  7a:	f1 f7       	brne	.-4      	; 0x78 <Dat+0x8>
    
    _delay_ms(5);
    
    LCD_E_1;
  7c:	96 9a       	sbi	0x12, 6	; 18
    
    LCD_E_0;
  7e:	96 98       	cbi	0x12, 6	; 18
  80:	08 95       	ret

00000082 <display>:
    
}

void display(uchar x,uchar y,uchar dat)   //精确显示字符,x为列坐标,y为行坐标,dat数据

{   
  82:	1f 93       	push	r17
  84:	14 2f       	mov	r17, r20
    
    uchar add;
    
    if(y==0)
  86:	66 23       	and	r22, r22
  88:	11 f4       	brne	.+4      	; 0x8e <display+0xc>
    
    add=0x80+0x00+x;
  8a:	80 58       	subi	r24, 0x80	; 128
  8c:	01 c0       	rjmp	.+2      	; 0x90 <display+0xe>
    
    else
    
    add=0x80+0x40+x;
  8e:	80 54       	subi	r24, 0x40	; 64
    
    com(add);
  90:	e6 df       	rcall	.-52     	; 0x5e <com>
    
    Dat(dat);
  92:	81 2f       	mov	r24, r17
  94:	ed df       	rcall	.-38     	; 0x70 <Dat>
  96:	1f 91       	pop	r17
  98:	08 95       	ret

0000009a <Init>:
    
}           



void Init(void)    //液晶屏初始化

{   
    
    com(0x38);    
  9a:	88 e3       	ldi	r24, 0x38	; 56
  9c:	e0 df       	rcall	.-64     	; 0x5e <com>
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  9e:	80 e1       	ldi	r24, 0x10	; 16
  a0:	97 e2       	ldi	r25, 0x27	; 39
  a2:	01 97       	sbiw	r24, 0x01	; 1
  a4:	f1 f7       	brne	.-4      	; 0xa2 <Init+0x8>
    _delay_ms(5);
    com(0x38);
  a6:	88 e3       	ldi	r24, 0x38	; 56
  a8:	da df       	rcall	.-76     	; 0x5e <com>
    com(0x38);
  aa:	88 e3       	ldi	r24, 0x38	; 56
  ac:	d8 df       	rcall	.-80     	; 0x5e <com>
    com(0x06);   
  ae:	86 e0       	ldi	r24, 0x06	; 6
  b0:	d6 df       	rcall	.-84     	; 0x5e <com>
    com(0x0c);    
  b2:	8c e0       	ldi	r24, 0x0C	; 12
  b4:	d4 df       	rcall	.-88     	; 0x5e <com>
    com(0x01);
  b6:	81 e0       	ldi	r24, 0x01	; 1
  b8:	d2 df       	rcall	.-92     	; 0x5e <com>
  ba:	08 95       	ret

000000bc <main>:
       
    
}



int main(void)

{        
  bc:	cf 93       	push	r28
  be:	df 93       	push	r29
    uchar i;
    DDRB|=0xff;          //初始化引脚    
  c0:	87 b3       	in	r24, 0x17	; 23
  c2:	8f ef       	ldi	r24, 0xFF	; 255
  c4:	87 bb       	out	0x17, r24	; 23
    DDRD|=0Xff;
  c6:	91 b3       	in	r25, 0x11	; 17
  c8:	81 bb       	out	0x11, r24	; 17
    DDRC|=0Xff;         
  ca:	94 b3       	in	r25, 0x14	; 20
  cc:	84 bb       	out	0x14, r24	; 20
    Init();
  ce:	e5 df       	rcall	.-54     	; 0x9a <Init>
  d0:	c0 e0       	ldi	r28, 0x00	; 0
  d2:	d0 e0       	ldi	r29, 0x00	; 0
	for (i=0;i<16;i++)
	{
		display(i,0,0x41+i);  //显示1602库中自带符号A...
  d4:	ce 01       	movw	r24, r28
  d6:	8f 5b       	subi	r24, 0xBF	; 191
  d8:	48 2f       	mov	r20, r24
  da:	60 e0       	ldi	r22, 0x00	; 0
  dc:	8c 2f       	mov	r24, r28
  de:	d1 df       	rcall	.-94     	; 0x82 <display>
  e0:	21 96       	adiw	r28, 0x01	; 1
  e2:	c0 31       	cpi	r28, 0x10	; 16
  e4:	d1 05       	cpc	r29, r1
  e6:	b1 f7       	brne	.-20     	; 0xd4 <main+0x18>
  e8:	c0 e0       	ldi	r28, 0x00	; 0
  ea:	d0 e0       	ldi	r29, 0x00	; 0
	}	
	for (i=0;i<16;i++)
	{
		display(i,1,0x30+i);  //显示1602库中自带符号1...
  ec:	ce 01       	movw	r24, r28
  ee:	80 5d       	subi	r24, 0xD0	; 208
  f0:	48 2f       	mov	r20, r24
  f2:	61 e0       	ldi	r22, 0x01	; 1
  f4:	8c 2f       	mov	r24, r28
  f6:	c5 df       	rcall	.-118    	; 0x82 <display>
  f8:	21 96       	adiw	r28, 0x01	; 1
  fa:	c0 31       	cpi	r28, 0x10	; 16
  fc:	d1 05       	cpc	r29, r1
  fe:	b1 f7       	brne	.-20     	; 0xec <main+0x30>
	}	   
    
}
 100:	80 e0       	ldi	r24, 0x00	; 0
 102:	90 e0       	ldi	r25, 0x00	; 0
 104:	df 91       	pop	r29
 106:	cf 91       	pop	r28
 108:	08 95       	ret

0000010a <_exit>:
 10a:	ff cf       	rjmp	.-2      	; 0x10a <_exit>

⌨️ 快捷键说明

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