GAS LISTING /tmp/ccdWAqCb.s 			page 1


   1               		.file	"take1.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__CCP__  = 0x34
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  10               		.stabs	"/home/sunshine/elektronik/avr-tests/mpadd/",100,0,2,.Ltext0
  11               		.stabs	"take1.c",100,0,2,.Ltext0
  12               		.text
  13               	.Ltext0:
  14               		.stabs	"gcc2_compiled.",60,0,0,0
  15               		.stabs	"int:t(0,1)=r(0,1);-32768;32767;",128,0,1,0
  16               		.stabs	"char:t(0,2)=r(0,2);0;127;",128,0,1,0
  17               		.stabs	"long int:t(0,3)=@s32;r(0,3);020000000000;017777777777;",128,0,1,0
  18               		.stabs	"unsigned int:t(0,4)=r(0,4);0;0177777;",128,0,1,0
  19               		.stabs	"long unsigned int:t(0,5)=@s32;r(0,5);0;037777777777;",128,0,1,0
  20               		.stabs	"long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,1,
  21               		.stabs	"long long unsigned int:t(0,7)=@s64;r(0,7);0;01777777777777777777777;",128,0,1,0
  22               		.stabs	"short int:t(0,8)=r(0,8);-32768;32767;",128,0,1,0
  23               		.stabs	"short unsigned int:t(0,9)=r(0,9);0;0177777;",128,0,1,0
  24               		.stabs	"signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,1,0
  25               		.stabs	"unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,1,0
  26               		.stabs	"float:t(0,12)=r(0,1);4;0;",128,0,1,0
  27               		.stabs	"double:t(0,13)=r(0,1);4;0;",128,0,1,0
  28               		.stabs	"long double:t(0,14)=r(0,1);4;0;",128,0,1,0
  29               		.stabs	"void:t(0,15)=(0,15)",128,0,1,0
  30               		.stabs	"/usr/lib/gcc/avr/4.3.4/../../../avr/include/stdint.h",130,0,0,0
  31               		.stabs	"int8_t:t(1,1)=(0,10)",128,0,121,0
  32               		.stabs	"uint8_t:t(1,2)=(0,11)",128,0,122,0
  33               		.stabs	"int16_t:t(1,3)=(0,1)",128,0,123,0
  34               		.stabs	"uint16_t:t(1,4)=(0,4)",128,0,124,0
  35               		.stabs	"int32_t:t(1,5)=(0,3)",128,0,125,0
  36               		.stabs	"uint32_t:t(1,6)=(0,5)",128,0,126,0
  37               		.stabs	"int64_t:t(1,7)=(0,6)",128,0,128,0
  38               		.stabs	"uint64_t:t(1,8)=(0,7)",128,0,129,0
  39               		.stabs	"intptr_t:t(1,9)=(1,3)",128,0,142,0
  40               		.stabs	"uintptr_t:t(1,10)=(1,4)",128,0,147,0
  41               		.stabs	"int_least8_t:t(1,11)=(1,1)",128,0,159,0
  42               		.stabs	"uint_least8_t:t(1,12)=(1,2)",128,0,164,0
  43               		.stabs	"int_least16_t:t(1,13)=(1,3)",128,0,169,0
  44               		.stabs	"uint_least16_t:t(1,14)=(1,4)",128,0,174,0
  45               		.stabs	"int_least32_t:t(1,15)=(1,5)",128,0,179,0
  46               		.stabs	"uint_least32_t:t(1,16)=(1,6)",128,0,184,0
  47               		.stabs	"int_least64_t:t(1,17)=(1,7)",128,0,192,0
  48               		.stabs	"uint_least64_t:t(1,18)=(1,8)",128,0,199,0
  49               		.stabs	"int_fast8_t:t(1,19)=(1,1)",128,0,213,0
  50               		.stabs	"uint_fast8_t:t(1,20)=(1,2)",128,0,218,0
  51               		.stabs	"int_fast16_t:t(1,21)=(1,3)",128,0,223,0
  52               		.stabs	"uint_fast16_t:t(1,22)=(1,4)",128,0,228,0
  53               		.stabs	"int_fast32_t:t(1,23)=(1,5)",128,0,233,0
  54               		.stabs	"uint_fast32_t:t(1,24)=(1,6)",128,0,238,0
  55               		.stabs	"int_fast64_t:t(1,25)=(1,7)",128,0,246,0
  56               		.stabs	"uint_fast64_t:t(1,26)=(1,8)",128,0,253,0
  57               		.stabs	"intmax_t:t(1,27)=(1,7)",128,0,273,0
