Files
SyncHome/trunk/AVRProjects/ATMega48/main.lss
2023-03-13 09:01:12 +00:00

119 lines
4.6 KiB
Plaintext

main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000000 00800100 0000006a 000000de 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 0000006a 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .comment 00000011 00000000 00000000 000000de 2**0
CONTENTS, READONLY
3 .debug_aranges 00000020 00000000 00000000 000000ef 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_info 00000119 00000000 00000000 0000010f 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_abbrev 000000d1 00000000 00000000 00000228 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_line 000000d9 00000000 00000000 000002f9 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_frame 00000024 00000000 00000000 000003d4 2**2
CONTENTS, READONLY, DEBUGGING
8 .debug_str 00000132 00000000 00000000 000003f8 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_loc 0000001f 00000000 00000000 0000052a 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_ranges 00000010 00000000 00000000 00000549 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 19 c0 rjmp .+50 ; 0x34 <__ctors_end>
2: 20 c0 rjmp .+64 ; 0x44 <__bad_interrupt>
4: 1f c0 rjmp .+62 ; 0x44 <__bad_interrupt>
6: 1e c0 rjmp .+60 ; 0x44 <__bad_interrupt>
8: 1d c0 rjmp .+58 ; 0x44 <__bad_interrupt>
a: 1c c0 rjmp .+56 ; 0x44 <__bad_interrupt>
c: 1b c0 rjmp .+54 ; 0x44 <__bad_interrupt>
e: 1a c0 rjmp .+52 ; 0x44 <__bad_interrupt>
10: 19 c0 rjmp .+50 ; 0x44 <__bad_interrupt>
12: 18 c0 rjmp .+48 ; 0x44 <__bad_interrupt>
14: 17 c0 rjmp .+46 ; 0x44 <__bad_interrupt>
16: 16 c0 rjmp .+44 ; 0x44 <__bad_interrupt>
18: 15 c0 rjmp .+42 ; 0x44 <__bad_interrupt>
1a: 14 c0 rjmp .+40 ; 0x44 <__bad_interrupt>
1c: 13 c0 rjmp .+38 ; 0x44 <__bad_interrupt>
1e: 12 c0 rjmp .+36 ; 0x44 <__bad_interrupt>
20: 11 c0 rjmp .+34 ; 0x44 <__bad_interrupt>
22: 10 c0 rjmp .+32 ; 0x44 <__bad_interrupt>
24: 0f c0 rjmp .+30 ; 0x44 <__bad_interrupt>
26: 0e c0 rjmp .+28 ; 0x44 <__bad_interrupt>
28: 0d c0 rjmp .+26 ; 0x44 <__bad_interrupt>
2a: 0c c0 rjmp .+24 ; 0x44 <__bad_interrupt>
2c: 0b c0 rjmp .+22 ; 0x44 <__bad_interrupt>
2e: 0a c0 rjmp .+20 ; 0x44 <__bad_interrupt>
30: 09 c0 rjmp .+18 ; 0x44 <__bad_interrupt>
32: 08 c0 rjmp .+16 ; 0x44 <__bad_interrupt>
00000034 <__ctors_end>:
34: 11 24 eor r1, r1
36: 1f be out 0x3f, r1 ; 63
38: cf ef ldi r28, 0xFF ; 255
3a: d2 e0 ldi r29, 0x02 ; 2
3c: de bf out 0x3e, r29 ; 62
3e: cd bf out 0x3d, r28 ; 61
40: 02 d0 rcall .+4 ; 0x46 <main>
42: 11 c0 rjmp .+34 ; 0x66 <_exit>
00000044 <__bad_interrupt>:
44: dd cf rjmp .-70 ; 0x0 <__vectors>
00000046 <main>:
#include <util/delay.h>
int main (void)
{
unsigned char zwischenspeicher;
DDRB = 0b00000100;
46: 84 e0 ldi r24, 0x04 ; 4
48: 84 b9 out 0x04, r24 ; 4
while(1)
{
zwischenspeicher = PORTB;
zwischenspeicher = zwischenspeicher ^ 0b00000100;
4a: 94 e0 ldi r25, 0x04 ; 4
{
unsigned char zwischenspeicher;
DDRB = 0b00000100;
while(1)
{
zwischenspeicher = PORTB;
4c: 85 b1 in r24, 0x05 ; 5
zwischenspeicher = zwischenspeicher ^ 0b00000100;
4e: 89 27 eor r24, r25
PORTB = zwischenspeicher;
50: 85 b9 out 0x05, r24 ; 5
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
52: 2f e9 ldi r18, 0x9F ; 159
54: 36 e8 ldi r19, 0x86 ; 134
56: 81 e0 ldi r24, 0x01 ; 1
58: 21 50 subi r18, 0x01 ; 1
5a: 30 40 sbci r19, 0x00 ; 0
5c: 80 40 sbci r24, 0x00 ; 0
5e: e1 f7 brne .-8 ; 0x58 <main+0x12>
60: 00 c0 rjmp .+0 ; 0x62 <main+0x1c>
62: 00 00 nop
64: f3 cf rjmp .-26 ; 0x4c <main+0x6>
00000066 <_exit>:
66: f8 94 cli
00000068 <__stop_program>:
68: ff cf rjmp .-2 ; 0x68 <__stop_program>