📄 test.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 + -