GAS LISTING /tmp/ccdWAqCb.s 			page 2


  58               		.stabs	"uintmax_t:t(1,28)=(1,8)",128,0,278,0
  59               		.stabn	162,0,0,0
  60               		.stabs	"add:F(0,15)",36,0,4,add
  61               		.stabs	"vector1:P(0,16)=*(0,17)=k(1,2)",64,0,3,28
  62               	.global	add
  63               		.type	add, @function
  64               	add:
  65               		.stabd	46,0,0
   1:take1.c       **** #include <stdint.h>
   2:take1.c       **** 
   3:take1.c       **** void add(uint8_t vector0[10], const uint8_t vector1[10])
   4:take1.c       **** {
  66               		.stabn	68,0,4,.LM0-.LFBB1
  67               	.LM0:
  68               	.LFBB1:
  69 0000 CF93      		push r28
  70 0002 DF93      		push r29
  71               	/* prologue: function */
  72               	/* frame size = 0 */
  73 0004 EB01      		movw r28,r22
  74               		.stabn	68,0,4,.LM1-.LFBB1
  75               	.LM1:
  76 0006 DC01      		movw r26,r24
  77 0008 60E0      		ldi r22,lo8(0)
  78 000a 70E0      		ldi r23,hi8(0)
  79 000c 40E0      		ldi r20,lo8(0)
  80 000e 50E0      		ldi r21,hi8(0)
  81               	.L2:
  82               	.LBB2:
   5:take1.c       **** 	uint_fast16_t ergebnis = 0;
   6:take1.c       **** 
   7:take1.c       **** 	for (uint8_t i = 0; i < 10; i++) {
   8:take1.c       **** 		ergebnis += vector0[i]+vector1[i];
  83               		.stabn	68,0,8,.LM2-.LFBB1
  84               	.LM2:
  85 0010 FE01      		movw r30,r28
  86 0012 E40F      		add r30,r20
  87 0014 F51F      		adc r31,r21
  88 0016 2081      		ld r18,Z
  89 0018 8C91      		ld r24,X
  90 001a 90E0      		ldi r25,lo8(0)
  91 001c 820F      		add r24,r18
  92 001e 911D      		adc r25,__zero_reg__
  93 0020 860F      		add r24,r22
  94 0022 971F      		adc r25,r23
   9:take1.c       **** 		vector0[i] = ergebnis;
  95               		.stabn	68,0,9,.LM3-.LFBB1
  96               	.LM3:
  97 0024 8D93      		st X+,r24
  10:take1.c       **** 		ergebnis >>= 8;
  98               		.stabn	68,0,10,.LM4-.LFBB1
  99               	.LM4:
 100 0026 692F      		mov r22,r25
 101 0028 7727      		clr r23
 102 002a 4F5F      		subi r20,lo8(-(1))
 103 002c 5F4F      		sbci r21,hi8(-(1))
   7:take1.c       **** 	for (uint8_t i = 0; i < 10; i++) {
GAS LISTING /tmp/ccdWAqCb.s 			page 3


 104               		.stabn	68,0,7,.LM5-.LFBB1
 105               	.LM5:
 106 002e 4A30      		cpi r20,10
 107 0030 5105      		cpc r21,__zero_reg__
 108 0032 01F4      		brne .L2
 109               	/* epilogue start */
 110               	.LBE2:
  11:take1.c       **** 	}
  12:take1.c       **** }
 111               		.stabn	68,0,12,.LM6-.LFBB1
 112               	.LM6:
 113 0034 DF91      		pop r29
 114 0036 CF91      		pop r28
 115 0038 0895      		ret
 116               		.size	add, .-add
 117               		.stabs	"ergebnis:r(1,22)",64,0,5,24
 118               		.stabn	192,0,0,.LFBB1-.LFBB1
 119               		.stabn	224,0,0,.Lscope1-.LFBB1
 120               	.Lscope1:
 121               		.stabs	"",36,0,0,.Lscope1-.LFBB1
 122               		.stabd	78,0,0
 123               		.stabs	"",100,0,0,.Letext0
 124               	.Letext0:
GAS LISTING /tmp/ccdWAqCb.s 			page 4


DEFINED SYMBOLS
                            *ABS*:00000000 take1.c
     /tmp/ccdWAqCb.s:2      *ABS*:0000003f __SREG__
     /tmp/ccdWAqCb.s:3      *ABS*:0000003e __SP_H__
     /tmp/ccdWAqCb.s:4      *ABS*:0000003d __SP_L__
     /tmp/ccdWAqCb.s:5      *ABS*:00000034 __CCP__
     /tmp/ccdWAqCb.s:6      *ABS*:00000000 __tmp_reg__
     /tmp/ccdWAqCb.s:7      *ABS*:00000001 __zero_reg__
     /tmp/ccdWAqCb.s:64     .text:00000000 add

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
