アカウント名:
パスワード:
非再帰モードとか、引数のレジスタ渡しとか、charはcharのまま処理するとかの非標準仕様のおかげで(Z80はスタックにおいた変数なんぞまともには扱えない)、Z80でまともに動くCプログラム(ゲームも)を記述することが出来ました。LSI-Cと比べたら、BDS-CとかHiTech-Cとかお呼びじゃなかった。
ただ、引数のレジスタ渡しの際、charかintかで使うレジスタが違うので引数の型には神経を使わされました。
ver2.0では、ANSI-C準拠でプロトタイプ宣言つかえるようになって上記引数の心配が消えたのでホントありがたかった。
Z80はスタックにおいた変数なんぞまともには扱えない
インデクスレジスタ使えばそこそこ便利に扱えるよ。つーかver.2.0とかの初期の頃のLSI CはZ80のコード吐かなかったじゃん。
>インデクスレジスタ使えばそこそこ便利に扱えるよ。
インデックスレジスタは激遅です。
>つーかver.2.0とかの初期の頃のLSI CはZ80のコード吐かなかったじゃん。
Z80のLSI-Cがまず売り物としてあってLSI-C86がフリーで出たのはその後です。
8080の命令でスタックフレームこさえるよか全然効率的だよ。それより早くしたいなら static に割り付ければ、LSI-C の nonrec と実質同じだしな。
ver.2.0とかの初期の頃は8080用だよ。
ちゃうちゃう。1983年ににLSI-C80がZ80用に国産最初の商用コンパイラとして出たの。その兄貴分としてLSI-C86が出たのよ。
LSI-C→LSI-C80: 8080/Z80用コンパイラ。当初は8080用だったが、後にZ80もサポート(8080用とZ80用の二つのコードジェネレータがある)LSI-C86: 8086用コンパイラ
で、このスレッドではどこにも8086の話は出てきてませんけど、もしかして「ver.2.0とかの初期の頃は8080用だよ。」を8086と誤読してる?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
Z80用のLSI-Cはお世話になりました (スコア:1)
非再帰モードとか、引数のレジスタ渡しとか、charはcharのまま処理する
とかの非標準仕様のおかげで(Z80はスタックにおいた変数なんぞまともには扱えない)、
Z80でまともに動くCプログラム(ゲームも)を記述することが出来ました。
LSI-Cと比べたら、BDS-CとかHiTech-Cとかお呼びじゃなかった。
ただ、引数のレジスタ渡しの際、charかintかで使うレジスタが違うので
引数の型には神経を使わされました。
ver2.0では、ANSI-C準拠でプロトタイプ宣言つかえるようになって
上記引数の心配が消えたのでホントありがたかった。
Re: (スコア:0)
Z80はスタックにおいた変数なんぞまともには扱えない
インデクスレジスタ使えばそこそこ便利に扱えるよ。つーかver.2.0とかの初期の頃のLSI CはZ80のコード吐かなかったじゃん。
Re: (スコア:0)
>インデクスレジスタ使えばそこそこ便利に扱えるよ。
インデックスレジスタは激遅です。
>つーかver.2.0とかの初期の頃のLSI CはZ80のコード吐かなかったじゃん。
Z80のLSI-Cがまず売り物としてあって
LSI-C86がフリーで出たのはその後です。
Re: (スコア:0)
>インデクスレジスタ使えばそこそこ便利に扱えるよ。
インデックスレジスタは激遅です。
8080の命令でスタックフレームこさえるよか全然効率的だよ。それより早くしたいなら static に割り付ければ、LSI-C の nonrec と実質同じだしな。
Z80のLSI-Cがまず売り物としてあって
LSI-C86がフリーで出たのはその後です。
ver.2.0とかの初期の頃は8080用だよ。
Re: (スコア:0)
ちゃうちゃう。
1983年ににLSI-C80がZ80用に国産最初の商用コンパイラとして出たの。
その兄貴分としてLSI-C86が出たのよ。
Re:Z80用のLSI-Cはお世話になりました (スコア:1)
LSI-C→LSI-C80: 8080/Z80用コンパイラ。当初は8080用だったが、後にZ80もサポート(8080用とZ80用の二つのコードジェネレータがある)
LSI-C86: 8086用コンパイラ
で、このスレッドではどこにも8086の話は出てきてませんけど、
もしかして「ver.2.0とかの初期の頃は8080用だよ。」を8086と誤読してる?