適当な概要
# アセンブリ出力 $ gcc -S translate.c # アセンブル $ as -o translate.o translate.s # リンク $ gcc -o translate translate.o $ ./translate
実行環境は、x86_64のFedora20
何がしたいかというと、アセンブラを見たかった。それだけ。
なお、Oで最適化、gでデバッグ情報の付与。
逆アセなどしてみて機械語を眺めてみたりしての感想
$ gcc -g -c translate.c -o translate.o $ objdump -d -M intel translate.o
movsxd rdx,eax movzx edx,BYTE PTR [rdx+0x0] add edx,0x1 cdqe mov BYTE PTR [rax+0x0],dl mov eax,DWORD PTR [rip+0x0]
こいつをinc命令1つで処理してのけるアセンブリに対する知識と技量がなかった。 そもそもこれを1行でまとめるのがincなのかどうかもわからなかった。