Create  Edit  Diff  FrontPage  Index  Search  Changes  Login

FizzBuzzAsm_arm

Version

% arm-none-linux-gnueabi-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) 

Optimized


fizzbuzz.o:     file format elf32-littlearm

Disassembly of section .text:

00000000 <main>:
   0:	e92d4ff8 	push	{r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
   4:	e3a04001 	mov	r4, #1	; 0x1
   8:	e59f50a8 	ldr	r5, [pc, #168]	; b8 <main+0xb8>
   c:	e59f60a8 	ldr	r6, [pc, #168]	; bc <main+0xbc>
  10:	e59f70a8 	ldr	r7, [pc, #168]	; c0 <main+0xc0>
  14:	e59f90a8 	ldr	r9, [pc, #168]	; c4 <main+0xc4>
  18:	e59fa0a8 	ldr	sl, [pc, #168]	; c8 <main+0xc8>
  1c:	e59fb0a8 	ldr	fp, [pc, #168]	; cc <main+0xcc>
  20:	e59f80a8 	ldr	r8, [pc, #168]	; d0 <main+0xd0>
  24:	e0c32495 	smull	r2, r3, r5, r4
  28:	e0833004 	add	r3, r3, r4
  2c:	e1a02fc4 	asr	r2, r4, #31
  30:	e06221c3 	rsb	r2, r2, r3, asr #3
  34:	e1a03202 	lsl	r3, r2, #4
  38:	e0623003 	rsb	r3, r2, r3
  3c:	e1540003 	cmp	r4, r3
  40:	1a000002 	bne	50 <main+0x50>
  44:	e1a00008 	mov	r0, r8
  48:	ebfffffe 	bl	0 <puts>
			48: R_ARM_CALL	puts
  4c:	ea000015 	b	a8 <main+0xa8>
  50:	e0c32496 	smull	r2, r3, r6, r4
  54:	e1a02fc4 	asr	r2, r4, #31
  58:	e06220c3 	rsb	r2, r2, r3, asr #1
  5c:	e1a03102 	lsl	r3, r2, #2
  60:	e0833002 	add	r3, r3, r2
  64:	e1540003 	cmp	r4, r3
  68:	1a000002 	bne	78 <main+0x78>
  6c:	e1a0000b 	mov	r0, fp
  70:	ebfffffe 	bl	0 <puts>
			70: R_ARM_CALL	puts
  74:	ea00000b 	b	a8 <main+0xa8>
  78:	e0c23497 	smull	r3, r2, r7, r4
  7c:	e0422fc4 	sub	r2, r2, r4, asr #31
  80:	e1a03082 	lsl	r3, r2, #1
  84:	e0833002 	add	r3, r3, r2
  88:	e1540003 	cmp	r4, r3
  8c:	1a000002 	bne	9c <main+0x9c>
  90:	e1a0000a 	mov	r0, sl
  94:	ebfffffe 	bl	0 <puts>
			94: R_ARM_CALL	puts
  98:	ea000002 	b	a8 <main+0xa8>
  9c:	e1a00009 	mov	r0, r9
  a0:	e1a01004 	mov	r1, r4
  a4:	ebfffffe 	bl	0 <printf>
			a4: R_ARM_CALL	printf
  a8:	e2844001 	add	r4, r4, #1	; 0x1
  ac:	e3540065 	cmp	r4, #101	; 0x65
  b0:	1affffdb 	bne	24 <main+0x24>
  b4:	e8bd8ff8 	pop	{r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
  b8:	88888889 	.word	0x88888889
  bc:	66666667 	.word	0x66666667
  c0:	55555556 	.word	0x55555556
  c4:	0000001c 	.word	0x0000001c
			c4: R_ARM_ABS32	.rodata.str1.4
  c8:	00000014 	.word	0x00000014
			c8: R_ARM_ABS32	.rodata.str1.4
  cc:	0000000c 	.word	0x0000000c
			cc: R_ARM_ABS32	.rodata.str1.4
  d0:	00000000 	.word	0x00000000
			d0: R_ARM_ABS32	.rodata.str1.4

Normal


fizzbuzz.o:     file format elf32-littlearm

Disassembly of section .text:

00000000 <main>:
   0:	e92d4800 	push	{fp, lr}
   4:	e28db004 	add	fp, sp, #4	; 0x4
   8:	e24dd018 	sub	sp, sp, #24	; 0x18
   c:	e3a03001 	mov	r3, #1	; 0x1
  10:	e50b3008 	str	r3, [fp, #-8]
  14:	ea00003e 	b	114 <main+0x114>
  18:	e51b2008 	ldr	r2, [fp, #-8]
  1c:	e59f3104 	ldr	r3, [pc, #260]	; 128 <main+0x128>
  20:	e0c30392 	smull	r0, r3, r2, r3
  24:	e0833002 	add	r3, r3, r2
  28:	e1a011c3 	asr	r1, r3, #3
  2c:	e1a03fc2 	asr	r3, r2, #31
  30:	e0633001 	rsb	r3, r3, r1
  34:	e50b3018 	str	r3, [fp, #-24]
  38:	e51b3018 	ldr	r3, [fp, #-24]
  3c:	e1a03203 	lsl	r3, r3, #4
  40:	e51b1018 	ldr	r1, [fp, #-24]
  44:	e0613003 	rsb	r3, r1, r3
  48:	e0633002 	rsb	r3, r3, r2
  4c:	e50b3018 	str	r3, [fp, #-24]
  50:	e51b2018 	ldr	r2, [fp, #-24]
  54:	e3520000 	cmp	r2, #0	; 0x0
  58:	1a000002 	bne	68 <main+0x68>
  5c:	e59f00c8 	ldr	r0, [pc, #200]	; 12c <main+0x12c>
  60:	ebfffffe 	bl	0 <puts>
			60: R_ARM_CALL	puts
  64:	ea000027 	b	108 <main+0x108>
  68:	e51b1008 	ldr	r1, [fp, #-8]
  6c:	e59f30bc 	ldr	r3, [pc, #188]	; 130 <main+0x130>
  70:	e0c30391 	smull	r0, r3, r1, r3
  74:	e1a020c3 	asr	r2, r3, #1
  78:	e1a03fc1 	asr	r3, r1, #31
  7c:	e0633002 	rsb	r3, r3, r2
  80:	e50b3014 	str	r3, [fp, #-20]
  84:	e51b3014 	ldr	r3, [fp, #-20]
  88:	e1a03103 	lsl	r3, r3, #2
  8c:	e51b2014 	ldr	r2, [fp, #-20]
  90:	e0833002 	add	r3, r3, r2
  94:	e0633001 	rsb	r3, r3, r1
  98:	e50b3014 	str	r3, [fp, #-20]
  9c:	e51b3014 	ldr	r3, [fp, #-20]
  a0:	e3530000 	cmp	r3, #0	; 0x0
  a4:	1a000002 	bne	b4 <main+0xb4>
  a8:	e59f0084 	ldr	r0, [pc, #132]	; 134 <main+0x134>
  ac:	ebfffffe 	bl	0 <puts>
			ac: R_ARM_CALL	puts
  b0:	ea000014 	b	108 <main+0x108>
  b4:	e51b2008 	ldr	r2, [fp, #-8]
  b8:	e59f3078 	ldr	r3, [pc, #120]	; 138 <main+0x138>
  bc:	e0c10293 	smull	r0, r1, r3, r2
  c0:	e1a03fc2 	asr	r3, r2, #31
  c4:	e0633001 	rsb	r3, r3, r1
  c8:	e50b3010 	str	r3, [fp, #-16]
  cc:	e51b3010 	ldr	r3, [fp, #-16]
  d0:	e1a03083 	lsl	r3, r3, #1
  d4:	e51b1010 	ldr	r1, [fp, #-16]
  d8:	e0833001 	add	r3, r3, r1
  dc:	e0633002 	rsb	r3, r3, r2
  e0:	e50b3010 	str	r3, [fp, #-16]
  e4:	e51b2010 	ldr	r2, [fp, #-16]
  e8:	e3520000 	cmp	r2, #0	; 0x0
  ec:	1a000002 	bne	fc <main+0xfc>
  f0:	e59f0044 	ldr	r0, [pc, #68]	; 13c <main+0x13c>
  f4:	ebfffffe 	bl	0 <puts>
			f4: R_ARM_CALL	puts
  f8:	ea000002 	b	108 <main+0x108>
  fc:	e59f003c 	ldr	r0, [pc, #60]	; 140 <main+0x140>
 100:	e51b1008 	ldr	r1, [fp, #-8]
 104:	ebfffffe 	bl	0 <printf>
			104: R_ARM_CALL	printf
 108:	e51b3008 	ldr	r3, [fp, #-8]
 10c:	e2833001 	add	r3, r3, #1	; 0x1
 110:	e50b3008 	str	r3, [fp, #-8]
 114:	e51b3008 	ldr	r3, [fp, #-8]
 118:	e3530064 	cmp	r3, #100	; 0x64
 11c:	daffffbd 	ble	18 <main+0x18>
 120:	e24bd004 	sub	sp, fp, #4	; 0x4
 124:	e8bd8800 	pop	{fp, pc}
 128:	88888889 	.word	0x88888889
 12c:	00000000 	.word	0x00000000
			12c: R_ARM_ABS32	.rodata
 130:	66666667 	.word	0x66666667
 134:	0000000c 	.word	0x0000000c
			134: R_ARM_ABS32	.rodata
 138:	55555556 	.word	0x55555556
 13c:	00000014 	.word	0x00000014
			13c: R_ARM_ABS32	.rodata
 140:	0000001c 	.word	0x0000001c
			140: R_ARM_ABS32	.rodata
Last modified:2009/04/11 12:53:17
Keyword(s):
References:[FizzBuzzAsm]