タグ

assemblyに関するdevelopmasoのブックマーク (2)

  • アセンブリに触れてみよう - Qiita

    .LC0: .string "%d\n" main: push rbp mov rbp, rsp sub rsp, 16 mov DWORD PTR [rbp-4], 1 mov DWORD PTR [rbp-8], 2 mov edx, DWORD PTR [rbp-4] mov eax, DWORD PTR [rbp-8] add eax, edx mov esi, eax mov edi, OFFSET FLAT:.LC0 mov eax, 0 call printf mov eax, 0 leave ret …何が書かれているか分かりませんね。 というわけで、今回は最終的に、このアセンブリがなんとなく読めるようになることを目標にします。 それでは前提知識を説明していきます。はじめに、アセンブリなどの用語の説明をしていきます。 2. 前提知識 用語説明 まず、それぞれの言葉を説明しま

    アセンブリに触れてみよう - Qiita
  • アプリケーションエンジニアのための低レイヤ入門 - Qiita

    はじめに 今年のはじめに話題になった CPU 脆弱性の解説サイトを読んで最適化のための投機的実行について知り、来は実行されるはずのない処理があらかじめ実行されるとかどういうこと?と驚き、低レイヤの世界ではよくわからないワンダーなことが行われているのだなあと興味を持ちました。 この記事ではそんな低レイヤワンダーランドについて勉強してみたので、普段は高レイヤなアプリケーションを作っていて低レイヤは専門ではありませんよという自分と同じような人向けに入門的なことを雑に書いていきます。 取り扱うのは高水準言語からアセンブラ、機械語、プロセッサくらいまででソフトウェアの部分が主になります。 高水準言語はどうやって実行されるのか まずは高水準言語がコンパイルされて CPU で実行されるまでのざっくりとした流れを見てみます。 高水準言語としてはここでは C 言語を例にあげています。 C 言語のコードはコ

    アプリケーションエンジニアのための低レイヤ入門 - Qiita
  • 1