OS自作入門 四日目

「OS自作入門 四日目」の編集履歴(バックアップ)一覧に戻る

OS自作入門 四日目 - (2007/07/09 (月) 01:12:08) のソース

*OS自作入門四日目のまとめ
自分のためのまとめなので、他の人には意味不かも。


**アセンブラ
 [INSTRSET "i486p"]				; 486の命令まで使いたいという記述

**C言語
:&(AND) | かつ。and演算。それぞれの桁について比較して、両方が1だったら1、どちらかが0なら0。
 0100 AND 1101 -> 0100
: (OR) | または。or演算。それぞれの桁について比較して、どちらかが1だったら1。
 0100 OR  1101 -> 1101
:^(XOR) | xor演算。どちらかが0かつもう一方が1のとき1。0かつ0は0。1かつ1は0。ビット反転。
 0100 XOR 1101 -> 1001

**C言語からメモリへの書き込み
C言語の関数上で与えられた引数は
 1番目[ESP+ 4]
 2番目[ESP+ 8]
 3番目[ESP+12]
 4番目[ESP+16]
 ...
に書いてある。


**ポインタ
 int i;
 char *p;
 
 p = (char *) i;
 *p = i & 0x0f;
変数iを宣言。
ポインタ用の変数pを宣言。
ポインタ用の変数pにポインタ変数にキャストしたiを代入。
p番地にiを0x0fでandをとった値を代入。

番地は以下の様に指定することが可能。
 *(p + i)
 *(i + p)
 p[i]
 i[p]
これらは全て番地の足し算。 
----
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。