Create  Edit  Diff  FrontPage  Index  Search  Changes  Login

FizzBuzzAsm_avr

Version

% avr-gcc -v
Using built-in specs.
Target: avr
Configured with: ../src/configure -v --enable-languages=c,c++ --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libexecdir=/usr/lib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --disable-libssp --build=i486-linux-gnu --host=i486-linux-gnu --target=avr
Thread model: single
gcc version 4.3.0 (GCC) 

Optimized


fizzbuzz.o:     file format elf32-avr

Disassembly of section .text:

00000000 <main>:
   0:	af 92       	push	r10
   2:	bf 92       	push	r11
   4:	cf 92       	push	r12
   6:	df 92       	push	r13
   8:	ef 92       	push	r14
   a:	ff 92       	push	r15
   c:	0f 93       	push	r16
   e:	1f 93       	push	r17
  10:	cf 93       	push	r28
  12:	df 93       	push	r29
  14:	c1 e0       	ldi	r28, 0x01	; 1
  16:	d0 e0       	ldi	r29, 0x00	; 0
  18:	0f 2e       	mov	r0, r31
  1a:	f0 e0       	ldi	r31, 0x00	; 0
			1a: R_AVR_LO8_LDI	.data+0x13
  1c:	cf 2e       	mov	r12, r31
  1e:	f0 e0       	ldi	r31, 0x00	; 0
			1e: R_AVR_HI8_LDI	.data+0x13
  20:	df 2e       	mov	r13, r31
  22:	f0 2d       	mov	r31, r0
  24:	0f 2e       	mov	r0, r31
  26:	f0 e0       	ldi	r31, 0x00	; 0
			26: R_AVR_LO8_LDI	.data+0xe
  28:	ef 2e       	mov	r14, r31
  2a:	f0 e0       	ldi	r31, 0x00	; 0
			2a: R_AVR_HI8_LDI	.data+0xe
  2c:	ff 2e       	mov	r15, r31
  2e:	f0 2d       	mov	r31, r0
  30:	0f 2e       	mov	r0, r31
  32:	f0 e0       	ldi	r31, 0x00	; 0
			32: R_AVR_LO8_LDI	.data+0x9
  34:	af 2e       	mov	r10, r31
  36:	f0 e0       	ldi	r31, 0x00	; 0
			36: R_AVR_HI8_LDI	.data+0x9
  38:	bf 2e       	mov	r11, r31
  3a:	f0 2d       	mov	r31, r0
  3c:	00 e0       	ldi	r16, 0x00	; 0
			3c: R_AVR_LO8_LDI	.data
  3e:	10 e0       	ldi	r17, 0x00	; 0
			3e: R_AVR_HI8_LDI	.data
  40:	8c 2f       	mov	r24, r28
  42:	9d 2f       	mov	r25, r29
  44:	6f e0       	ldi	r22, 0x0F	; 15
  46:	70 e0       	ldi	r23, 0x00	; 0
  48:	00 d0       	rcall	.+0      	; 0x4a <main+0x4a>
			48: R_AVR_13_PCREL	__divmodhi4
  4a:	89 2b       	or	r24, r25
  4c:	01 f4       	brne	.+0      	; 0x4e <main+0x4e>
			4c: R_AVR_7_PCREL	.text+0x56
  4e:	80 2f       	mov	r24, r16
  50:	91 2f       	mov	r25, r17
  52:	00 d0       	rcall	.+0      	; 0x54 <main+0x54>
			52: R_AVR_13_PCREL	puts
  54:	00 c0       	rjmp	.+0      	; 0x56 <main+0x56>
			54: R_AVR_13_PCREL	.text+0x94
  56:	8c 2f       	mov	r24, r28
  58:	9d 2f       	mov	r25, r29
  5a:	65 e0       	ldi	r22, 0x05	; 5
  5c:	70 e0       	ldi	r23, 0x00	; 0
  5e:	00 d0       	rcall	.+0      	; 0x60 <main+0x60>
			5e: R_AVR_13_PCREL	__divmodhi4
  60:	89 2b       	or	r24, r25
  62:	01 f4       	brne	.+0      	; 0x64 <main+0x64>
			62: R_AVR_7_PCREL	.text+0x6c
  64:	8a 2d       	mov	r24, r10
  66:	9b 2d       	mov	r25, r11
  68:	00 d0       	rcall	.+0      	; 0x6a <main+0x6a>
			68: R_AVR_13_PCREL	puts
  6a:	00 c0       	rjmp	.+0      	; 0x6c <main+0x6c>
			6a: R_AVR_13_PCREL	.text+0x94
  6c:	8c 2f       	mov	r24, r28
  6e:	9d 2f       	mov	r25, r29
  70:	63 e0       	ldi	r22, 0x03	; 3
  72:	70 e0       	ldi	r23, 0x00	; 0
  74:	00 d0       	rcall	.+0      	; 0x76 <main+0x76>
			74: R_AVR_13_PCREL	__divmodhi4
  76:	89 2b       	or	r24, r25
  78:	01 f4       	brne	.+0      	; 0x7a <main+0x7a>
			78: R_AVR_7_PCREL	.text+0x82
  7a:	8e 2d       	mov	r24, r14
  7c:	9f 2d       	mov	r25, r15
  7e:	00 d0       	rcall	.+0      	; 0x80 <main+0x80>
			7e: R_AVR_13_PCREL	puts
  80:	00 c0       	rjmp	.+0      	; 0x82 <main+0x82>
			80: R_AVR_13_PCREL	.text+0x94
  82:	df 93       	push	r29
  84:	cf 93       	push	r28
  86:	df 92       	push	r13
  88:	cf 92       	push	r12
  8a:	00 d0       	rcall	.+0      	; 0x8c <main+0x8c>
			8a: R_AVR_13_PCREL	printf
  8c:	0f 90       	pop	r0
  8e:	0f 90       	pop	r0
  90:	0f 90       	pop	r0
  92:	0f 90       	pop	r0
  94:	21 96       	adiw	r28, 0x01	; 1
  96:	c5 36       	cpi	r28, 0x65	; 101
  98:	d1 05       	cpc	r29, r1
  9a:	01 f4       	brne	.+0      	; 0x9c <main+0x9c>
			9a: R_AVR_7_PCREL	.text+0x40
  9c:	df 91       	pop	r29
  9e:	cf 91       	pop	r28
  a0:	1f 91       	pop	r17
  a2:	0f 91       	pop	r16
  a4:	ff 90       	pop	r15
  a6:	ef 90       	pop	r14
  a8:	df 90       	pop	r13
  aa:	cf 90       	pop	r12
  ac:	bf 90       	pop	r11
  ae:	af 90       	pop	r10
  b0:	08 95       	ret

