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

📄 test.lss

📁 DS12887A是Dallas公司的一款内置电池的时钟芯片。该程序基于GCC
💻 LSS
字号:

test.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000106  00000000  00000000  00000054  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .stab         0000036c  00000000  00000000  0000015c  2**2
                  CONTENTS, READONLY, DEBUGGING
  2 .stabstr      00000084  00000000  00000000  000004c8  2**0
                  CONTENTS, READONLY, DEBUGGING
  3 .debug_aranges 00000040  00000000  00000000  0000054c  2**0
                  CONTENTS, READONLY, DEBUGGING
  4 .debug_pubnames 00000088  00000000  00000000  0000058c  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_info   000001fb  00000000  00000000  00000614  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_abbrev 0000018f  00000000  00000000  0000080f  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_line   0000027a  00000000  00000000  0000099e  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_frame  00000090  00000000  00000000  00000c18  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_str    000000e8  00000000  00000000  00000ca8  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_loc    00000026  00000000  00000000  00000d90  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 2a 00 	jmp	0x54	; 0x54 <__ctors_end>
   4:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
   8:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
   c:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  10:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  14:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  18:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  1c:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  20:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  24:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  28:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  2c:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  30:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  34:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  38:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  3c:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  40:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  44:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  48:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  4c:	0c 94 45 00 	jmp	0x8a	; 0x8a <__bad_interrupt>
  50:	0c 94 45 00 	jmp	0x8a	; 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 74 00 	jmp	0xe8	; 0xe8 <main>

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

0000008e <WriteAddrData>:
/*************************************** 
  函数功能:用来写 
***************************************/ 
void WriteAddrData(uint8_t dsaddress,uint8_t dsdata) 
{ 
  8e:	c6 98       	cbi	0x18, 6	; 24
    DS_ALE0; 
    DS_RD1; 
  90:	c4 9a       	sbi	0x18, 4	; 24
    DS_WR1; 
  92:	c5 9a       	sbi	0x18, 5	; 24
    DS_CS0;                     //选中时钟芯片 
  94:	c7 98       	cbi	0x18, 7	; 24
    //NOP(); 
	asm("nop");
  96:	00 00       	nop
    // 
    DS_ALE1; 
  98:	c6 9a       	sbi	0x18, 6	; 24
    PORTA = dsaddress;          //RAM地址 
  9a:	8b bb       	out	0x1b, r24	; 27
    asm("nop");
  9c:	00 00       	nop
    asm("nop");
  9e:	00 00       	nop
    DS_ALE0; 
  a0:	c6 98       	cbi	0x18, 6	; 24
    asm("nop");
  a2:	00 00       	nop
    asm("nop");
  a4:	00 00       	nop
    // 
    PORTA = dsdata;             //data 
  a6:	6b bb       	out	0x1b, r22	; 27
    asm("nop");
  a8:	00 00       	nop
    DS_WR0; 
  aa:	c5 98       	cbi	0x18, 5	; 24
    asm("nop");
  ac:	00 00       	nop
    asm("nop"); 
  ae:	00 00       	nop
    asm("nop"); 
  b0:	00 00       	nop
    DS_ALE1; 
  b2:	c6 9a       	sbi	0x18, 6	; 24
    DS_WR1; 
  b4:	c5 9a       	sbi	0x18, 5	; 24
    DS_CS1;                     //关闭时钟芯片 
  b6:	c7 9a       	sbi	0x18, 7	; 24
  b8:	08 95       	ret

000000ba <ReadAddrData>:
} 

/*************************************** 
  函数功能:用来读 
***************************************/ 
uint8_t ReadAddrData(uint8_t dsaddress) 
{ 
  ba:	c6 98       	cbi	0x18, 6	; 24
    uint8_t dsdata; 
    DS_ALE0; 
    DS_RD1; 
  bc:	c4 9a       	sbi	0x18, 4	; 24
    DS_WR1; 
  be:	c5 9a       	sbi	0x18, 5	; 24
    DS_CS0;                     //选中时钟芯片 
  c0:	c7 98       	cbi	0x18, 7	; 24
    asm("nop"); 
  c2:	00 00       	nop
    // 
    DS_ALE1; 
  c4:	c6 9a       	sbi	0x18, 6	; 24
    PORTA = dsaddress;          //RAM地址 
  c6:	8b bb       	out	0x1b, r24	; 27
    asm("nop");
  c8:	00 00       	nop
    asm("nop");
  ca:	00 00       	nop
    DS_ALE0; 
  cc:	c6 98       	cbi	0x18, 6	; 24
    asm("nop");
  ce:	00 00       	nop
    asm("nop");
  d0:	00 00       	nop
    // 
    DDRA=0x00;  // PORTA in 
  d2:	1a ba       	out	0x1a, r1	; 26
    DS_RD0; 
  d4:	c4 98       	cbi	0x18, 4	; 24
    asm("nop");
  d6:	00 00       	nop
    dsdata = PINA;             //data 
  d8:	89 b3       	in	r24, 0x19	; 25
    DS_ALE1; 
  da:	c6 9a       	sbi	0x18, 6	; 24
    DS_RD1; 
  dc:	c4 9a       	sbi	0x18, 4	; 24
    DS_CS1;                     //关闭时钟芯片 
  de:	c7 9a       	sbi	0x18, 7	; 24
    DDRA=0xff;  // PORTA out 
  e0:	9f ef       	ldi	r25, 0xFF	; 255
  e2:	9a bb       	out	0x1a, r25	; 26
    return dsdata; 
} 
  e4:	99 27       	eor	r25, r25
  e6:	08 95       	ret

000000e8 <main>:
int main()
{
  e8:	ff cf       	rjmp	.-2      	; 0xe8 <main>

000000ea <delay_1ms>:
#include "delay.h"
//#include "macros.h"

void delay_1ms(void)
{
  ea:	08 95       	ret

000000ec <delay_1us>:
	unsigned int i;
	for (i=1;i<(unsigned int)(xtal*143-2);i++)
	;
}

void delay_1us(void)
{
  ec:	00 00       	nop
  ee:	08 95       	ret

000000f0 <delay_nus>:
	asm("nop");
}

void delay_nms(unsigned int n)
{
	unsigned int i=0;
	for ( i=0; i<n; i++)
	{
		delay_1ms();
        //WDR();
	}
}

void delay_nus(uint n)
{
  f0:	20 e0       	ldi	r18, 0x00	; 0
  f2:	30 e0       	ldi	r19, 0x00	; 0
  f4:	03 c0       	rjmp	.+6      	; 0xfc <delay_nus+0xc>
  f6:	00 00       	nop
	uint i=0;
	for ( i=0; i<n; i++)
  f8:	2f 5f       	subi	r18, 0xFF	; 255
  fa:	3f 4f       	sbci	r19, 0xFF	; 255
  fc:	28 17       	cp	r18, r24
  fe:	39 07       	cpc	r19, r25
 100:	d1 f7       	brne	.-12     	; 0xf6 <delay_nus+0x6>
 102:	08 95       	ret

00000104 <delay_nms>:
 104:	08 95       	ret

⌨️ 快捷键说明

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