"asm"と"__asm__"は、基本的には同じであるが、"__asm__"は使用している言語の予約語/関数等とぶつかる場合使用します。またはANSI C互換のコードをつくっている場合、"asm"キーワードが使用できなくなるので"__asm__"を使います。 /* keyword asm と同じ関数*/ function asm(void){ } /* asmが使用できないので__asm__を使用 */ function inline(){ __asm__("asm code"); }
通常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
a.out形式はUNIXで長い間使われてきたが、Unix System Vの登場時に、クロスコンパイルや動的リンクなどに、対応するためにより良い形式が必要だとして、ELF(Executable and Linking Format)が作られました。 ELFは、再配置可可能オブジェクト・実行可能・共有オブジェクト・コアという4種類のファイルがあます。 再配置可可能オブジェクト 再配置可可能ファイルは、アセンブラやコンパイラが作成する、オブジェクトファイル 実行可能 実行可能は、再配置が全て完了し、シンボルも解決してある(実行時に解決される、共有ライブラリのシンボルは除く) "lsコマンド"のような実行可能なファイル 共有オブジェクト リンカ用のシンボル情報と実行時に使われるコードを格納する、共有ライブラリ等のファイル コア ELF ファイルフォーマットを使っている実行可能ファイルはELFヘッ
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く