"まずプログラムを動かすには"と大きくタイトルを書いてみたが、そんなこと全部知るのは大変そうだ。
それなので、本章で扱う観点でH8の動かせないハード制約をまず把握する。

制約1:CPUはメモリ上にあるプログラムしか実行しない。
[コメント]機械語コードは少なくともメモリ上に展開してあげないといけないということと理解。

制約2:メモリ上の情報の分類として以下が必要。
 ①テキスト領域…CPUが実行する機械語コードが置かれる
 ②データ領域…初期値を持つ静的変数などが置かれる
 ③BSS領域…初期値をもたない静的変数などが置かれる
[コメント]3領域あると急にいわれてもよくわからないが、CPUが処理を実施するのに3領域ある方が何かと都合がいいのだろう。なんていってみるものの、CPUのことも良く知らないのでなんともいえないがとりあえず3領域を意識することが必要そうだ。


まとめると、H8のメモリ上には3領域用意し、その領域に上記に示した分類の情報を配置してやる必要がありそうだ。



それっじゃ、どうすればいいんだ!!



実行形式ファイルがどのように構成されているかの理解がさらに理解するためのカギを握るようである。



実行形式ファイルはELF形式というものであるが、先日それを作成するためのgccコマンドをやっと作れた!
ELF形式の内容構成をながめながら、メモリに置かれるべき3領域に対応した情報はどこからきて、どのようなもので、そしてどのようにメモリに置くのかを見ていくことにする。