Subversion Repositories svnkaklik

Rev

Blame | Last modification | View Log | Download


blik.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         000000d4  00000000  00000000  00000054  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .stab         0000036c  00000000  00000000  00000128  2**2
                  CONTENTS, READONLY, DEBUGGING
  2 .stabstr      00000084  00000000  00000000  00000494  2**0
                  CONTENTS, READONLY, DEBUGGING
  3 .debug_aranges 00000020  00000000  00000000  00000518  2**0
                  CONTENTS, READONLY, DEBUGGING
  4 .debug_pubnames 00000028  00000000  00000000  00000538  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_info   0000013d  00000000  00000000  00000560  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_abbrev 000000d3  00000000  00000000  0000069d  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_line   000000fc  00000000  00000000  00000770  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_frame  00000030  00000000  00000000  0000086c  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_str    000000dd  00000000  00000000  0000089c  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_loc    00000028  00000000  00000000  00000979  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:   0c 94 34 00     jmp     0x68    ; 0x68 <__ctors_end>
   4:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
   8:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
   c:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  10:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  14:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  18:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  1c:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  20:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  24:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  28:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  2c:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  30:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  34:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  38:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  3c:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  40:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  44:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  48:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  4c:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  50:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  54:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  58:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  5c:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  60:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>
  64:   0c 94 4f 00     jmp     0x9e    ; 0x9e <__bad_interrupt>

00000068 <__ctors_end>:
  68:   11 24           eor     r1, r1
  6a:   1f be           out     0x3f, r1        ; 63
  6c:   cf ef           ldi     r28, 0xFF       ; 255
  6e:   d4 e0           ldi     r29, 0x04       ; 4
  70:   de bf           out     0x3e, r29       ; 62
  72:   cd bf           out     0x3d, r28       ; 61

00000074 <__do_copy_data>:
  74:   11 e0           ldi     r17, 0x01       ; 1
  76:   a0 e0           ldi     r26, 0x00       ; 0
  78:   b1 e0           ldi     r27, 0x01       ; 1
  7a:   e4 ed           ldi     r30, 0xD4       ; 212
  7c:   f0 e0           ldi     r31, 0x00       ; 0
  7e:   02 c0           rjmp    .+4             ; 0x84 <.do_copy_data_start>

00000080 <.do_copy_data_loop>:
  80:   05 90           lpm     r0, Z+
  82:   0d 92           st      X+, r0

00000084 <.do_copy_data_start>:
  84:   a0 30           cpi     r26, 0x00       ; 0
  86:   b1 07           cpc     r27, r17
  88:   d9 f7           brne    .-10            ; 0x80 <.do_copy_data_loop>

0000008a <__do_clear_bss>:
  8a:   11 e0           ldi     r17, 0x01       ; 1
  8c:   a0 e0           ldi     r26, 0x00       ; 0
  8e:   b1 e0           ldi     r27, 0x01       ; 1
  90:   01 c0           rjmp    .+2             ; 0x94 <.do_clear_bss_start>

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

00000094 <.do_clear_bss_start>:
  94:   a0 30           cpi     r26, 0x00       ; 0
  96:   b1 07           cpc     r27, r17
  98:   e1 f7           brne    .-8             ; 0x92 <.do_clear_bss_loop>
  9a:   0c 94 5e 00     jmp     0xbc    ; 0xbc <main>

0000009e <__bad_interrupt>:
  9e:   0c 94 00 00     jmp     0        ; 0x0 <__vectors>

000000a2 <delay_ms>:


void delay_ms(unsigned int ms)
/* delay for a minimum of <ms> */
{
  a2:   9c 01           movw    r18, r24
  a4:   e0 e8           ldi     r30, 0x80       ; 128
  a6:   f7 e0           ldi     r31, 0x07       ; 7
  a8:   05 c0           rjmp    .+10            ; 0xb4 <delay_ms+0x12>
 */
void
_delay_loop_2(uint16_t __count)
{
        __asm__ volatile (
  aa:   cf 01           movw    r24, r30
  ac:   01 97           sbiw    r24, 0x01       ; 1
  ae:   f1 f7           brne    .-4             ; 0xac <delay_ms+0xa>
        // we use a calibrated macro. This is more
        // accurate and not so much compiler dependent
        // as self made code.
        while(ms){
                _delay_ms(0.96);
                ms--;
  b0:   21 50           subi    r18, 0x01       ; 1
  b2:   30 40           sbci    r19, 0x00       ; 0
  b4:   21 15           cp      r18, r1
  b6:   31 05           cpc     r19, r1
  b8:   c1 f7           brne    .-16            ; 0xaa <delay_ms+0x8>
  ba:   08 95           ret

000000bc <main>:
        }
}


/* new style */
int main(void)
{
  bc:   3d 9a           sbi     0x07, 5 ; 7
          /* INITIALIZE */
          /* enable PC5 as output */
          DDRC|= (1<<DDC5);

          /* PC5 is 5 (see file include/avr/iom8.h) and 1<<PC5 is 00100000 
           * This can also be written as _BV(PC5)*/
          while (1) {
                      /* led on, pin=0 */
                      PORTC &= ~(1<<PC5);
  be:   45 98           cbi     0x08, 5 ; 8
                      delay_ms(50);
  c0:   82 e3           ldi     r24, 0x32       ; 50
  c2:   90 e0           ldi     r25, 0x00       ; 0
  c4:   0e 94 51 00     call    0xa2    ; 0xa2 <delay_ms>
                      /* set output to 5V, LED off */
                      PORTC|= (1<<PC5);
  c8:   45 9a           sbi     0x08, 5 ; 8
                      delay_ms(50);
  ca:   82 e3           ldi     r24, 0x32       ; 50
  cc:   90 e0           ldi     r25, 0x00       ; 0
  ce:   0e 94 51 00     call    0xa2    ; 0xa2 <delay_ms>
  d2:   f5 cf           rjmp    .-22            ; 0xbe <main+0x2>