Normal


fizzbuzz.o:     file format elf32-avr

Disassembly of section .text:

00000000 <main>:
   0:	df 93       	push	r29
   2:	cf 93       	push	r28
   4:	00 d0       	rcall	.+0      	; 0x6 <main+0x6>
			4: R_AVR_13_PCREL	.text+0x6
   6:	00 d0       	rcall	.+0      	; 0x8 <main+0x8>
			6: R_AVR_13_PCREL	.text+0x8
   8:	cd b7       	in	r28, 0x3d	; 61
   a:	de b7       	in	r29, 0x3e	; 62
   c:	81 e0       	ldi	r24, 0x01	; 1
   e:	90 e0       	ldi	r25, 0x00	; 0
  10:	9a 83       	std	Y+2, r25	; 0x02
  12:	89 83       	std	Y+1, r24	; 0x01
  14:	00 c0       	rjmp	.+0      	; 0x16 <main+0x16>
			14: R_AVR_13_PCREL	.text+0x88
  16:	89 81       	ldd	r24, Y+1	; 0x01
  18:	9a 81       	ldd	r25, Y+2	; 0x02
  1a:	2f e0       	ldi	r18, 0x0F	; 15
  1c:	30 e0       	ldi	r19, 0x00	; 0
  1e:	62 2f       	mov	r22, r18
  20:	73 2f       	mov	r23, r19
  22:	00 d0       	rcall	.+0      	; 0x24 <main+0x24>
			22: R_AVR_13_PCREL	__divmodhi4
  24:	00 97       	sbiw	r24, 0x00	; 0
  26:	01 f4       	brne	.+0      	; 0x28 <main+0x28>
			26: R_AVR_7_PCREL	.text+0x30
  28:	80 e0       	ldi	r24, 0x00	; 0
			28: R_AVR_LO8_LDI	.data
  2a:	90 e0       	ldi	r25, 0x00	; 0
			2a: R_AVR_HI8_LDI	.data
  2c:	00 d0       	rcall	.+0      	; 0x2e <main+0x2e>
			2c: R_AVR_13_PCREL	puts
  2e:	00 c0       	rjmp	.+0      	; 0x30 <main+0x30>
			2e: R_AVR_13_PCREL	.text+0x7e
  30:	89 81       	ldd	r24, Y+1	; 0x01
  32:	9a 81       	ldd	r25, Y+2	; 0x02
  34:	25 e0       	ldi	r18, 0x05	; 5
  36:	30 e0       	ldi	r19, 0x00	; 0
  38:	62 2f       	mov	r22, r18
  3a:	73 2f       	mov	r23, r19
  3c:	00 d0       	rcall	.+0      	; 0x3e <main+0x3e>
			3c: R_AVR_13_PCREL	__divmodhi4
  3e:	00 97       	sbiw	r24, 0x00	; 0
  40:	01 f4       	brne	.+0      	; 0x42 <main+0x42>
			40: R_AVR_7_PCREL	.text+0x4a
  42:	80 e0       	ldi	r24, 0x00	; 0
			42: R_AVR_LO8_LDI	.data+0x9
  44:	90 e0       	ldi	r25, 0x00	; 0
			44: R_AVR_HI8_LDI	.data+0x9
  46:	00 d0       	rcall	.+0      	; 0x48 <main+0x48>
			46: R_AVR_13_PCREL	puts
  48:	00 c0       	rjmp	.+0      	; 0x4a <main+0x4a>
			48: R_AVR_13_PCREL	.text+0x7e
  4a:	89 81       	ldd	r24, Y+1	; 0x01
  4c:	9a 81       	ldd	r25, Y+2	; 0x02
  4e:	23 e0       	ldi	r18, 0x03	; 3
  50:	30 e0       	ldi	r19, 0x00	; 0
  52:	62 2f       	mov	r22, r18
  54:	73 2f       	mov	r23, r19
  56:	00 d0       	rcall	.+0      	; 0x58 <main+0x58>
			56: R_AVR_13_PCREL	__divmodhi4
  58:	00 97       	sbiw	r24, 0x00	; 0
  5a:	01 f4       	brne	.+0      	; 0x5c <main+0x5c>
			5a: R_AVR_7_PCREL	.text+0x64
  5c:	80 e0       	ldi	r24, 0x00	; 0
			5c: R_AVR_LO8_LDI	.data+0xe
  5e:	90 e0       	ldi	r25, 0x00	; 0
			5e: R_AVR_HI8_LDI	.data+0xe
  60:	00 d0       	rcall	.+0      	; 0x62 <main+0x62>
			60: R_AVR_13_PCREL	puts
  62:	00 c0       	rjmp	.+0      	; 0x64 <main+0x64>
			62: R_AVR_13_PCREL	.text+0x7e
  64:	89 81       	ldd	r24, Y+1	; 0x01
  66:	9a 81       	ldd	r25, Y+2	; 0x02
  68:	9f 93       	push	r25
  6a:	8f 93       	push	r24
  6c:	80 e0       	ldi	r24, 0x00	; 0
			6c: R_AVR_LO8_LDI	.data+0x13
  6e:	90 e0       	ldi	r25, 0x00	; 0
			6e: R_AVR_HI8_LDI	.data+0x13
  70:	9f 93       	push	r25
  72:	8f 93       	push	r24
  74:	00 d0       	rcall	.+0      	; 0x76 <main+0x76>
			74: R_AVR_13_PCREL	printf
  76:	0f 90       	pop	r0
  78:	0f 90       	pop	r0
  7a:	0f 90       	pop	r0
  7c:	0f 90       	pop	r0
  7e:	89 81       	ldd	r24, Y+1	; 0x01
  80:	9a 81       	ldd	r25, Y+2	; 0x02
  82:	01 96       	adiw	r24, 0x01	; 1
  84:	9a 83       	std	Y+2, r25	; 0x02
  86:	89 83       	std	Y+1, r24	; 0x01
  88:	89 81       	ldd	r24, Y+1	; 0x01
  8a:	9a 81       	ldd	r25, Y+2	; 0x02
  8c:	85 36       	cpi	r24, 0x65	; 101
  8e:	91 05       	cpc	r25, r1
  90:	04 f0       	brlt	.+0      	; 0x92 <main+0x92>
			90: R_AVR_7_PCREL	.text+0x16
  92:	0f 90       	pop	r0
  94:	0f 90       	pop	r0
  96:	0f 90       	pop	r0
  98:	0f 90       	pop	r0
  9a:	cf 91       	pop	r28
  9c:	df 91       	pop	r29
  9e:	08 95       	ret
Last modified:2009/04/11 14:50:31
Keyword(s):
References:[FizzBuzzAsm]