[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[b-free: 1114] Re: OS による言語へのスタック機構のサポート
隆一さん、こんにちは。リギーコーポレーションの片桐です。
|# たしか、UNIX GURU の定義に cat でアセンブラプログラムを組める
|# というのがあった気がします。
よく分からないけどすごいですね(^^;。
|ただ、UNIX の C コンパイラ (GCC に限らず) は、一般にアセンブラコードを
|出力するようにできており、出力結果をいじくることもできるので、アセンブ
|ラを扱うこと自体は簡単にできると思います。
つい最近、gccのオプションを調べていたら「アセンブラソースの状態で残す」
というのがあった気がします。( -M なんていうのもつい最近知ったことです)
いろいろ実験すると面白そうですね。
|> のような感じで使いたいわけですが、問題は、これら多くの関数すべて
|> において、それから関数→関数へ渡る間も含めて、一貫して同一レジスタ
|> の使用(および他用途での破壊からの保護)が約束されるのでしょうか。
|> ディスパッチャ→下位関数へは、ポインタへのポインタを渡すんです
|> よね。(レジスタへのポインタというのも変なものですね(^^;)
|
|うーん、これっていくつかのレジスタを特別な処理用に確保するという
|ことですよね。多分、GCC を作り直せばできると思います。
了解しました。
|ただ、結果としてコンパイラが使えるレジスタが 3 つ減ることになるの
|で、単純な処理もレジスタだけでは間に合わなくなり、メモリを頻繁に
|使うことになりそうです。
そうですか。インテル系を念頭に置く以上はこの手は難しそうですね。
ところで、初心者的なことで恐れ入りますが教えてください。
B-FreeあるいはTRONで想定している通常のアプリケーションで、マルチスレ
ッドが要求される割り合いと言いますか、場面は・・と言うべきなのかも知れ
ませんが、どの程度でしょうか。(register話の発端はここだったので)
片桐 明 (株)リギーコーポレーション
killy@rigy.co.jp
NIFTY: PAG01434