タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

コンパイラとアセンブリ言語に関するadvblogのブックマーク (1)

  • コンパイラの出力 - odz buffer

    まぁ実際に日常的に書く必要はないけど、コンパイラの出力を想像できるぐらいにはなっとかないとプロとしてはまずいと思う。コンパイラの出力を想像するという意味では、gdbとかでアセンブラレベルデバグを嫌っちゅーほどして慣れるのが一番近道かな。そのうちアセンブラコードの並びを見てCソースコードのどの行かわかるようになる。 ふむふむ。なるほど。さて以下のコードはそれぞれ、ある関数を逆アセンブリしたものですが、どういう処理でしょう。 mov %edi,%eax mov $0x55555556,%edx imul %edx mov %edi,%eax sar $0x1f,%eax sub %eax,%edx lea (%rdx,%rdx,2),%edx sub %edx,%edimov %edi,%eax mov $0x66666667,%edx sar $0x1f,%edi imul %edx sar

    コンパイラの出力 - odz buffer
  • 1