アカウント名:
パスワード:
非再帰モードとか、引数のレジスタ渡しとか、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用だよ。
8080LXI H,nnnn ; 10DAD SP ; 11ADD M ; 7; total 28
Z80ADD A,(IX+nn) ; 19
staticLXI H,nnnn ; 10ADD M ; 7; total 17
こんなもんか
ちゃうちゃう。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と誤読してる?
初期はLSI-C80じゃなくてLSI Cだし、Z80用じゃなくて8080用。出力するアセンブリソースもインテルニモニックだった。
LSI C-80がZ80に対応したのってCP/Mで動いてた頃じゃなくてMS-DOS用のクロスコンパイラになった後でしょ。
LSI C-80 Ver.3.1からVer.3.5までの主な変更点http://www.lsi-j.co.jp/products/lsic80_update.html [lsi-j.co.jp]> Ver.3.30 → Ver.3.4> MS-DOS
> Z80/HD64180用のコードジェネレータcgz80.exe, cgz80b.exeを追加しました。
コンパイラがどんなコード吐いてるかも分かってないレベルの人でも使えてたんならまあ道具としては優秀だったんだろうなあ。 >LSI-C80
追悼スレでよくそんな毒をはけるなぁ...人としてどうなのよ。
追悼スレで分かってないのに「Z80用のLSI-Cはお世話になりました」なんて言ってる人は正直どうかと思う。
http://www.lsi-j.co.jp/products/lsic80.html [lsi-j.co.jp]
※「図3(a) アセンブルリスト(Z80用)」参照
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ
Z80用のLSI-Cはお世話になりました (スコア:1)
非再帰モードとか、引数のレジスタ渡しとか、charはcharのまま処理する
とかの非標準仕様のおかげで(Z80はスタックにおいた変数なんぞまともには扱えない)、
Z80でまともに動くCプログラム(ゲームも)を記述することが出来ました。
LSI-Cと比べたら、BDS-CとかHiTech-Cとかお呼びじゃなかった。
ただ、引数のレジスタ渡しの際、charかintかで使うレジスタが違うので
引数の型には神経を使わされました。
ver2.0では、ANSI-C準拠でプロトタイプ宣言つかえるようになって
上記引数の心配が消えたのでホントありがたかった。
Re:Z80用のLSI-Cはお世話になりました (スコア: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:Z80用のLSI-Cはお世話になりました (スコア:1)
8080
LXI H,nnnn ; 10
DAD SP ; 11
ADD M ; 7
; total 28
Z80
ADD A,(IX+nn) ; 19
static
LXI H,nnnn ; 10
ADD M ; 7
; total 17
こんなもんか
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と誤読してる?
Re: (スコア:0)
初期はLSI-C80じゃなくてLSI Cだし、Z80用じゃなくて8080用。出力するアセンブリソースもインテルニモニックだった。
Re: (スコア:0)
LSI C-80がZ80に対応したのってCP/Mで動いてた頃じゃなくてMS-DOS用のクロスコンパイラになった後でしょ。
LSI C-80 Ver.3.1からVer.3.5までの主な変更点
http://www.lsi-j.co.jp/products/lsic80_update.html [lsi-j.co.jp]
> Ver.3.30 → Ver.3.4
> MS-DOS
> Z80/HD64180用のコードジェネレータcgz80.exe, cgz80b.exeを追加しました。
Re: (スコア:0)
コンパイラがどんなコード吐いてるかも分かってないレベルの人でも使えてたんならまあ道具としては優秀だったんだろうなあ。 >LSI-C80
Re: (スコア:0)
追悼スレでよくそんな毒をはけるなぁ...
人としてどうなのよ。
Re: (スコア:0)
追悼スレで分かってないのに「Z80用のLSI-Cはお世話になりました」なんて言ってる人は正直どうかと思う。
Re: (スコア:0)
インデックスレジスタは激遅です。
http://www.lsi-j.co.jp/products/lsic80.html [lsi-j.co.jp]
※「図3(a) アセンブルリスト(Z80用)」参照