タグ

asmに関するogawastのブックマーク (5)

  • Assembly Programming Linux (system call)

    付録 B. システムコールの仕組み すでに説明した(4. Linux カーネルとシステムコール) ように Linux の システムコールはレジスタに引数を設定して int 0x80 によるソフトウェア 割り込みで呼び出します. ここでは linux-2.2.16 のソースから実際にシステムコール呼び出しの 仕組みを次の3つの部分にわけて解説します. 割込みによるシステムコールをカーネルが初期化する部分 システムコールが呼び出された場合に実行される部分 システムコールの実装 【注】 ソースリスト中で行頭の数字は行番号を示しています. カーネルのバージョンによって差がありますが目安にはなるでしょう. 1. 割込みによるシステムコールをカーネルが初期化する部分 最初にカーネルの起動部分で割り込みテーブルの設定をしています. /usr/src/linux/init/main.c: 1350 as

  • アジアのペンギン: アセンブラの勉強方法

    ダンプを解析するときなどはアセンブラを理解していないといけません。勉強しようと思っても最初は意味不明でやりづらいのですが、簡単でわかりやすい方法があります。実務的にはこれで十分だと思いますのでご紹介します。 この方法ではLinuxマシンを用意すればいいだけです。(を探したり、購入する必要もなし) アセンブラを理解するためにはCPUのレジスタなどを理解する必要があります。私が実際にダンプを解析するときに見るのはEIP、ESPぐらいです。アセンブラからソースコードを解析する場合は少しアセンブラ命令の意味を理解していれば、レジスタは汎用的に使用されるため特別な知識はあまり必要ありません。 まずは下記のようなソースコードを作成して、コンパイルします。( Fedora Core 5 32bit の場合 ) # cat assemble.c #include <stdio.h> int globa

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Linux Assembly

    Welcome to the Linux Assembly website! If you are looking for information on assembly programming under UNIX-like operating systems (Linux/BSD/BeOS/etc), this is the right place to be. Here you can find various resources, ranging from tutorials and documentation, to actual programs written in assembly language. As time passes, we will try to provide as much information on the subject as possible,

  • Assembly Programming Linux

    Linux でアセンブリプログラミング copyright (C) 2000-2003 Jun Mizutani (mizutani.jun@nifty.ne.jp) はじめに. アセンブラを使って Linux のプログラミングで遊んでみます.アセンブラには NASM を使用して,カーネルを直接利用することにします. いまさらアセンブラでプログラムを作成することは,時代錯誤と感じる人も 多いかもしれません.「アセンブラでプログラミングなんて職人芸でしょう」 と思うかもしれません. 20年前では趣味のプログラミングは BASIC か アセンブラしか選択肢がありません でしたが,今ではPerl, Ruby からアセンブラまでの間に非常に多くの言語があって, アセンブラは普通では不要な最下層の知識となっていると思います. 10BaseT のツイストペアケーブルのインピーダンス

  • 1