ToDo:
http://d.hatena.ne.jp/sumim/20070907/p1
FYI
http://d.hatena.ne.jp/mb2sync/20061205#p1
に衝撃を受けたことが。
あと Haskell の $ とも雰囲気は似てるよな。 結合順序変えるみたいな点で。
(00:11)
http://alohakun.blog7.fc2.com/blog-entry-834.html
のコンパイル速度とか正直気にも止めない速さだな…
sdmkun 作ってた時はソースいじって3分ヘッダいじったら10分、 フルビルド30分って感じだったとおもう。
(11:52)
誰もつっこんでないから書いとくと .L2 とかは お察しの通り自動生成してるラベルかと。
i@um ~/test> cat branch.c main(a) { if (a < 1) { return 1; } else { return 0; } } i@um ~/test>gcc branch.c -S i@um ~/test> cat branch.s .text .globl _main _main: pushl %ebp movl %esp, %ebp subl $24, %esp cmpl $0, 8(%ebp) jg L2 movl $1, -12(%ebp) jmp L4 L2: movl $0, -12(%ebp) L4: movl -12(%ebp), %eax leave ret .subsections_via_symbols
ちゃんと分岐作ってくれたか。
@um ~/test> gcc branch.c -S -O @um ~/test> cat branch.s .text globl _main main: pushl %ebp movl %esp, %ebp cmpl $0, 8(%ebp) setle %al movzbl %al, %eax popl %ebp ret .subsections_via_symbols
return 1 を 2 に
i@um ~/test> cat branch.s .text .globl _main _main: pushl %ebp movl %esp, %ebp cmpl $0, 8(%ebp) setle %al movzbl %al, %eax addl %eax, %eax popl %ebp ret .subsections_via_symbols
3 に
i@um ~/test> cat branch.s .text .globl _main _main: pushl %ebp movl %esp, %ebp cmpl $0, 8(%ebp) setle %al movzbl %al, %eax leal (%eax,%eax,2), %eax popl %ebp ret .subsections_via_symbols
4
.text .globl _main _main: pushl %ebp movl %esp, %ebp cmpl $0, 8(%ebp) setle %al movzbl %al, %eax sall $2, %eax popl %ebp ret .subsections_via_symbols
5
.text .globl _main _main: pushl %ebp movl %esp, %ebp cmpl $0, 8(%ebp) setle %al movzbl %al, %eax leal (%eax,%eax,4), %eax popl %ebp ret .subsections_via_symbols
6
.text .globl _main _main: pushl %ebp movl %esp, %ebp cmpl $0, 8(%ebp) movl $0, %eax movl $6, %edx cmovle %edx, %eax popl %ebp ret .subsections_via_symbols
return 7 と return 2 とかだと
.text .globl _main _main: pushl %ebp movl %esp, %ebp cmpl $0, 8(%ebp) setle %al movzbl %al, %eax leal 2(%eax,%eax,4), %eax popl %ebp ret .subsections_via_symbols
なんか面白いなー
(12:05)
前 | 2007年 9月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
おつかれさまでした〜。
どうもでした。特に最初とか色々適当ですいませんでした。
ありがとうございましたー。
さあ対Perl,Ruby撃墜問題其の1……普通に解答埋め込みで突破されそうな気がしてきましたorz
Sample Outputの桁が足りてないことに気付きました……ieee754を削除していただければ幸いです。
とりあえず消しました。
ありがとうございます。修正した問題をアップさせていただきました。
……全桁出力するようにして発覚したのですが、strtoldがgolf.shinh.orgサーバーと手元のマシンで微妙に違う罠が……libcめ……問題としては成立していますので構わないのですが……orz
以後気をつけます。