   1               		.file	"dann.c"
   2               		.arch attiny26
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
  49               	.global	display_write
  51               	display_write:
   1:dann.c        **** /************************************************************************/
   2:dann.c        **** /*                                                                      */
   3:dann.c        **** /*			7 Segment Driver MAX7219			*/
   4:dann.c        **** /*			Common Anode Display				*/
   5:dann.c        **** /*                                                                      */
   6:dann.c        **** /*              Author: Peter Dannegger                                 */
   7:dann.c        **** /*                      danni@specs.de                                  */
   8:dann.c        **** /*                                                                      */
   9:dann.c        **** /************************************************************************/
  10:dann.c        **** #include <avr/io.h>
  11:dann.c        **** 
  12:dann.c        **** #define MAX7219_DDR     DDRB
  13:dann.c        **** #define MAX7219_PORT    PORTB
  14:dann.c        **** #define MAX7219_SCK     PB2
  15:dann.c        **** #define MAX7219_DO      PB1
  16:dann.c        **** #define MAX7219_STB     PB3
  17:dann.c        **** 
  18:dann.c        **** 
  19:dann.c        **** void display_write( unsigned short dc )
  20:dann.c        **** {
  53               	.LM0:
  54               	/* prologue: frame size=0 */
  55               	/* prologue end (size=0) */
  21:dann.c        ****   unsigned char i;
  22:dann.c        **** 
  23:dann.c        ****   MAX7219_DDR |= 1<<MAX7219_DO;
  57               	.LM1:
  58 0000 B99A      		sbi 55-0x20,1
  24:dann.c        ****   MAX7219_DDR |= 1<<MAX7219_SCK;
  60               	.LM2:
  61 0002 BA9A      		sbi 55-0x20,2
  25:dann.c        ****   MAX7219_DDR |= 1<<MAX7219_STB;
  63               	.LM3:
  64 0004 BB9A      		sbi 55-0x20,3
  26:dann.c        ****   MAX7219_PORT &= ~(1<<MAX7219_STB);
  66               	.LM4:
  67 0006 C398      		cbi 56-0x20,3
  68 0008 2CE0      		ldi r18,lo8(12)
  69               	.L2:
  27:dann.c        **** 
  28:dann.c        ****   for( i = 12; i; i-- ){
  29:dann.c        ****     MAX7219_PORT &= ~(1<<MAX7219_SCK);
  71               	.LM5:
  72 000a C298      		cbi 56-0x20,2
  30:dann.c        ****     MAX7219_PORT |= 1<<MAX7219_DO;
  74               	.LM6:
  75 000c C19A      		sbi 56-0x20,1
  31:dann.c        ****     if( (dc & 0x0800) == 0 )
  77               	.LM7:
  78 000e 93FF      		sbrs r25,3
  32:dann.c        ****       MAX7219_PORT &= ~(1<<MAX7219_DO);
  80               	.LM8:
  81 0010 C198      		cbi 56-0x20,1
  82               	.L3:
  33:dann.c        ****     dc <<= 1;
  84               	.LM9:
  85 0012 880F      		lsl r24
  86 0014 991F      		rol r25
  34:dann.c        ****     MAX7219_PORT |= 1<<MAX7219_SCK;
  88               	.LM10:
  89 0016 C29A      		sbi 56-0x20,2
  90 0018 2150      		subi r18,lo8(-(-1))
  92               	.LM11:
  93 001a B9F7      		brne .L2
  35:dann.c        ****   }
  36:dann.c        **** 
  37:dann.c        ****   MAX7219_PORT |= 1<<MAX7219_STB;
  95               	.LM12:
  96 001c C39A      		sbi 56-0x20,3
  97               	/* epilogue: frame size=0 */
  98 001e 0895      		ret
  99               	/* epilogue end (size=1) */
 100               	/* function display_write size 18 (17) */
 102               	.Lscope0:
 104               	.global	main
 106               	main:
  38:dann.c        **** }
  39:dann.c        **** 
  40:dann.c        **** 
  41:dann.c        **** int main(void){for(;;);}
 108               	.LM13:
 109               	/* prologue: frame size=0 */
 110 0020 C0E0      		ldi r28,lo8(__stack - 0)
 111 0022 D0E0      		ldi r29,hi8(__stack - 0)
 112 0024 DEBF      		out __SP_H__,r29
 113 0026 CDBF      		out __SP_L__,r28
 114               	/* prologue end (size=4) */
 115               	.L11:
 116 0028 FFCF      		rjmp .L11
 117               	/* epilogue: frame size=0 */
 118               	/* epilogue: noreturn */
 119               	/* epilogue end (size=0) */
 120               	/* function main size 5 (1) */
 122               	.Lscope1:
 124               	.Letext0:
 125               	/* File "dann.c": code   23 = 0x0017 (  18), prologues   4, epilogues   1 */
DEFINED SYMBOLS
                            *ABS*:00000000 dann.c
     /tmp/ccAmmk4u.s:3      *ABS*:0000003f __SREG__
     /tmp/ccAmmk4u.s:4      *ABS*:0000003e __SP_H__
     /tmp/ccAmmk4u.s:5      *ABS*:0000003d __SP_L__
     /tmp/ccAmmk4u.s:6      *ABS*:00000000 __tmp_reg__
     /tmp/ccAmmk4u.s:7      *ABS*:00000001 __zero_reg__
     /tmp/ccAmmk4u.s:51     .text:00000000 display_write
     /tmp/ccAmmk4u.s:106    .text:00000020 main

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
