In message <9703120749.AA25322@hisoft.soft.hitachi.co.jp>
"[b-free 276] Re: 開発環境 on Windows"
"naitoh_r@soft.hitachi.co.jp (Naitoh Ryuichi)" wrote:
> > あとbootではas86, ld86というプログラムがどこにあるか分かりません。
>as86 と ld86 は 8086 CPU 用のアセンブラ/リンカです。
>boot の最初の段階だと CPU は 16 ビットで動いているので、
>8086 CPU 用のアセンブラが必要なのです。
>Windows の元からあるアセンブラで代用できないでしょうか?
会社の環境は WindowsNT + MS-Visual C++4.2 なので16bitのアセンブラは
ないです。そこら辺を探せばMASMの一つくらいは余っているでしょうが。
# 家の環境にもアセンブラはないです。TASMを買うかな。お金が(;_;)。
ちなみにLinux上の開発ではどのようにしているのでしょうか? フリーの
アセンブラのソースでもあるならWindows上でコンパイルしますけど。
この辺はツールの提供が難しければbootはbinaryで提供とかいうことも考え
ないといけないかもしれませんね。
> > # .YGQや.FS4なんて拡張子は見たことないので。
>??
WWWページにあるファイルを取ってきたのがas.YGQとld.FS4だった・・・と
思ったけど記憶違いかな。もう一度拾ってきて見てみます。
> > それからcygnusのgccはそのままではWin32上の実行形式を作るのですが
> > B-Free Kernelの作成にはそれではまずいですよね。設定の変更だけで
> > すめば良いですが、最悪の場合、Windows95/NT上で動くターゲットが
> > Linux(?)のクロスコンパイラを作らないといけないかも知れません。
>うーん、cygnus 版の GCC では、直接 win32 の実行ファイルを
>作ってしまうのですか。。。
少なくとも"Hello World"を表示させたサンプルはa.exeでした(^_^;)。
# 「gcc sample.c」でコンパイルしただけ
*.aはあるので(*.soはないけど)、コード生成は同じでリンカが違うだけかも
しれません。それなら、設定次第でzimageも生成できるかもしれませんが、
あてにはできません。gccのソースコードを拾ってきてlinuxターゲットのクロス
コンパイラを作る方が良いですかね。
# でもクロスコンパイラの作り方(設定方法)も知らない。
コンパイルの仕方については少し検討してみます。場合によってはPE(Win32
の.exe)を変換してimageを作る方が楽かもしれませんし。
--- 林(takanori@ohsaki.meidensha.co.jp)