Create  Edit  Diff  FrontPage  Index  Search  Changes  Login

FizzBuzzAsm_SH-3

Version

% sh3-linux-gcc41 -v
Using built-in specs.
Target: sh-linux
コンフィグオプション: ../configure --prefix=/usr --program-prefix=sh-linux- --program-suffix=41 --mandir=/usr/share/man --infodir=/usr/sh-linux/share/info --datadir=/usr/sh-linux/share --target=sh-linux --host=i686-redhat-linux-gnu --build=i686-redhat-linux-gnu --with-system-zlib --with-gxx-include-dir=/usr/sh-linux/include/c++/4.1.2 --includedir=/usr/sh-linux/include --enable-checking=release --with-system-zlib --disable-libunwind-exceptions --enable-shared --enable-__cxa_atexit --enable-c99 --enable-threads=posix --enable-long-long --enable-multilib --with-multilib-list=m3,m4,m4-nofpu --with-endian=little --with-cpu=sh3 --enable-languages=c,c++,objc,obj-c++,java --disable-libgcj
スレッドモデル: posix
gcc バージョン 4.1.2 20070925 (Red Hat 4.1.2-33)

Optimized


fizzbuzz.o:     file format elf32-sh-linux

Disassembly of section .text:

00000000 <main>:
   0:	86 2f       	mov.l	r8,@-r15
   2:	96 2f       	mov.l	r9,@-r15
   4:	a6 2f       	mov.l	r10,@-r15
   6:	e6 2f       	mov.l	r14,@-r15
   8:	22 4f       	sts.l	pr,@-r15
   a:	f3 6e       	mov	r15,r14
   c:	01 e8       	mov	#1,r8
   e:	00 e9       	mov	#0,r9
  10:	22 da       	mov.l	9c <main+0x9c>,r10	! 0 <main>
  12:	23 d1       	mov.l	a0 <main+0xa0>,r1	! 88888889
  14:	1d 38       	dmuls.l	r1,r8
  16:	0a 01       	sts	mach,r1
  18:	8c 31       	add	r8,r1
  1a:	21 41       	shar	r1
  1c:	21 41       	shar	r1
  1e:	21 41       	shar	r1
  20:	87 39       	cmp/gt	r8,r9
  22:	2a 32       	subc	r2,r2
  24:	28 31       	sub	r2,r1
  26:	13 62       	mov	r1,r2
  28:	04 e0       	mov	#4,r0
  2a:	0d 42       	shld	r0,r2
  2c:	18 32       	sub	r1,r2
  2e:	20 38       	cmp/eq	r2,r8
  30:	04 8b       	bf	3c <main+0x3c>
  32:	1c d4       	mov.l	a4 <main+0xa4>,r4	! 0 <main>
  34:	0b 4a       	jsr	@r10
  36:	01 78       	add	#1,r8
  38:	27 a0       	bra	8a <main+0x8a>
  3a:	83 60       	mov	r8,r0
  3c:	1a d1       	mov.l	a8 <main+0xa8>,r1	! 66666667
  3e:	1d 38       	dmuls.l	r1,r8
  40:	0a 02       	sts	mach,r2
  42:	21 42       	shar	r2
  44:	87 39       	cmp/gt	r8,r9
  46:	1a 31       	subc	r1,r1
  48:	18 32       	sub	r1,r2
  4a:	23 61       	mov	r2,r1
  4c:	08 41       	shll2	r1
  4e:	2c 31       	add	r2,r1
  50:	10 38       	cmp/eq	r1,r8
  52:	05 8f       	bf.s	60 <main+0x60>
  54:	87 39       	cmp/gt	r8,r9
  56:	15 d4       	mov.l	ac <main+0xac>,r4	! c
  58:	0b 4a       	jsr	@r10
  5a:	01 78       	add	#1,r8
  5c:	15 a0       	bra	8a <main+0x8a>
  5e:	83 60       	mov	r8,r0
  60:	13 d1       	mov.l	b0 <main+0xb0>,r1	! 55555556
  62:	1d 38       	dmuls.l	r1,r8
  64:	0a 02       	sts	mach,r2
  66:	1a 31       	subc	r1,r1
  68:	18 32       	sub	r1,r2
  6a:	23 61       	mov	r2,r1
  6c:	1c 31       	add	r1,r1
  6e:	2c 31       	add	r2,r1
  70:	10 38       	cmp/eq	r1,r8
  72:	04 8b       	bf	7e <main+0x7e>
  74:	0f d4       	mov.l	b4 <main+0xb4>,r4	! 14
  76:	0b 4a       	jsr	@r10
  78:	01 78       	add	#1,r8
  7a:	06 a0       	bra	8a <main+0x8a>
  7c:	83 60       	mov	r8,r0
  7e:	0e d4       	mov.l	b8 <main+0xb8>,r4	! 1c
  80:	0e d0       	mov.l	bc <main+0xbc>,r0	! 0 <main>
  82:	0b 40       	jsr	@r0
  84:	83 65       	mov	r8,r5
  86:	01 78       	add	#1,r8
  88:	83 60       	mov	r8,r0
  8a:	65 88       	cmp/eq	#101,r0
  8c:	c1 8b       	bf	12 <main+0x12>
  8e:	e3 6f       	mov	r14,r15
  90:	26 4f       	lds.l	@r15+,pr
  92:	f6 6e       	mov.l	@r15+,r14
  94:	f6 6a       	mov.l	@r15+,r10
  96:	f6 69       	mov.l	@r15+,r9
  98:	0b 00       	rts	
  9a:	f6 68       	mov.l	@r15+,r8
  9c:	00 00       	.word 0x0000
			9c: R_SH_DIR32	puts
  9e:	00 00       	.word 0x0000
  a0:	89 88       	cmp/eq	#-119,r0
  a2:	88 88       	cmp/eq	#-120,r0
  a4:	00 00       	.word 0x0000
			a4: R_SH_DIR32	.rodata.str1.4
  a6:	00 00       	.word 0x0000
  a8:	67 66       	not	r6,r6
  aa:	66 66       	mov.l	@r6+,r6
  ac:	0c 00       	mov.b	@(r0,r0),r0
			ac: R_SH_DIR32	.rodata.str1.4
  ae:	00 00       	.word 0x0000
  b0:	56 55       	mov.l	@(24,r5),r5
  b2:	55 55       	mov.l	@(20,r5),r5
  b4:	14 00       	mov.b	r1,@(r0,r0)
			b4: R_SH_DIR32	.rodata.str1.4
  b6:	00 00       	.word 0x0000
  b8:	1c 00       	mov.b	@(r0,r1),r0
			b8: R_SH_DIR32	.rodata.str1.4
  ba:	00 00       	.word 0x0000
  bc:	00 00       	.word 0x0000
			bc: R_SH_DIR32	printf
	...

