回答編集履歴
2
「ハードウェア」を追加
answer
CHANGED
@@ -16,4 +16,4 @@
|
|
16
16
|
一方、-fPIE はアセンブルした時点で関数呼出し の call 命令がそのまま動作可能な機械語になるんですね。call 命令の形式はひとつじゃなくて、飛び先を指定する方法が違うので。
|
17
17
|
|
18
18
|
リンクしない、つまり分割コンパイルは不可能、ソースコード一本プログラムしか動かせない。その程度のコードをOSと呼ぶのはまだまだ早い。OSを自作したくてよちよち歩きを始めたところならそうした事情・条件を、最初から詳しく示して問うべきだったでしょう。
|
19
|
-
アセンブラ、リンカなどのツールの使い方、その意味。カギになる機械語(例えばcall命令)の動作、CPUのアーキテクチャ諸々・・・まだまだ先は長そうですね。Enjoy!
|
19
|
+
アセンブラ、リンカなどのツールの使い方、その意味。カギになる機械語(例えばcall命令)の動作、CPUのアーキテクチャ諸々、ハードウェアの具体的な事情の数々・・・まだまだ先は長そうですね。Enjoy!
|
1
一文追加
answer
CHANGED
@@ -15,4 +15,5 @@
|
|
15
15
|
「関数を新たに定義すると動かなくなる」・・・拝見しました。それが-fPIEで関数を呼び出せるようになったということは、-fPIEが無い場合は関数呼出しの call 命令のオペランドがリンカによって決定される、そのような命令にコンパイルされている、ことを示しています。
|
16
16
|
一方、-fPIE はアセンブルした時点で関数呼出し の call 命令がそのまま動作可能な機械語になるんですね。call 命令の形式はひとつじゃなくて、飛び先を指定する方法が違うので。
|
17
17
|
|
18
|
-
リンクしない、つまり分割コンパイルは不可能、ソースコード一本プログラムしか動かせない。その程度のコードをOSと呼ぶのはまだまだ早い。OSを自作したくてよちよち歩きを始めたところならそうした事情・条件を、最初から詳しく示して問うべきだったでしょう。
|
18
|
+
リンクしない、つまり分割コンパイルは不可能、ソースコード一本プログラムしか動かせない。その程度のコードをOSと呼ぶのはまだまだ早い。OSを自作したくてよちよち歩きを始めたところならそうした事情・条件を、最初から詳しく示して問うべきだったでしょう。
|
19
|
+
アセンブラ、リンカなどのツールの使い方、その意味。カギになる機械語(例えばcall命令)の動作、CPUのアーキテクチャ諸々・・・まだまだ先は長そうですね。Enjoy!
|