質問するログイン新規登録

回答編集履歴

2

「ハードウェア」を追加

2020/11/19 12:48

投稿

rubato6809
rubato6809

スコア1382

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

一文追加

2020/11/19 12:48

投稿

rubato6809
rubato6809

スコア1382

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!