タグ

アセンブリに関するigrepのブックマーク (4)

  • Xbyakライクなx64用静的ASM生成ツールs_xbyak

    初めに これはx64用JITアセンブラXbyakに慣れてしまい、JITでなく静的なアセンブリ言語(以下ASM)もXbyakライクに書きたいという人(つまり私)がPython上で似た開発体験を求めて作ったツールです。 s_xbyakの"s_"は静的(static)からつけました。 s_xbyakの特徴 Pythonで作られたASMコードジェネレータ gas (GNU Assembler), Netwide Assembler (NASM), Microsoft Macro Assemblerに対応 Win64 ABIとAMD64 (Linux)に(一部)対応 XbyakライクなDSL 背景 私はC++上でJITコードを書きたくてXbyakを作りました。するとJIT機能だけでなく、ASMC++の文法で記述できるのはとても便利なことが分かりました。既存のアセンブラの文法は制約が多かったり、擬似

    Xbyakライクなx64用静的ASM生成ツールs_xbyak
  • 即値とは - IT用語辞典

    操作対象としてメモリ上の番地やレジスタ名などではなく、記述した値そのものを指定することからこのように呼ばれる。 例えば、x86系プロセッサの標準的なアセンブリ言語で、「mov ax,bx」という命令は「BXレジスタの内容をAXレジスタにコピーせよ」という意味になるが、「mov ax,0」とした場合は「AXレジスタに0を代入せよ」という意味になる。この「0」のように、対象となるデータそのものをコード中に記したものを即値という。 また、高水準プログラミング言語でソースコード中に直に書き込まれたデータのことや、そのようなデータの記述形式を即値ということもあるが、こちらは「リテラル」(literal)と呼ぶのが一般的である。

    即値とは - IT用語辞典
  • C言語のアセンブリ言語コード化〜直観編 - Qiita

    1. はじめに このテキストではC言語で書かれた簡単な階乗プログラムを元にコンパイラがアセンブリコードを生成する時の考え方を示しました。 2. C言語のソースコード C言語で書かれた階乗のプログラム(元にするプログラムという意味で ソースコード と言います)を次に示します。まずはトレースしてみて動作を確認します。とくに どの経路をたどるかと 変数の値がどのように変化するかに注目してください。 unsigned int fact(unsigned int x) { unsigned int y; if(x == 0) { y = 1; } else { y = x * fact(x - 1); } return y; } void main(void) { unsigned int p; p = fact(3); ... } なお,unsigned int は符号なしの整数という意味です。

    C言語のアセンブリ言語コード化〜直観編 - Qiita
  • C言語とC++がわかる本 《ITpro STORE/書籍》

    C言語とその派生言語であるC++を「理解する」ためのです。Cプログラミングの最初の例題と言えば「hello world」ですが、そのプログラムの裏で何が起きているのかを多くの実験プログラムを通してとことん学びます。メモリー、レジスタを始めとするコンピュータの「仕組み」もしっかり解説。C++に関してはWindows 8/RT向けの最新プログラミング例を紹介し、「C++はこんな風に使うんだ!」という驚きを味わっていただきます。言語の文法解説とはひと味違った、生きたプログラミングのためのC/C++入門です。 訂正補足情報はこちら 【第1部】 C言語/C++/C#でプログラムを書こう! 《 Intro. 》 「Cだからできること」がある 《 1章 》 C/C++/C#プログラミングを「今」始めるための基礎知識10 《 2章 》 C/C++/C#ならこれができる!20 【第2部】 プログラムはなぜ

    igrep
    igrep 2013/10/19
    "前半が第1部から第3部はいいとしてなんで第4部がWindows 8アプリなんだろう。。。よくわからん組み合わせだなぁ。"
  • 1