Create
Edit
Diff
FrontPage
Index
Search
Changes
Login
はじめてのひき - FizzBuzzAsm_ppc
Title
! Version % gcc -v Using built-in specs. Target: powerpc-apple-darwin9 Configured with: /var/tmp/gcc/gcc-5465~16/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-apple-darwin9 --program-prefix= --host=powerpc-apple-darwin9 --target=powerpc-apple-darwin9 Thread model: posix gcc version 4.0.1 (Apple Inc. build 5465) ! Optimized fizzbuzz_opt.o: file format mach-o-be Disassembly of section LC_SEGMENT.: 0000000000000000 <LC_SEGMENT.>: 0: 7c 08 02 a6 mflr r0 4: be e1 ff dc stmw r23,-36(r1) 8: 90 01 00 08 stw r0,8(r1) c: 94 21 ff 90 stwu r1,-112(r1) 10: 42 9f 00 05 bcl- 20,4*cr7+so,0x14 14: 7f e8 02 a6 mflr r31 18: 3b c0 00 01 li r30,1 1c: 3f a0 88 88 lis r29,-30584 20: 63 bd 88 89 ori r29,r29,34953 24: 3f 5f 00 00 addis r26,r31,0 28: 3f 80 66 66 lis r28,26214 2c: 63 9c 66 67 ori r28,r28,26215 30: 3e ff 00 00 addis r23,r31,0 34: 3f 60 55 55 lis r27,21845 38: 63 7b 55 56 ori r27,r27,21846 3c: 3f 1f 00 00 addis r24,r31,0 40: 3f 3f 00 00 addis r25,r31,0 44: 7c 1e e8 96 mulhw r0,r30,r29 48: 7c 00 f2 14 add r0,r0,r30 4c: 7c 00 1e 70 srawi r0,r0,3 50: 7f c2 fe 70 srawi r2,r30,31 54: 7c 02 00 50 subf r0,r2,r0 58: 1c 00 00 0f mulli r0,r0,15 5c: 7f 9e 00 00 cmpw cr7,r30,r0 60: 40 9e 00 10 bne- cr7,0x70 64: 38 7a 04 58 addi r3,r26,1112 68: 48 00 00 b9 bl 0x120 6c: 48 00 00 5c b 0xc8 70: 7c 1e e0 96 mulhw r0,r30,r28 74: 7c 00 0e 70 srawi r0,r0,1 78: 7f c2 fe 70 srawi r2,r30,31 7c: 7c 02 00 50 subf r0,r2,r0 80: 1c 00 00 05 mulli r0,r0,5 84: 7f 9e 00 00 cmpw cr7,r30,r0 88: 40 9e 00 10 bne- cr7,0x98 8c: 38 77 04 64 addi r3,r23,1124 90: 48 00 00 91 bl 0x120 94: 48 00 00 34 b 0xc8 98: 7c 1e d8 96 mulhw r0,r30,r27 9c: 7f c2 fe 70 srawi r2,r30,31 a0: 7c 02 00 50 subf r0,r2,r0 a4: 1c 00 00 03 mulli r0,r0,3 a8: 7f 9e 00 00 cmpw cr7,r30,r0 ac: 40 9e 00 10 bne- cr7,0xbc b0: 38 78 04 6c addi r3,r24,1132 b4: 48 00 00 6d bl 0x120 b8: 48 00 00 10 b 0xc8 bc: 38 79 04 74 addi r3,r25,1140 c0: 7f c4 f3 78 mr r4,r30 c4: 48 00 00 3d bl 0x100 c8: 2f 9e 00 64 cmpwi cr7,r30,100 cc: 3b de 00 01 addi r30,r30,1 d0: 40 9e ff 74 bne+ cr7,0x44 d4: 38 21 00 70 addi r1,r1,112 d8: 80 01 00 08 lwz r0,8(r1) dc: 7c 08 03 a6 mtlr r0 e0: ba e1 ff dc lmw r23,-36(r1) e4: 4e 80 00 20 blr ! Normal fizzbuzz.o: file format mach-o-be Disassembly of section LC_SEGMENT.: 0000000000000000 <LC_SEGMENT.>: 0: 7c 08 02 a6 mflr r0 4: bf c1 ff f8 stmw r30,-8(r1) 8: 90 01 00 08 stw r0,8(r1) c: 94 21 ff 90 stwu r1,-112(r1) 10: 7c 3e 0b 78 mr r30,r1 14: 42 9f 00 05 bcl- 20,4*cr7+so,0x18 18: 7f e8 02 a6 mflr r31 1c: 38 00 00 01 li r0,1 20: 90 1e 00 38 stw r0,56(r30) 24: 48 00 01 04 b 0x128 28: 80 5e 00 38 lwz r2,56(r30) 2c: 3c 00 88 88 lis r0,-30584 30: 60 00 88 89 ori r0,r0,34953 34: 7c 02 00 96 mulhw r0,r2,r0 38: 7c 00 12 14 add r0,r0,r2 3c: 7c 09 1e 70 srawi r9,r0,3 40: 7c 40 fe 70 srawi r0,r2,31 44: 7d 20 48 50 subf r9,r0,r9 48: 91 3e 00 50 stw r9,80(r30) 4c: 81 3e 00 50 lwz r9,80(r30) 50: 1c 09 00 0f mulli r0,r9,15 54: 7c 40 10 50 subf r2,r0,r2 58: 90 5e 00 50 stw r2,80(r30) 5c: 80 1e 00 50 lwz r0,80(r30) 60: 2f 80 00 00 cmpwi cr7,r0,0 64: 40 9e 00 14 bne- cr7,0x78 68: 3c 5f 00 00 addis r2,r31,0 6c: 38 62 04 6c addi r3,r2,1132 70: 48 00 01 11 bl 0x180 74: 48 00 00 a8 b 0x11c 78: 80 5e 00 38 lwz r2,56(r30) 7c: 3c 00 66 66 lis r0,26214 80: 60 00 66 67 ori r0,r0,26215 84: 7c 02 00 96 mulhw r0,r2,r0 88: 7c 09 0e 70 srawi r9,r0,1 8c: 7c 40 fe 70 srawi r0,r2,31 90: 7d 20 48 50 subf r9,r0,r9 94: 91 3e 00 4c stw r9,76(r30) 98: 81 3e 00 4c lwz r9,76(r30) 9c: 1c 09 00 05 mulli r0,r9,5 a0: 7c 40 10 50 subf r2,r0,r2 a4: 90 5e 00 4c stw r2,76(r30) a8: 80 1e 00 4c lwz r0,76(r30) ac: 2f 80 00 00 cmpwi cr7,r0,0 b0: 40 9e 00 14 bne- cr7,0xc4 b4: 3c 5f 00 00 addis r2,r31,0 b8: 38 62 04 78 addi r3,r2,1144 bc: 48 00 00 c5 bl 0x180 c0: 48 00 00 5c b 0x11c c4: 80 5e 00 38 lwz r2,56(r30) c8: 3c 00 55 55 lis r0,21845 cc: 60 00 55 56 ori r0,r0,21846 d0: 7d 22 00 96 mulhw r9,r2,r0 d4: 7c 40 fe 70 srawi r0,r2,31 d8: 7d 20 48 50 subf r9,r0,r9 dc: 91 3e 00 48 stw r9,72(r30) e0: 81 3e 00 48 lwz r9,72(r30) e4: 1c 09 00 03 mulli r0,r9,3 e8: 7c 40 10 50 subf r2,r0,r2 ec: 90 5e 00 48 stw r2,72(r30) f0: 80 1e 00 48 lwz r0,72(r30) f4: 2f 80 00 00 cmpwi cr7,r0,0 f8: 40 9e 00 14 bne- cr7,0x10c fc: 3c 5f 00 00 addis r2,r31,0 100: 38 62 04 80 addi r3,r2,1152 104: 48 00 00 7d bl 0x180 108: 48 00 00 14 b 0x11c 10c: 3c 5f 00 00 addis r2,r31,0 110: 38 62 04 88 addi r3,r2,1160 114: 80 9e 00 38 lwz r4,56(r30) 118: 48 00 00 49 bl 0x160 11c: 80 5e 00 38 lwz r2,56(r30) 120: 38 02 00 01 addi r0,r2,1 124: 90 1e 00 38 stw r0,56(r30) 128: 80 1e 00 38 lwz r0,56(r30) 12c: 2f 80 00 64 cmpwi cr7,r0,100 130: 40 9d fe f8 ble+ cr7,0x28 134: 80 21 00 00 lwz r1,0(r1) 138: 80 01 00 08 lwz r0,8(r1) 13c: 7c 08 03 a6 mtlr r0 140: bb c1 ff f8 lmw r30,-8(r1) 144: 4e 80 00 20 blr ! Optimized with otool -tvV fizzbuzz.o: (__TEXT,__text) section _main: 00000000 mfspr r0,lr 00000004 stmw r23,0xffdc(r1) 00000008 stw r0,0x8(r1) 0000000c stwu r1,0xff90(r1) 00000010 bcl 20,31,0x14 00000014 mfspr r31,lr 00000018 li r30,0x1 0000001c lis r29,0x8888 00000020 ori r29,r29,0x8889 00000024 addis r26,r31,ha16(0x46c-0x14) 00000028 lis r28,0x6666 0000002c ori r28,r28,0x6667 00000030 addis r23,r31,ha16(0x478-0x14) 00000034 lis r27,0x5555 00000038 ori r27,r27,0x5556 0000003c addis r24,r31,ha16(0x480-0x14) 00000040 addis r25,r31,ha16(0x488-0x14) 00000044 mulhw r0,r30,r29 00000048 add r0,r0,r30 0000004c srawi r0,r0,3 00000050 srawi r2,r30,31 00000054 subf r0,r2,r0 00000058 mulli r0,r0,0xf 0000005c cmpw cr7,r30,r0 00000060 bne cr7,0x70 00000064 addi r3,r26,lo16(0x46c-0x14) 00000068 bl 0x120 ; symbol stub for: _puts 0000006c b 0xc8 00000070 mulhw r0,r30,r28 00000074 srawi r0,r0,1 00000078 srawi r2,r30,31 0000007c subf r0,r2,r0 00000080 mulli r0,r0,0x5 00000084 cmpw cr7,r30,r0 00000088 bne cr7,0x98 0000008c addi r3,r23,lo16(0x478-0x14) 00000090 bl 0x120 ; symbol stub for: _puts 00000094 b 0xc8 00000098 mulhw r0,r30,r27 0000009c srawi r2,r30,31 000000a0 subf r0,r2,r0 000000a4 mulli r0,r0,0x3 000000a8 cmpw cr7,r30,r0 000000ac bne cr7,0xbc 000000b0 addi r3,r24,lo16(0x480-0x14) 000000b4 bl 0x120 ; symbol stub for: _puts 000000b8 b 0xc8 000000bc addi r3,r25,lo16(0x488-0x14) 000000c0 or r4,r30,r30 000000c4 bl 0x100 ; symbol stub for: _printf$LDBL128 000000c8 cmpwi cr7,r30,0x64 000000cc addi r30,r30,0x1 000000d0 bne cr7,0x44 000000d4 addi r1,r1,0x70 000000d8 lwz r0,0x8(r1) 000000dc mtspr lr,r0 000000e0 lmw r23,0xffdc(r1) 000000e4 blr ! Normal with otool -tvV fizzbuzz.o: (__TEXT,__text) section _main: 00000000 mfspr r0,lr 00000004 stmw r30,0xfff8(r1) 00000008 stw r0,0x8(r1) 0000000c stwu r1,0xff90(r1) 00000010 or r30,r1,r1 00000014 bcl 20,31,0x18 00000018 mfspr r31,lr 0000001c li r0,0x1 00000020 stw r0,0x38(r30) 00000024 b 0x128 00000028 lwz r2,0x38(r30) 0000002c lis r0,0x8888 00000030 ori r0,r0,0x8889 00000034 mulhw r0,r2,r0 00000038 add r0,r0,r2 0000003c srawi r9,r0,3 00000040 srawi r0,r2,31 00000044 subf r9,r0,r9 00000048 stw r9,0x50(r30) 0000004c lwz r9,0x50(r30) 00000050 mulli r0,r9,0xf 00000054 subf r2,r0,r2 00000058 stw r2,0x50(r30) 0000005c lwz r0,0x50(r30) 00000060 cmpwi cr7,r0,_main 00000064 bne cr7,0x78 00000068 addis r2,r31,ha16(0x484-0x18) 0000006c addi r3,r2,lo16(0x484-0x18) 00000070 bl 0x180 ; symbol stub for: _puts 00000074 b 0x11c 00000078 lwz r2,0x38(r30) 0000007c lis r0,0x6666 00000080 ori r0,r0,0x6667 00000084 mulhw r0,r2,r0 00000088 srawi r9,r0,1 0000008c srawi r0,r2,31 00000090 subf r9,r0,r9 00000094 stw r9,0x4c(r30) 00000098 lwz r9,0x4c(r30) 0000009c mulli r0,r9,0x5 000000a0 subf r2,r0,r2 000000a4 stw r2,0x4c(r30) 000000a8 lwz r0,0x4c(r30) 000000ac cmpwi cr7,r0,_main 000000b0 bne cr7,0xc4 000000b4 addis r2,r31,ha16(0x490-0x18) 000000b8 addi r3,r2,lo16(0x490-0x18) 000000bc bl 0x180 ; symbol stub for: _puts 000000c0 b 0x11c 000000c4 lwz r2,0x38(r30) 000000c8 lis r0,0x5555 000000cc ori r0,r0,0x5556 000000d0 mulhw r9,r2,r0 000000d4 srawi r0,r2,31 000000d8 subf r9,r0,r9 000000dc stw r9,0x48(r30) 000000e0 lwz r9,0x48(r30) 000000e4 mulli r0,r9,0x3 000000e8 subf r2,r0,r2 000000ec stw r2,0x48(r30) 000000f0 lwz r0,0x48(r30) 000000f4 cmpwi cr7,r0,_main 000000f8 bne cr7,0x10c 000000fc addis r2,r31,ha16(0x498-0x18) 00000100 addi r3,r2,lo16(0x498-0x18) 00000104 bl 0x180 ; symbol stub for: _puts 00000108 b 0x11c 0000010c addis r2,r31,ha16(0x4a0-0x18) 00000110 addi r3,r2,lo16(0x4a0-0x18) 00000114 lwz r4,0x38(r30) 00000118 bl 0x160 ; symbol stub for: _printf$LDBL128 0000011c lwz r2,0x38(r30) 00000120 addi r0,r2,0x1 00000124 stw r0,0x38(r30) 00000128 lwz r0,0x38(r30) 0000012c cmpwi cr7,r0,0x64 00000130 ble cr7,0x28 00000134 lwz r1,_main(r1) 00000138 lwz r0,0x8(r1) 0000013c mtspr lr,r0 00000140 lmw r30,0xfff8(r1) 00000144 blr
人生、宇宙、すべての答え+1
:
Keyword(s) (one keyword per line)
[FizzBuzzAsm_ppc]
See
TextFormattingRules
for formatting help.
See TextFormattingRules for formatting help.