はじめてのひき - FizzBuzzAsm_sparc32 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
! Version
% sparc-elf-gcc -v
Using built-in specs.
Target: sparc-elf
Configured with: ../configure --target=sparc-elf --prefix=/usr/local/sparc-elf --disable-shared --disable-libssp --enable-languages=c
Thread model: single
gcc version 4.3.1 (GCC)
! Optimized
fizzbuzz.o: file format elf32-sparc
Disassembly of section .text:
00000000 <main>:
0: 9d e3 bf 98 save %sp, -104, %sp
4: b0 10 20 01 mov 1, %i0
8: 03 00 00 00 sethi %hi(0), %g1
8: R_SPARC_HI22 .rodata.str1.8+0x20
c: a4 10 60 00 mov %g1, %l2 ! 0 <main>
c: R_SPARC_LO10 .rodata.str1.8+0x20
10: 03 00 00 00 sethi %hi(0), %g1
10: R_SPARC_HI22 .rodata.str1.8+0x18
14: a2 10 60 00 mov %g1, %l1 ! 0 <main>
14: R_SPARC_LO10 .rodata.str1.8+0x18
18: 03 00 00 00 sethi %hi(0), %g1
18: R_SPARC_HI22 .rodata.str1.8+0x10
1c: a6 10 60 00 mov %g1, %l3 ! 0 <main>
1c: R_SPARC_LO10 .rodata.str1.8+0x10
20: 03 00 00 00 sethi %hi(0), %g1
20: R_SPARC_HI22 .rodata.str1.8
24: a0 10 60 00 mov %g1, %l0 ! 0 <main>
24: R_SPARC_LO10 .rodata.str1.8
28: 90 10 00 18 mov %i0, %o0
2c: 40 00 00 00 call 2c <main+0x2c>
2c: R_SPARC_WDISP30 .rem
30: 92 10 20 0f mov 0xf, %o1
34: 80 a2 20 00 cmp %o0, 0
38: 32 80 00 06 bne,a 50 <main+0x50>
3c: 90 10 00 18 mov %i0, %o0
40: 40 00 00 00 call 40 <main+0x40>
40: R_SPARC_WDISP30 puts
44: 90 10 00 10 mov %l0, %o0
48: 10 80 00 17 b a4 <main+0xa4>
4c: b0 06 20 01 inc %i0
50: 40 00 00 00 call 50 <main+0x50>
50: R_SPARC_WDISP30 .rem
54: 92 10 20 05 mov 5, %o1
58: 80 a2 20 00 cmp %o0, 0
5c: 32 80 00 06 bne,a 74 <main+0x74>
60: 90 10 00 18 mov %i0, %o0
64: 40 00 00 00 call 64 <main+0x64>
64: R_SPARC_WDISP30 puts
68: 90 10 00 13 mov %l3, %o0
6c: 10 80 00 0e b a4 <main+0xa4>
70: b0 06 20 01 inc %i0
74: 40 00 00 00 call 74 <main+0x74>
74: R_SPARC_WDISP30 .rem
78: 92 10 20 03 mov 3, %o1
7c: 80 a2 20 00 cmp %o0, 0
80: 32 80 00 06 bne,a 98 <main+0x98>
84: 90 10 00 12 mov %l2, %o0
88: 40 00 00 00 call 88 <main+0x88>
88: R_SPARC_WDISP30 puts
8c: 90 10 00 11 mov %l1, %o0
90: 10 80 00 05 b a4 <main+0xa4>
94: b0 06 20 01 inc %i0
98: 40 00 00 00 call 98 <main+0x98>
98: R_SPARC_WDISP30 printf
9c: 92 10 00 18 mov %i0, %o1
a0: b0 06 20 01 inc %i0
a4: 80 a6 20 65 cmp %i0, 0x65
a8: 12 bf ff e1 bne 2c <main+0x2c>
ac: 90 10 00 18 mov %i0, %o0
b0: 81 c7 e0 08 ret
b4: 81 e8 00 00 restore
! Normal
fizzbuzz.o: file format elf32-sparc
Disassembly of section .text:
00000000 <main>:
0: 9d e3 bf 88 save %sp, -120, %sp
4: 82 10 20 01 mov 1, %g1
8: c2 27 bf f4 st %g1, [ %fp + -12 ]
c: 10 80 00 37 b e8 <main+0xe8>
10: 01 00 00 00 nop
14: c2 07 bf f4 ld [ %fp + -12 ], %g1
18: 90 10 00 01 mov %g1, %o0
1c: 92 10 20 0f mov 0xf, %o1
20: 40 00 00 00 call 20 <main+0x20>
20: R_SPARC_WDISP30 .rem
24: 01 00 00 00 nop
28: 82 10 00 08 mov %o0, %g1
2c: 80 a0 60 00 cmp %g1, 0
30: 12 80 00 08 bne 50 <main+0x50>
34: 01 00 00 00 nop
38: 03 00 00 00 sethi %hi(0), %g1
38: R_SPARC_HI22 .rodata
3c: 90 10 60 00 mov %g1, %o0 ! 0 <main>
3c: R_SPARC_LO10 .rodata
40: 40 00 00 00 call 40 <main+0x40>
40: R_SPARC_WDISP30 puts
44: 01 00 00 00 nop
48: 10 80 00 25 b dc <main+0xdc>
4c: 01 00 00 00 nop
50: c2 07 bf f4 ld [ %fp + -12 ], %g1
54: 90 10 00 01 mov %g1, %o0
58: 92 10 20 05 mov 5, %o1
5c: 40 00 00 00 call 5c <main+0x5c>
5c: R_SPARC_WDISP30 .rem
60: 01 00 00 00 nop
64: 82 10 00 08 mov %o0, %g1
68: 80 a0 60 00 cmp %g1, 0
6c: 12 80 00 08 bne 8c <main+0x8c>
70: 01 00 00 00 nop
74: 03 00 00 00 sethi %hi(0), %g1
74: R_SPARC_HI22 .rodata+0x10
78: 90 10 60 00 mov %g1, %o0 ! 0 <main>
78: R_SPARC_LO10 .rodata+0x10
7c: 40 00 00 00 call 7c <main+0x7c>
7c: R_SPARC_WDISP30 puts
80: 01 00 00 00 nop
84: 10 80 00 16 b dc <main+0xdc>
88: 01 00 00 00 nop
8c: c2 07 bf f4 ld [ %fp + -12 ], %g1
90: 90 10 00 01 mov %g1, %o0
94: 92 10 20 03 mov 3, %o1
98: 40 00 00 00 call 98 <main+0x98>
98: R_SPARC_WDISP30 .rem
9c: 01 00 00 00 nop
a0: 82 10 00 08 mov %o0, %g1
a4: 80 a0 60 00 cmp %g1, 0
a8: 12 80 00 08 bne c8 <main+0xc8>
ac: 01 00 00 00 nop
b0: 03 00 00 00 sethi %hi(0), %g1
b0: R_SPARC_HI22 .rodata+0x18
b4: 90 10 60 00 mov %g1, %o0 ! 0 <main>
b4: R_SPARC_LO10 .rodata+0x18
b8: 40 00 00 00 call b8 <main+0xb8>
b8: R_SPARC_WDISP30 puts
bc: 01 00 00 00 nop
c0: 10 80 00 07 b dc <main+0xdc>
c4: 01 00 00 00 nop
c8: 03 00 00 00 sethi %hi(0), %g1
c8: R_SPARC_HI22 .rodata+0x20
cc: 90 10 60 00 mov %g1, %o0 ! 0 <main>
cc: R_SPARC_LO10 .rodata+0x20
d0: d2 07 bf f4 ld [ %fp + -12 ], %o1
d4: 40 00 00 00 call d4 <main+0xd4>
d4: R_SPARC_WDISP30 printf
d8: 01 00 00 00 nop
dc: c2 07 bf f4 ld [ %fp + -12 ], %g1
e0: 82 00 60 01 inc %g1
e4: c2 27 bf f4 st %g1, [ %fp + -12 ]
e8: c2 07 bf f4 ld [ %fp + -12 ], %g1
ec: 80 a0 60 64 cmp %g1, 0x64
f0: 04 bf ff c9 ble 14 <main+0x14>
f4: 01 00 00 00 nop
f8: 81 e8 00 00 restore
fc: 81 c3 e0 08 retl
100: 01 00 00 00 nop
[[beraten|http://festnetzanbieter-dslanbieter-wechseln.de/Nordrhein-Westfalen-NRW/Hochsauerlandkreis/Arnsberg]]
% sparc-elf-gcc -v
Using built-in specs.
Target: sparc-elf
Configured with: ../configure --target=sparc-elf --prefix=/usr/local/sparc-elf --disable-shared --disable-libssp --enable-languages=c
Thread model: single
gcc version 4.3.1 (GCC)
! Optimized
fizzbuzz.o: file format elf32-sparc
Disassembly of section .text:
00000000 <main>:
0: 9d e3 bf 98 save %sp, -104, %sp
4: b0 10 20 01 mov 1, %i0
8: 03 00 00 00 sethi %hi(0), %g1
8: R_SPARC_HI22 .rodata.str1.8+0x20
c: a4 10 60 00 mov %g1, %l2 ! 0 <main>
c: R_SPARC_LO10 .rodata.str1.8+0x20
10: 03 00 00 00 sethi %hi(0), %g1
10: R_SPARC_HI22 .rodata.str1.8+0x18
14: a2 10 60 00 mov %g1, %l1 ! 0 <main>
14: R_SPARC_LO10 .rodata.str1.8+0x18
18: 03 00 00 00 sethi %hi(0), %g1
18: R_SPARC_HI22 .rodata.str1.8+0x10
1c: a6 10 60 00 mov %g1, %l3 ! 0 <main>
1c: R_SPARC_LO10 .rodata.str1.8+0x10
20: 03 00 00 00 sethi %hi(0), %g1
20: R_SPARC_HI22 .rodata.str1.8
24: a0 10 60 00 mov %g1, %l0 ! 0 <main>
24: R_SPARC_LO10 .rodata.str1.8
28: 90 10 00 18 mov %i0, %o0
2c: 40 00 00 00 call 2c <main+0x2c>
2c: R_SPARC_WDISP30 .rem
30: 92 10 20 0f mov 0xf, %o1
34: 80 a2 20 00 cmp %o0, 0
38: 32 80 00 06 bne,a 50 <main+0x50>
3c: 90 10 00 18 mov %i0, %o0
40: 40 00 00 00 call 40 <main+0x40>
40: R_SPARC_WDISP30 puts
44: 90 10 00 10 mov %l0, %o0
48: 10 80 00 17 b a4 <main+0xa4>
4c: b0 06 20 01 inc %i0
50: 40 00 00 00 call 50 <main+0x50>
50: R_SPARC_WDISP30 .rem
54: 92 10 20 05 mov 5, %o1
58: 80 a2 20 00 cmp %o0, 0
5c: 32 80 00 06 bne,a 74 <main+0x74>
60: 90 10 00 18 mov %i0, %o0
64: 40 00 00 00 call 64 <main+0x64>
64: R_SPARC_WDISP30 puts
68: 90 10 00 13 mov %l3, %o0
6c: 10 80 00 0e b a4 <main+0xa4>
70: b0 06 20 01 inc %i0
74: 40 00 00 00 call 74 <main+0x74>
74: R_SPARC_WDISP30 .rem
78: 92 10 20 03 mov 3, %o1
7c: 80 a2 20 00 cmp %o0, 0
80: 32 80 00 06 bne,a 98 <main+0x98>
84: 90 10 00 12 mov %l2, %o0
88: 40 00 00 00 call 88 <main+0x88>
88: R_SPARC_WDISP30 puts
8c: 90 10 00 11 mov %l1, %o0
90: 10 80 00 05 b a4 <main+0xa4>
94: b0 06 20 01 inc %i0
98: 40 00 00 00 call 98 <main+0x98>
98: R_SPARC_WDISP30 printf
9c: 92 10 00 18 mov %i0, %o1
a0: b0 06 20 01 inc %i0
a4: 80 a6 20 65 cmp %i0, 0x65
a8: 12 bf ff e1 bne 2c <main+0x2c>
ac: 90 10 00 18 mov %i0, %o0
b0: 81 c7 e0 08 ret
b4: 81 e8 00 00 restore
! Normal
fizzbuzz.o: file format elf32-sparc
Disassembly of section .text:
00000000 <main>:
0: 9d e3 bf 88 save %sp, -120, %sp
4: 82 10 20 01 mov 1, %g1
8: c2 27 bf f4 st %g1, [ %fp + -12 ]
c: 10 80 00 37 b e8 <main+0xe8>
10: 01 00 00 00 nop
14: c2 07 bf f4 ld [ %fp + -12 ], %g1
18: 90 10 00 01 mov %g1, %o0
1c: 92 10 20 0f mov 0xf, %o1
20: 40 00 00 00 call 20 <main+0x20>
20: R_SPARC_WDISP30 .rem
24: 01 00 00 00 nop
28: 82 10 00 08 mov %o0, %g1
2c: 80 a0 60 00 cmp %g1, 0
30: 12 80 00 08 bne 50 <main+0x50>
34: 01 00 00 00 nop
38: 03 00 00 00 sethi %hi(0), %g1
38: R_SPARC_HI22 .rodata
3c: 90 10 60 00 mov %g1, %o0 ! 0 <main>
3c: R_SPARC_LO10 .rodata
40: 40 00 00 00 call 40 <main+0x40>
40: R_SPARC_WDISP30 puts
44: 01 00 00 00 nop
48: 10 80 00 25 b dc <main+0xdc>
4c: 01 00 00 00 nop
50: c2 07 bf f4 ld [ %fp + -12 ], %g1
54: 90 10 00 01 mov %g1, %o0
58: 92 10 20 05 mov 5, %o1
5c: 40 00 00 00 call 5c <main+0x5c>
5c: R_SPARC_WDISP30 .rem
60: 01 00 00 00 nop
64: 82 10 00 08 mov %o0, %g1
68: 80 a0 60 00 cmp %g1, 0
6c: 12 80 00 08 bne 8c <main+0x8c>
70: 01 00 00 00 nop
74: 03 00 00 00 sethi %hi(0), %g1
74: R_SPARC_HI22 .rodata+0x10
78: 90 10 60 00 mov %g1, %o0 ! 0 <main>
78: R_SPARC_LO10 .rodata+0x10
7c: 40 00 00 00 call 7c <main+0x7c>
7c: R_SPARC_WDISP30 puts
80: 01 00 00 00 nop
84: 10 80 00 16 b dc <main+0xdc>
88: 01 00 00 00 nop
8c: c2 07 bf f4 ld [ %fp + -12 ], %g1
90: 90 10 00 01 mov %g1, %o0
94: 92 10 20 03 mov 3, %o1
98: 40 00 00 00 call 98 <main+0x98>
98: R_SPARC_WDISP30 .rem
9c: 01 00 00 00 nop
a0: 82 10 00 08 mov %o0, %g1
a4: 80 a0 60 00 cmp %g1, 0
a8: 12 80 00 08 bne c8 <main+0xc8>
ac: 01 00 00 00 nop
b0: 03 00 00 00 sethi %hi(0), %g1
b0: R_SPARC_HI22 .rodata+0x18
b4: 90 10 60 00 mov %g1, %o0 ! 0 <main>
b4: R_SPARC_LO10 .rodata+0x18
b8: 40 00 00 00 call b8 <main+0xb8>
b8: R_SPARC_WDISP30 puts
bc: 01 00 00 00 nop
c0: 10 80 00 07 b dc <main+0xdc>
c4: 01 00 00 00 nop
c8: 03 00 00 00 sethi %hi(0), %g1
c8: R_SPARC_HI22 .rodata+0x20
cc: 90 10 60 00 mov %g1, %o0 ! 0 <main>
cc: R_SPARC_LO10 .rodata+0x20
d0: d2 07 bf f4 ld [ %fp + -12 ], %o1
d4: 40 00 00 00 call d4 <main+0xd4>
d4: R_SPARC_WDISP30 printf
d8: 01 00 00 00 nop
dc: c2 07 bf f4 ld [ %fp + -12 ], %g1
e0: 82 00 60 01 inc %g1
e4: c2 27 bf f4 st %g1, [ %fp + -12 ]
e8: c2 07 bf f4 ld [ %fp + -12 ], %g1
ec: 80 a0 60 64 cmp %g1, 0x64
f0: 04 bf ff c9 ble 14 <main+0x14>
f4: 01 00 00 00 nop
f8: 81 e8 00 00 restore
fc: 81 c3 e0 08 retl
100: 01 00 00 00 nop