タグ

ブックマーク / caspar.hazymoon.jp (4)

  • GCC Inline Assembler

    "asm"と"__asm__"は、基的には同じであるが、"__asm__"は使用している言語の予約語/関数等とぶつかる場合使用します。またはANSI C互換のコードをつくっている場合、"asm"キーワードが使用できなくなるので"__asm__"を使います。 /* keyword asm と同じ関数*/ function asm(void){ } /* asmが使用できないので__asm__を使用 */ function inline(){ __asm__("asm code"); }

  • Gnu Assembler

    通常Intel系のアセンブラは、Intel Syntaxと呼ばれる文法を使用していますが、GNU AssemblerはAT&T Syntaxを使用しています。そして、AT&T System V/386アセンブラの文法は、インテル アセンブラの文法と非常に異なっています。BSD kernelのアセンブラ部分はAT&T Syntaxが使われているので、これらの違いについて説明しておきます。 なお現在の、GNU AssemblerはIntel Syntaxもサポートしており、Intel ModeとAT&T Mode双方の変更が可能となります。 '.intel_syntax'ディレクティブを指定する事によりIntel Mode '.att_syntax'ディレクティブを指定する事によりAT&T Mode

  • ELF Format

    a.out形式はUNIXで長い間使われてきたが、Unix System Vの登場時に、クロスコンパイルや動的リンクなどに、対応するためにより良い形式が必要だとして、ELF(Executable and Linking Format)が作られました。 ELFは、再配置可可能オブジェクト・実行可能・共有オブジェクト・コアという4種類のファイルがあます。 再配置可可能オブジェクト 再配置可可能ファイルは、アセンブラやコンパイラが作成する、オブジェクトファイル 実行可能 実行可能は、再配置が全て完了し、シンボルも解決してある(実行時に解決される、共有ライブラリのシンボルは除く) "lsコマンド"のような実行可能なファイル 共有オブジェクト リンカ用のシンボル情報と実行時に使われるコードを格納する、共有ライブラリ等のファイル コア ELF ファイルフォーマットを使っている実行可能ファイルはELFヘッ

  • OpenBSD Kernel Hacking meno

    i386 CPU Register (未完) CPUの判別 メモリ機構 セグメント機構 ページング機構1 ページング機構2 割り込みと例外 リアルモードの割り込み/例外 プロテクトモードの割り込み/例外 H/W キーボード コントローラ(KBC) GATE A20 BIOS Data Area IO Base Address OpenBSDで使われるデータ構造 List Singly-linked List(SLIST) Doubly-linked List(LIST) Queue Simple queue(SIMPLEQ) Tail queue(TAILQ) Circle queue(CIRCLEQ) ファイルフォーマット a.out format elf format コンパイラとか GCC マニュアル Gnu Assembler GCC Inline Assembler Kernel

  • 1