Normal


fizzbuzz.o:     file format elf32-sh-linux

Disassembly of section .text:

00000000 <main>:
   0:	e6 2f       	mov.l	r14,@-r15
   2:	22 4f       	sts.l	pr,@-r15
   4:	f0 7f       	add	#-16,r15
   6:	f3 6e       	mov	r15,r14
   8:	e3 62       	mov	r14,r2
   a:	d0 72       	add	#-48,r2
   c:	01 e1       	mov	#1,r1
   e:	1f 12       	mov.l	r1,@(60,r2)
  10:	6f a0       	bra	f2 <main+0xf2>
  12:	09 00       	nop	
  14:	e3 61       	mov	r14,r1
  16:	d0 71       	add	#-48,r1
  18:	1f 52       	mov.l	@(60,r1),r2
  1a:	3c d1       	mov.l	10c <main+0x10c>,r1	! 88888889
  1c:	1d 32       	dmuls.l	r1,r2
  1e:	0a 01       	sts	mach,r1
  20:	2c 31       	add	r2,r1
  22:	21 41       	shar	r1
  24:	21 41       	shar	r1
  26:	21 41       	shar	r1
  28:	13 63       	mov	r1,r3
  2a:	00 e1       	mov	#0,r1
  2c:	27 31       	cmp/gt	r2,r1
  2e:	1a 31       	subc	r1,r1
  30:	33 67       	mov	r3,r7
  32:	18 37       	sub	r1,r7
  34:	72 2e       	mov.l	r7,@r14
  36:	e2 61       	mov.l	@r14,r1
  38:	04 e3       	mov	#4,r3
  3a:	3d 41       	shld	r3,r1
  3c:	e2 67       	mov.l	@r14,r7
  3e:	78 31       	sub	r7,r1
  40:	23 63       	mov	r2,r3
  42:	18 33       	sub	r1,r3
  44:	32 2e       	mov.l	r3,@r14
  46:	e2 67       	mov.l	@r14,r7
  48:	78 27       	tst	r7,r7
  4a:	06 8b       	bf	5a <main+0x5a>
  4c:	30 d1       	mov.l	110 <main+0x110>,r1	! 0 <main>
  4e:	13 64       	mov	r1,r4
  50:	30 d1       	mov.l	114 <main+0x114>,r1	! 0 <main>
  52:	0b 41       	jsr	@r1
  54:	09 00       	nop	
  56:	45 a0       	bra	e4 <main+0xe4>
  58:	09 00       	nop	
  5a:	e3 61       	mov	r14,r1
  5c:	d0 71       	add	#-48,r1
  5e:	1f 52       	mov.l	@(60,r1),r2
  60:	2d d1       	mov.l	118 <main+0x118>,r1	! 66666667
  62:	1d 32       	dmuls.l	r1,r2
  64:	0a 01       	sts	mach,r1
  66:	21 41       	shar	r1
  68:	13 63       	mov	r1,r3
  6a:	00 e1       	mov	#0,r1
  6c:	27 31       	cmp/gt	r2,r1
  6e:	1a 31       	subc	r1,r1
  70:	33 67       	mov	r3,r7
  72:	18 37       	sub	r1,r7
  74:	71 1e       	mov.l	r7,@(4,r14)
  76:	e1 51       	mov.l	@(4,r14),r1
  78:	08 41       	shll2	r1
  7a:	e1 53       	mov.l	@(4,r14),r3
  7c:	3c 31       	add	r3,r1
  7e:	23 67       	mov	r2,r7
  80:	18 37       	sub	r1,r7
  82:	71 1e       	mov.l	r7,@(4,r14)
  84:	e1 51       	mov.l	@(4,r14),r1
  86:	18 21       	tst	r1,r1
  88:	06 8b       	bf	98 <main+0x98>
  8a:	24 d1       	mov.l	11c <main+0x11c>,r1	! c
  8c:	13 64       	mov	r1,r4
  8e:	21 d1       	mov.l	114 <main+0x114>,r1	! 0 <main>
  90:	0b 41       	jsr	@r1
  92:	09 00       	nop	
  94:	26 a0       	bra	e4 <main+0xe4>
  96:	09 00       	nop	
  98:	e3 61       	mov	r14,r1
  9a:	d0 71       	add	#-48,r1
  9c:	1f 52       	mov.l	@(60,r1),r2
  9e:	20 d1       	mov.l	120 <main+0x120>,r1	! 55555556
  a0:	1d 32       	dmuls.l	r1,r2
  a2:	0a 03       	sts	mach,r3
  a4:	00 e1       	mov	#0,r1
  a6:	27 31       	cmp/gt	r2,r1
  a8:	1a 31       	subc	r1,r1
  aa:	33 67       	mov	r3,r7
  ac:	18 37       	sub	r1,r7
  ae:	72 1e       	mov.l	r7,@(8,r14)
  b0:	e2 51       	mov.l	@(8,r14),r1
  b2:	1c 31       	add	r1,r1
  b4:	e2 53       	mov.l	@(8,r14),r3
  b6:	3c 31       	add	r3,r1
  b8:	23 67       	mov	r2,r7
  ba:	18 37       	sub	r1,r7
  bc:	72 1e       	mov.l	r7,@(8,r14)
  be:	e2 51       	mov.l	@(8,r14),r1
  c0:	18 21       	tst	r1,r1
  c2:	06 8b       	bf	d2 <main+0xd2>
  c4:	17 d1       	mov.l	124 <main+0x124>,r1	! 14
  c6:	13 64       	mov	r1,r4
  c8:	12 d1       	mov.l	114 <main+0x114>,r1	! 0 <main>
  ca:	0b 41       	jsr	@r1
  cc:	09 00       	nop	
  ce:	09 a0       	bra	e4 <main+0xe4>
  d0:	09 00       	nop	
  d2:	15 d2       	mov.l	128 <main+0x128>,r2	! 1c
  d4:	e3 61       	mov	r14,r1
  d6:	d0 71       	add	#-48,r1
  d8:	1f 51       	mov.l	@(60,r1),r1
  da:	23 64       	mov	r2,r4
  dc:	13 65       	mov	r1,r5
  de:	13 d1       	mov.l	12c <main+0x12c>,r1	! 0 <main>
  e0:	0b 41       	jsr	@r1
  e2:	09 00       	nop	
  e4:	e3 62       	mov	r14,r2
  e6:	d0 72       	add	#-48,r2
  e8:	e3 61       	mov	r14,r1
  ea:	d0 71       	add	#-48,r1
  ec:	1f 51       	mov.l	@(60,r1),r1
  ee:	01 71       	add	#1,r1
  f0:	1f 12       	mov.l	r1,@(60,r2)
  f2:	e3 61       	mov	r14,r1
  f4:	d0 71       	add	#-48,r1
  f6:	1f 52       	mov.l	@(60,r1),r2
  f8:	64 e1       	mov	#100,r1
  fa:	17 32       	cmp/gt	r1,r2
  fc:	8a 8b       	bf	14 <main+0x14>
  fe:	10 7e       	add	#16,r14
 100:	e3 6f       	mov	r14,r15
 102:	26 4f       	lds.l	@r15+,pr
 104:	f6 6e       	mov.l	@r15+,r14
 106:	0b 00       	rts	
 108:	09 00       	nop	
 10a:	09 00       	nop	
 10c:	89 88       	cmp/eq	#-119,r0
 10e:	88 88       	cmp/eq	#-120,r0
	...
			110: R_SH_DIR32	.rodata
			114: R_SH_DIR32	puts
 118:	67 66       	not	r6,r6
 11a:	66 66       	mov.l	@r6+,r6
 11c:	0c 00       	mov.b	@(r0,r0),r0
			11c: R_SH_DIR32	.rodata
 11e:	00 00       	.word 0x0000
 120:	56 55       	mov.l	@(24,r5),r5
 122:	55 55       	mov.l	@(20,r5),r5
 124:	14 00       	mov.b	r1,@(r0,r0)
			124: R_SH_DIR32	.rodata
 126:	00 00       	.word 0x0000
 128:	1c 00       	mov.b	@(r0,r1),r0
			128: R_SH_DIR32	.rodata
 12a:	00 00       	.word 0x0000
 12c:	00 00       	.word 0x0000
			12c: R_SH_DIR32	printf
	...
Last modified:2009/05/01 19:38:11
Keyword(s):
References:[FizzBuzzAsm]