Create
Edit
Diff
FrontPage
Index
Search
Changes
Login
はじめてのひき - FizzBuzzAsm_SH-4
Title
! Version % sh4-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: b6 2f mov.l r11,@-r15 8: e6 2f mov.l r14,@-r15 a: 22 4f sts.l pr,@-r15 c: f3 6e mov r15,r14 e: 01 e8 mov #1,r8 10: 00 e9 mov #0,r9 12: 23 da mov.l a0 <main+0xa0>,r10 ! 0 <main> 14: 23 db mov.l a4 <main+0xa4>,r11 ! 0 <main> 16: 24 d1 mov.l a8 <main+0xa8>,r1 ! 88888889 18: 1d 38 dmuls.l r1,r8 1a: 0a 02 sts mach,r2 1c: 8c 32 add r8,r2 1e: fd e1 mov #-3,r1 20: 1c 42 shad r1,r2 22: 87 39 cmp/gt r8,r9 24: 1a 31 subc r1,r1 26: 18 32 sub r1,r2 28: 23 61 mov r2,r1 2a: 04 e0 mov #4,r0 2c: 0d 41 shld r0,r1 2e: 28 31 sub r2,r1 30: 10 38 cmp/eq r1,r8 32: 04 8b bf 3e <main+0x3e> 34: 1d d4 mov.l ac <main+0xac>,r4 ! 0 <main> 36: 0b 4a jsr @r10 38: 01 78 add #1,r8 3a: 26 a0 bra 8a <main+0x8a> 3c: 83 60 mov r8,r0 3e: 1c d1 mov.l b0 <main+0xb0>,r1 ! 66666667 40: 1d 38 dmuls.l r1,r8 42: 0a 02 sts mach,r2 44: 21 42 shar r2 46: 87 39 cmp/gt r8,r9 48: 1a 31 subc r1,r1 4a: 18 32 sub r1,r2 4c: 23 61 mov r2,r1 4e: 08 41 shll2 r1 50: 2c 31 add r2,r1 52: 10 38 cmp/eq r1,r8 54: 05 8f bf.s 62 <main+0x62> 56: 87 39 cmp/gt r8,r9 58: 16 d4 mov.l b4 <main+0xb4>,r4 ! c 5a: 0b 4a jsr @r10 5c: 01 78 add #1,r8 5e: 14 a0 bra 8a <main+0x8a> 60: 83 60 mov r8,r0 62: 15 d1 mov.l b8 <main+0xb8>,r1 ! 55555556 64: 1d 38 dmuls.l r1,r8 66: 0a 02 sts mach,r2 68: 1a 31 subc r1,r1 6a: 18 32 sub r1,r2 6c: 23 61 mov r2,r1 6e: 1c 31 add r1,r1 70: 2c 31 add r2,r1 72: 10 38 cmp/eq r1,r8 74: 04 8b bf 80 <main+0x80> 76: 11 d4 mov.l bc <main+0xbc>,r4 ! 14 78: 0b 4a jsr @r10 7a: 01 78 add #1,r8 7c: 05 a0 bra 8a <main+0x8a> 7e: 83 60 mov r8,r0 80: 0f d4 mov.l c0 <main+0xc0>,r4 ! 1c 82: 0b 4b jsr @r11 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: c3 8b bf 16 <main+0x16> 8e: e3 6f mov r14,r15 90: 26 4f lds.l @r15+,pr 92: f6 6e mov.l @r15+,r14 94: f6 6b mov.l @r15+,r11 96: f6 6a mov.l @r15+,r10 98: f6 69 mov.l @r15+,r9 9a: f6 68 mov.l @r15+,r8 9c: 0b 00 rts 9e: 09 00 nop ... a0: R_SH_DIR32 puts a4: R_SH_DIR32 printf a8: 89 88 cmp/eq #-119,r0 aa: 88 88 cmp/eq #-120,r0 ac: 00 00 .word 0x0000 ac: R_SH_DIR32 .rodata.str1.4 ae: 00 00 .word 0x0000 b0: 67 66 not r6,r6 b2: 66 66 mov.l @r6+,r6 b4: 0c 00 mov.b @(r0,r0),r0 b4: R_SH_DIR32 .rodata.str1.4 b6: 00 00 .word 0x0000 b8: 56 55 mov.l @(24,r5),r5 ba: 55 55 mov.l @(20,r5),r5 bc: 14 00 mov.b r1,@(r0,r0) bc: R_SH_DIR32 .rodata.str1.4 be: 00 00 .word 0x0000 c0: 1c 00 mov.b @(r0,r1),r0 c0: R_SH_DIR32 .rodata.str1.4 ... ! 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: 6e a0 bra f0 <main+0xf0> 12: 09 00 nop 14: e3 61 mov r14,r1 16: d0 71 add #-48,r1 18: 1f 53 mov.l @(60,r1),r3 1a: 3c d1 mov.l 10c <main+0x10c>,r1 ! 88888889 1c: 1d 33 dmuls.l r1,r3 1e: 0a 01 sts mach,r1 20: 13 62 mov r1,r2 22: 3c 32 add r3,r2 24: fd e1 mov #-3,r1 26: 1c 42 shad r1,r2 28: 00 e1 mov #0,r1 2a: 37 31 cmp/gt r3,r1 2c: 1a 31 subc r1,r1 2e: 23 67 mov r2,r7 30: 18 37 sub r1,r7 32: 72 2e mov.l r7,@r14 34: e2 61 mov.l @r14,r1 36: 04 e2 mov #4,r2 38: 2d 41 shld r2,r1 3a: e2 67 mov.l @r14,r7 3c: 78 31 sub r7,r1 3e: 33 62 mov r3,r2 40: 18 32 sub r1,r2 42: 22 2e mov.l r2,@r14 44: e2 63 mov.l @r14,r3 46: 38 23 tst r3,r3 48: 06 8b bf 58 <main+0x58> 4a: 31 d1 mov.l 110 <main+0x110>,r1 ! 0 <main> 4c: 13 64 mov r1,r4 4e: 31 d1 mov.l 114 <main+0x114>,r1 ! 0 <main> 50: 0b 41 jsr @r1 52: 09 00 nop 54: 45 a0 bra e2 <main+0xe2> 56: 09 00 nop 58: e3 61 mov r14,r1 5a: d0 71 add #-48,r1 5c: 1f 52 mov.l @(60,r1),r2 5e: 2e d1 mov.l 118 <main+0x118>,r1 ! 66666667 60: 1d 32 dmuls.l r1,r2 62: 0a 01 sts mach,r1 64: 21 41 shar r1 66: 13 63 mov r1,r3 68: 00 e1 mov #0,r1 6a: 27 31 cmp/gt r2,r1 6c: 1a 31 subc r1,r1 6e: 33 67 mov r3,r7 70: 18 37 sub r1,r7 72: 71 1e mov.l r7,@(4,r14) 74: e1 51 mov.l @(4,r14),r1 76: 08 41 shll2 r1 78: e1 53 mov.l @(4,r14),r3 7a: 3c 31 add r3,r1 7c: 23 67 mov r2,r7 7e: 18 37 sub r1,r7 80: 71 1e mov.l r7,@(4,r14) 82: e1 51 mov.l @(4,r14),r1 84: 18 21 tst r1,r1 86: 06 8b bf 96 <main+0x96> 88: 24 d1 mov.l 11c <main+0x11c>,r1 ! c 8a: 13 64 mov r1,r4 8c: 21 d1 mov.l 114 <main+0x114>,r1 ! 0 <main> 8e: 0b 41 jsr @r1 90: 09 00 nop 92: 26 a0 bra e2 <main+0xe2> 94: 09 00 nop 96: e3 61 mov r14,r1 98: d0 71 add #-48,r1 9a: 1f 52 mov.l @(60,r1),r2 9c: 20 d1 mov.l 120 <main+0x120>,r1 ! 55555556 9e: 1d 32 dmuls.l r1,r2 a0: 0a 03 sts mach,r3 a2: 00 e1 mov #0,r1 a4: 27 31 cmp/gt r2,r1 a6: 1a 31 subc r1,r1 a8: 33 67 mov r3,r7 aa: 18 37 sub r1,r7 ac: 72 1e mov.l r7,@(8,r14) ae: e2 51 mov.l @(8,r14),r1 b0: 1c 31 add r1,r1 b2: e2 53 mov.l @(8,r14),r3 b4: 3c 31 add r3,r1 b6: 23 67 mov r2,r7 b8: 18 37 sub r1,r7 ba: 72 1e mov.l r7,@(8,r14) bc: e2 51 mov.l @(8,r14),r1 be: 18 21 tst r1,r1 c0: 06 8b bf d0 <main+0xd0> c2: 18 d1 mov.l 124 <main+0x124>,r1 ! 14 c4: 13 64 mov r1,r4 c6: 13 d1 mov.l 114 <main+0x114>,r1 ! 0 <main> c8: 0b 41 jsr @r1 ca: 09 00 nop cc: 09 a0 bra e2 <main+0xe2> ce: 09 00 nop d0: 15 d2 mov.l 128 <main+0x128>,r2 ! 1c d2: e3 61 mov r14,r1 d4: d0 71 add #-48,r1 d6: 1f 51 mov.l @(60,r1),r1 d8: 23 64 mov r2,r4 da: 13 65 mov r1,r5 dc: 13 d1 mov.l 12c <main+0x12c>,r1 ! 0 <main> de: 0b 41 jsr @r1 e0: 09 00 nop e2: e3 62 mov r14,r2 e4: d0 72 add #-48,r2 e6: e3 61 mov r14,r1 e8: d0 71 add #-48,r1 ea: 1f 51 mov.l @(60,r1),r1 ec: 01 71 add #1,r1 ee: 1f 12 mov.l r1,@(60,r2) f0: e3 61 mov r14,r1 f2: d0 71 add #-48,r1 f4: 1f 52 mov.l @(60,r1),r2 f6: 64 e1 mov #100,r1 f8: 17 32 cmp/gt r1,r2 fa: 01 89 bt 100 <main+0x100> fc: 8a af bra 14 <main+0x14> fe: 09 00 nop 100: 10 7e add #16,r14 102: e3 6f mov r14,r15 104: 26 4f lds.l @r15+,pr 106: f6 6e mov.l @r15+,r14 108: 0b 00 rts 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 ...
人生、宇宙、すべての答え+1
:
Keyword(s) (one keyword per line)
[FizzBuzzAsm_SH-4]
See
TextFormattingRules
for formatting help.
See TextFormattingRules for formatting help.