2020-08-23 アセンブリ勉強記録 2 アセンブリ 勉強したこと ハードウェアスタック スタックをハードウェアでサポートしており、rspレジスタを利用する。 rspレジスタにはスタックの最も上にある要素のアドレスが格納される。オペランドのサイズは通常8バイトを使うが2,4バイトも使える。 stack overflowはrspが確保した領域外を指してしまうことらしい。Segmentation faultが発生する。 コンパイラ GASとNASMがある。微妙に記法が違うっぽくて間違えるとコンパイルが通らない。 GAS AT&T 構文 アセンブラー・ディレクティブは.始まり .intel_syntaxでIntel構文に変更できる NASM Intel構文 アセンブラー・ディレクティブに.は不要 _start リンクされたプログラムのデフォルトのエントリーポイントとして使用されるラベル。 参考文献 GitHub - IBM/japan-technology: IBM Related Japanese technical documents - Code Patterns, Learning Path, Tutorials, etc.