タグ

x86に関するserihiroのブックマーク (6)

  • x86-64プロセッサのスタックを理解する - Qiita

    プロセッサにはスタックを操作するためのレジスタや命令があります。 スタックは主に次のデータを格納するために使用します。 リターンアドレス ベースポインタ 引数 ローカル変数 スタック スタックとは後入れ先出し(LIFO;Last In First Out)方式のデータ保存領域です。 データをスタックに入れる操作をpushといいます。 データをスタックから取り出す操作をpopといいます。 popで取り出すデータは最近pushしたデータです。これがLIFOといわれる理由です。 具体例を示します。最初スタックに61,27,67のデータがあるとします。 push 20するとスタックのトップにデータが追加されます。 popするとスタックのトップのデータが削除されて取り出されます。 スタックという言葉には干し草の山という意味があります。 干し草の山(スタック)に干し草(データ)を積み上げたり(push

    x86-64プロセッサのスタックを理解する - Qiita
  • http://www.cs.is.noda.tus.ac.jp/~mune/master/09/x86.pdf

    serihiro
    serihiro 2018/08/24
  • アセンブラに手を出してみる - Qiita

    がっつりとやるつもりはありませんが、もしかしたら読む必要が出るかもしれないので少しだけお勉強。 もともと仕組みを知ることが好きなので読み始めると結構面白いです。 (ほんとはarmのほうが知識としては必要なんだけど、それはまた後日調べる) はじめに 今回まとめているのはx86とx86_64アーキテクチャに関するものです。 armなどはまた異なったものとなります。 また、構文もいくつかあるようで、それぞれ AT&T構文、 Intel構文というようです。 構文の違い %raxなどのように、レジスタに%がついていたりするのはAT&T構文です。 ついていないものはIntel構文です。 また、セクションの定義など細かいところで色々と差異があるようです。 ソース・ディスティネーション 上記構文の中で特に覚えておかないと混乱するのがこの「ソース」と「ディスティネーション」の順番です。 例えば、raxレジス

    アセンブラに手を出してみる - Qiita
    serihiro
    serihiro 2018/08/23
  • Msato's lecture notes

  • introduction to x86-asm

     x86アセンブリ言語入門 昔に書いたのを発掘し, 若干手直しして出しました. 内容の古いところや間違ってるところがあればご指摘ください. 64bit環境についてはx64 アセンブリ言語プログラミングを参照してください. なおこのページではごく簡単なコードを書けるようになること, デバッグ時に知っておけばよいこともあるだろう程度の知識の取得を目指します. 高速化手法自体については触れません. レジスタについて 基用語 最初の一歩 Cとの連係 Cとの連係 その2 Cとの連係 その3 Windows DLL 少し応用 gasの場合は 実際に書くならこんなことも 簡易命令一覧 Intel最適化マニュアルを読もう

    serihiro
    serihiro 2018/08/23
  • エンジニアなら知っておきたい仮想マシンのしくみ 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    エンジニアなら知っておきたい仮想マシンのしくみ 記事一覧 | gihyo.jp
  • 1