■ このスレッドは過去ログ倉庫に格納されています
8ビットCPUでC言語?ないないありえないっしょ!5
- 1 :ナイコンさん (ワッチョイ df99-dE/J):2020/07/02(木) 00:02:41 ID:++jZerDK0.net
-
【前スレ】
8ビットCPUでC言語? ないないありえないっしょ!
Part.4 https://matsuri.5ch.net/test/read.cgi/i4004/1528299072/
Part.3 http://matsuri.5ch.net/test/read.cgi/i4004/1528299072/
Part.2 http://matsuri.5ch.net/test/read.cgi/i4004/1470913460/
Part.1 http://hanabi.2ch.net/test/read.cgi/i4004/1468652612/
♪ /.i /.i /.i
♪ ∠__ノ ∠__ノ ∠__ノ
〈,(・∀・;)ノ・∀・;)ノ・∀・;)ノ
└i===|┘i===|┘.i===|┘
〈__〈 〈__〈 〈__〈 VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
- 110 :ナイコンさん (ブーイモ MMef-xTOO):2020/07/06(月) 10:50:22 ID:5jJaQMDsM.net
- ここはWin3.1までは含まれる板。俺は
DOSのクロスコンパイラでCでZ80用プログラムを書いた。以上。
- 111 :ナイコンさん :2020/07/06(月) 12:05:05.87 ID:uOA9gujy0.net
- Win3.1の頃は、WinMainなんて関数で始まったっけ
あとハンガリアン表記だっけ、lpszStingsなんて名付け方が大流行してたな
- 112 :ナイコンさん :2020/07/06(月) 15:06:11.92 ID:PFKm/BLcM.net
- LSIC-80なんて有ったのか
このスレ見て初めて知った
LSIC-86試食版なら使った事あるけど
- 113 :ナイコンさん :2020/07/06(月) 19:59:01.66 ID:gIA4pvxW0.net
- >>109
では、あなたはわかってるということだから
開発してたというなら実際にどんな8bitパソコン向けのどんなソフトを
どんなCコンパイラ使って作ったか言ってみてね
自分で開発してた、もしくは開発現場を実際に見てた人間ならわかるでしょう
- 114 :ナイコンさん :2020/07/06(月) 19:59:51.35 ID:gIA4pvxW0.net
- >>111
今でもWin32やWin64はWinMainから始まるよ
- 115 :ナイコンさん :2020/07/06(月) 20:30:00.98 ID:i3UXnKBW0.net
- >>113
> では、あなたはわかってるということだから
誰もわかってるなんて言ってないけどいきなりどうした?w
- 116 :ナイコンさん :2020/07/06(月) 21:20:35.06 ID:x6Zv13cD0.net
- >>113
テメェは問われたこと全無視なのに、人には聞くんだなw
先に>>93に答えたら?
- 117 :ナイコンさん :2020/07/06(月) 22:45:36.84 ID:BoSZ9DEwp.net
- スレのタイトルに反して、8ビットマシンでC言語を使っていた人は少ないながらもいたし、少ないながらも市販ゲームにおいてさえCで開発されたソフトはあった、これを否定する人はいないね?
じゃあ解散。
- 118 :ナイコンさん :2020/07/06(月) 22:53:33.19 ID:BoSZ9DEwp.net
- >>107
竹内さんが言ってるのはPET-2001やPC-8001の時代の話だぞ。
BASICの次はPASCALだとか言ってた時代だ。
お前、当時のことあまり知らないだろ。
- 119 :ナイコンさん (ワッチョイ 2743-EJAe):2020/07/07(火) 03:48:15 ID:aO8AvKj50.net
- https://matsuri.5ch.net/test/read.cgi/i4004/1593615761/
> 萩原: MS-DOSが2.0になるという話があって、
> そうするとDOSがバージョンアップするにつれ、松下さんからの受託が増えるという世界で。
> DOSを移植したら、「GW-BASICやMultiplanも移植したいよね」と、
> そういうポーティングがビジネスの主体になっていました。
> 太田: 開発ツールはどのようなものを使っていましたか。
> 移植は、アセンブラベースでしたか。
> 萩原: アセンブラです。
> MS-DOSのポーティングの場合は、
> インテルのMDSというイン・サーキット・エミュレータ(ICE)があるんですが、
> それを使ったデバッグになります。
> 太田: Multiplanなどの移植には何を使っていましたか。
> 萩原: それもアセンブラですね。デバッグはMS-DOS付属のDEBUGだったと思います。
> 開発は全部アセンブラの時代から、徐々に高級言語を使うようになった。
> バックスも、先に出てきた単語変換ソフトを開発するころから、Cを使い始めたという。
- 120 :ナイコンさん (ワッチョイ 2743-EJAe):2020/07/07(火) 03:50:29 ID:aO8AvKj50.net
- URL貼り間違えました
VJEの歩み 萩原健バックス社長に聞く(2)
http://www4.airnet.ne.jp/koabe/com_inet/im/vjehagiwara2.html
- 121 :ナイコンさん (ワッチョイ 2743-EJAe):2020/07/07(火) 03:51:17 ID:aO8AvKj50.net
- VJEの歩み 萩原健バックス社長に聞く(2)
http://www4.airnet.ne.jp/koabe/com_inet/im/vjehagiwara2.html
> アセンブラからCに変わったとは言え、C自体が新しい言語で、
> 参考書も少なく、教えてくれる人もいなかった。
> 太田: まだ大学でCは教えていなかったと思うのですが、
> AさんはすべてOJTという形でやっていった。
> 萩原: ありましたよね、バイブルのような本が。
> 太田: カーニハンとリッチーの。
> 萩原: それを日本語訳したものを必死で読んで。
> それくらいしかなかったですよね。
> 太田: Lattice Cはあまりマニュアルも充実していなかった。
> 萩原: ですね。
> 太田: Lattice Cは当時大分癖があるコード生成で、危なっかしいような。
> 萩原: それは時々ありましたね。
> プログラムが動かないときは、コンパイラの生成文を疑って、
> 間違ってコンパイルしているぞというのをよく見付けましたね。
> 太田: Lattice Cはずっと変わらず使っていましたか。
> 萩原: 3.0のころまで使っていましたかね。
> なんで変えたかという理由は、記憶がはっきりしないですけれども(註)。
- 122 :ナイコンさん (アウアウウー Sa09-2R5X):2020/07/12(日) 15:01:54 ID:M75u/wq1a.net
- 結局、話題そらして逃げまくってんのか。
何がしたいんだ、基地害野郎は。
- 123 :ナイコンさん :2020/07/13(月) 12:05:09.71 ID:+SCCThR9p.net
- >>121
アセンブラが多数派なのは誰だって認めてるよ。
俺もアセンブラでゲーム書いてた。
で、君、8ビットで業務にC言語使ってた人もいることは認めるんだよね?
重要なのはそこだよ。
- 124 :ナイコンさん :2020/07/13(月) 13:22:47.87 ID:7acVASPTM.net
- MSXの頃はアセンブラすら無いのでマシン語を手打ちで作ってた
- 125 :ナイコンさん :2020/07/13(月) 15:37:10.19 ID:OZ4i2bj30.net
- MSXでなくともアセンブラ買う金のない奴はそうせざるを得ない
- 126 :ナイコンさん :2020/07/13(月) 16:14:13.68 ID:cNXOZ3uQ0.net
- BASICでアセンブラ作った
- 127 :ナイコンさん :2020/07/13(月) 22:41:07.08 ID:XcGgSMuj0.net
- 当時、BASICのREM文でソース作るアセンブラをよく見かけたな
- 128 :ナイコンさん :2020/07/14(火) 21:19:00.31 ID:HHEOhlwY0.net
- REN文ってなんですか
- 129 :ナイコンさん :2020/07/14(火) 23:14:48.34 ID:5et4yD450.net
- ファイル名の変更。
- 130 :ナイコンさん :2020/07/15(水) 16:33:33.81 ID:iSAZCXhL0.net
- アハハ(^。^;)
- 131 :ナイコンさん :2020/07/21(火) 17:40:37.38 ID:FwDRgbJ8M.net
- MSX-C 買った人いる?
- 132 :ナイコンさん :2020/07/21(火) 18:21:15.09 ID:do3ZnWX00.net
- >>131
かなり欲しかったけど、自分の小遣いでは高くて無理だった。
結局ずっと本に載ってたアセンブラを使ってたwww
- 133 :ナイコンさん :2020/07/21(火) 21:42:26.56 ID:w0tevWg00.net
- >>131
TAKERU で買ったな。
ロジック部分を書くときはアセンブラよりはマシ、ぐらいかな。
- 134 :悩めるCプログラマー :2020/07/23(木) 00:28:12.31 ID:d55kalL40.net
- cc65という6502(65c02とかも)を想定したクロスコンパイラがある
だれか使っている人いますか?よくできたコンパイラと思いますが・・・
- 135 :ナイコンさん:2020/07/25(土) 21:36:12.99 ID:2hvl7Lm1l
- 内蔵ドライブを2DDに取り替えて、基盤のDIPSWいじって、2DDのディスクにOSかけば、それで起動した。
こな何かに書かない中にかに着なね期にけけ中にきこきにき
- 136 :ナイコンさん :2020/07/26(日) 14:21:58.39 ID:qCh905DKa.net
- 最初に就職したソフトハウスは研修でLSI-C80使わされたっけなー。
- 137 :ナイコンさん :2020/07/26(日) 14:49:28.91 ID:zBTbPPI90.net
- msxCてROM用のコード出せるの?
- 138 :ナイコンさん :2020/07/26(日) 17:40:31.96 ID:46YN765c0.net
- 時代的にはもっと後になるが740ファミリ用Cコンパイラが国内で1番多く使われてた8bit環境だろうってな話もあったよな
そこいらの家電で使われまくってたってな
- 139 :ナイコンさん (ワッチョイ b3e6-7SBb):2020/08/10(月) 23:24:54 ID:hy57bCog0.net
- Cってそんな、、、恥ずかしいし
- 140 :ナイコンさん :2020/08/11(火) 15:59:02.29 ID:Fvb1TVfXa.net
- C とは高級アセンブラ
- 141 :ナイコンさん :2020/08/11(火) 22:26:06.27 ID:rKwDbif+0.net
- 「C言語は高級言語であって、アセンブラとは根本的に異なる。
しかしアセンブラだと言われてみればそんな気もしなくもない。
そうだ、Cはアセンブラに違いない」
次第にそう思うようになります、と何かの本に書いてあった。
- 142 :ナイコンさん (ワッチョイ 8696-zKfl):2020/08/12(水) 07:42:02 ID:Tldk9SV/0.net
- CはCPUが見えなくなるまでマクロを強化したマクロアセンブラ
- 143 :ナイコンさん (アウアウウー Saa5-0m7r):2020/08/12(水) 12:51:56 ID:i8XIl/Tua.net
- レジスタやスタックを意識した言語仕様だからね
- 144 :ナイコンさん :2020/08/13(木) 12:30:45.56 ID:e3zxyVvO0.net
- アセンブラじゃなくて
アセンブリ言語な。
- 145 :ナイコンさん (ワッチョイ c19e-Vquy):2020/08/29(土) 18:59:21 ID:tI3KWwZm0.net
- 実行速度はCとアセンブリじゃ3倍ぐらい差が出る
- 146 :ナイコンさん (ワッチョイ 92fd-0aHt):2020/08/29(土) 20:34:10 ID:ADoB9XFN0.net
- アセンブラやっててレジスタが足りないとかアドレッシングが面倒いとかそう言う不満があったらCやってみるといいかも
- 147 :ナイコンさん (ワッチョイ c19e-Vquy):2020/08/30(日) 08:50:11 ID:wF4qSyM20.net
- レジスタが足りなくなるのはデータ構造の設計に問題があるだよね|ω・)
- 148 :ナイコンさん (ワッチョイ 0656-xiBb):2020/08/31(月) 01:22:34 ID:4gRC+gi00.net
- >>147
6502 < 何だって?
- 149 :ナイコンさん (ワッチョイ 3dcb-e5MG):2020/08/31(月) 18:26:46 ID:Wkoh6GcU0.net
- レジスタが沢山有るのと
キャッシュメモリーが沢山有るCPU
はどっちが偉いんだ
- 150 :ナイコンさん (ワッチョイ 0216-YRmH):2020/08/31(月) 19:27:13 ID:HtkmFONV0.net
- >>149
基本キャッシュの方が有利
レジスタの本数が多いと命令のレジスタ指定のビット数がたくさん必要で命令長が増える
レジスタウインドウとかもあるけどそれはそれで色々性能劣化要因になったりするし
- 151 :ナイコンさん (ワッチョイ 7f7a-XrX+):2020/09/03(木) 07:48:40 ID:Xu2XVCAG0.net
- 無暗に汎用レジスタの本数ばかり増やしてもそれを指定するビット数が嵩張るので
特に8bitや16bitで命令長も基本的にそれだけしかないところで汎用レジスタ256本とかやられても
じゃあレジスタ指定する度に命令長1バイトずつ増えるのかよみたいな
32bitや64bitならその辺はどうにかできるかもしれないけど、
今度はそれで割り込みやコンテキストスイッチの度に退避するのにどれだけ掛かるんだよ…って話にもなるので
- 152 :ナイコンさん (ワッチョイ 470f-d17y):2020/09/03(木) 09:57:22 ID:jo6Ap2Qm0.net
- >>150
キャッシュはキャッシュが効くような構造のCPUじゃないとほとんど意味ない
- 153 :ナイコンさん (ワッチョイ 5f16-Dxny):2020/09/03(木) 10:11:54 ID:GJ8t+kEW0.net
- キャッシュが効かない構造のCPUにキャッシュつけるとかのアホな想定されてもなぁw
- 154 :ナイコンさん (ワッチョイ 07ea-XrX+):2020/09/03(木) 12:42:26 ID:BRo6C3vL0.net
- ノーウェイトのメモリ使えるからね
- 155 :ナイコンさん (ワッチョイ c79e-zLUu):2020/09/03(木) 21:15:50 ID:lDce4UaU0.net
- メモリアクセスは悪
- 156 :ナイコンさん :2020/09/11(金) 08:49:44.05 ID:SwYiYTENM.net
- 面倒なアルゴリズムは、アセンブリ言語ではキツイからそこだけはCでって以外8bitでCを使うメリット無いよね。
- 157 :ナイコンさん :2020/09/11(金) 16:07:02.33 ID:26xkomff0.net
- Windows10搭載 ノートパソコン
1万円 http://shop-rakuten-ch.2chblog.jp/archives/7030035.html
画像より中身のゲーム作ってください
- 158 :ナイコンさん :2020/09/12(土) 16:09:18.77 ID:oKGEHiRV0.net
- >>156
要はメインルーチンは C でってことだね。
それ大きなメリットじゃないの?
- 159 :ナイコンさん :2020/09/12(土) 16:13:18.49 ID:Yp/4Ykg+0.net
- main()に面倒なアルゴリズムをCでぶっこんでアセンブラから呼ぶとはなかなか画期的な設計だ。
- 160 :ナイコンさん :2020/10/15(木) 00:29:13.46 ID:1ktbdNSR0.net
- >>159
組みたくない。
- 161 :ナイコンさん :2020/10/15(木) 00:58:38.64 ID:BxZgdNXc0.net
- >>159
なんでそんな事するんだ?
普通、関数をライブラリにしてリンクするだけだろ。
- 162 :ナイコンさん :2020/10/15(木) 19:14:50.81 ID:LQRU5Thk0.net
- C の関数をライブラリにするのももちろんだけど、
面倒なロジックも C で書きたいだろ。
ライブラリの中のより細かな制御がいる部分はアセンブラ、みたいな。
- 163 :ナイコンさん :2020/12/25(金) 19:13:09.55 ID:/Y7RB8Ll0.net
- Hitech Cでレジスタを参照したい時とか、
インラインアセンブラで変数をレジスタに入れる方法教えてください。
あと、特定のアドレスへのポインタの作り方。
例えばC000Hを読み書きするポインタは、MK_PTみたいな便利な関数ないですかね。
- 164 :ナイコンさん :2020/12/28(月) 21:32:36.78 ID:6PMVob3q0.net
- >>163
インラインアセンブラは調べてみるね・・・
0C000Hを読み書きするポインタは普通に
char *cpnt = 0xc000;
int *ipnt = 0xc000;
*(char *)0xc000 = VAL;
とかのようにすればよかったりしない?
- 165 :ナイコンさん :2020/12/28(月) 23:28:39.85 ID:fwD88Xbj0.net
- >>164
早速試してみます。
- 166 :ナイコンさん :2020/12/29(火) 14:07:24.65 ID:EGW6ird40.net
- >>164
読み書きできました。
ありがとうございました。
- 167 :ナイコンさん :2020/12/29(火) 20:07:30.44 ID:EGW6ird40.net
- インラインアセンブラで変数を渡すのは、見つけました。
uchar *BUF=0xC000;
で宣言しておいて、
#asm
LD HL,(_BUF)
#endasm
でできるようです。勿論HLレジスタ退避させないとダメですが。
自己解決ですが、備忘録で残しておきます。
- 168 :ナイコンさん :2020/12/30(水) 10:14:17.09 ID:8nncfXq60.net
- >>167
なるほどそうやるんですね、共有ありがとうございます。
- 169 :ナイコンさん :2020/12/31(木) 03:12:40.59 ID:it5M+/mV0.net
- >>キャッシュはキャッシュが効くような構造のCPUじゃないとほとんど意味ない
スタックフレーム上だけキャッシュが効くようにすることも可能じゃないの?
スクラッチパッドメモリも色々と使われてるよ。
例えば初代プレステとかIntelの組み込み系(Arduino互換のGalileoやCurie?というのかな)
Intelの組み込み向けとかだと小規模で電池動作なのでx86にキャッシュないので部分的に
高速なキャッシュと同等のスクラッチパッドメモリ付いてるよ。
8bitだと川崎のZ80とか、AppleIIの6502もキャッシュつける拡張もあった希ガスる
- 170 :ナイコンさん :2021/01/01(金) 02:48:46.77 ID:vSLT4fxDd.net
- >>167
宣言 (declaration) じゃなくて、定義 (definition) な。
- 171 :ナイコンさん :2021/01/01(金) 18:08:49.93 ID:uHpzQgQ10.net
- >>170
言語によってはこのような場合declare と記述するのもある。
C言語ではみなさんご存じ#define があるが意味が異なる。
- 172 :ナイコンさん :2021/01/01(金) 18:28:35.50 ID:WQSgEdDdd.net
- >>171
「言語によっては」?
はぁ?
スレタイ読めないのか?
- 173 :ナイコンさん :2021/01/30(土) 02:32:17.05 ID:vvdis50La.net
- >>172
脱線したんだろ
- 174 :ナイコンさん :2021/01/30(土) 03:44:30.29 ID:DMRiqkuT0.net
- 8bitCPUってPICとかの組み込みマイコンしかもう
使われていないだろう
- 175 :ナイコンさん :2021/01/31(日) 09:08:12.74 ID:UKXRREKNM.net
- >>174
組み込みじゃないのって、単体PCってこと?
MSXの時代で終わったよな。
組み込みなら8051とかもまだ現役だけど。
- 176 :Artane. :2021/01/31(日) 23:56:13.31 ID:IkOd74ld0.net
- >>174
パチンコ台の制御側がまだZ80コアの東芝か日立かどっかのCPU必須でなかったでしたっけ?(´・ω・`)
もうちがうかも知れませんが。
- 177 :ナイコンさん :2021/02/04(木) 22:54:34.61 ID:YSUOfIN70.net
- パチはZ80まだ使ってるよ
- 178 :ナイコンさん :2021/02/05(金) 03:16:10.79 ID:b/F/M7P00.net
- 8bit CPUなプログラム環境だと、今でも電卓でeZ80がメジャー張ってるだろ
Z80から68000に移行させようとして失敗してeZ80って互換性重視な現場の判断で
- 179 :ナイコンさん :2021/02/05(金) 12:12:35.05 ID:Nm46hxCIM.net
- eZ80のワンボードマイコンが売っているが
Arduinoの10倍近い価格だな
- 180 :ナイコンさん :2021/02/05(金) 21:38:18.55 ID:HmKSC5Uv0.net
- >>176-177
> パチンコ台の制御側
バリバリの組込やん…
- 181 :ナイコンさん :2021/02/05(金) 21:46:58.25 ID:gYY/M/Zc0.net
- 最新の台でも
天下り役人が絡んでいる部分は変えられないって事か
- 182 :ナイコンさん :2021/02/12(金) 11:51:55.35 ID:pppcRYYja.net
- TI電卓
- 183 :ナイコンさん :2021/02/15(月) 05:49:28.06 ID:ogjHkIZn0.net
- 大昔のファミコンのソフト開発って
時代が進んでゲームが複雑化した頃には
C言語のクロスコンパイラを使ってたんだろうかやっぱり
- 184 :ナイコンさん :2021/02/15(月) 08:54:29.73 ID:chGngYTX0.net
- あの時代メモリがシビアだったからCとかは使いにくかったろうね
RAM2kBじゃスタックも足りなくなりそう
- 185 :ナイコンさん :2021/02/15(月) 12:29:56.89 ID:88Iga7Bv0.net
- 今ならUnity使えるね。
- 186 :ナイコンさん :2021/02/20(土) 01:11:53.73 ID:RtJMV4qfa.net
- 8bitの大規模開発の問題点は
C言語を使うと生産性が向上することよりも
メモリリソース不足に悩まされる事にある
- 187 :ナイコンさん :2021/02/22(月) 14:52:26.30 ID:ISQyWswI0.net
- コンパイルの時間の長さに辟易してたな
- 188 :ナイコンさん :2021/02/22(月) 14:53:30.17 ID:ISQyWswI0.net
- PC88のCP/M上でBDS-Cで開発してた
- 189 :ナイコンさん :2021/03/06(土) 12:26:08.72 ID:F89rc/xfa.net
- >>131
遅レスだがここにいる
Cがどのように関数を呼び出してるかとか、コンパイル後のアセンブリを見まくって勉強になった
あと、信長の野望・全国版のマニュアルにこのゲームはC言語で作られてますと書いてあって、Cに憧れたw
- 190 :ナイコンさん :2021/03/10(水) 18:08:55.59 ID:djEYuxJA0.net
- >>189
チープな8bitPC環境じゃメモリ食いすぎて禄に使い物にならなかっただろう。
コンパイルすら一苦労だったはず。一体どういう規模のものが作れて、どれぐらいの速度が出たか教えていただきたい
。当時8bitPCで一世風靡したアクションRPG的なものは実装できましたかな?
- 191 :ナイコンさん :2021/03/10(水) 19:37:31.19 ID:NQObyUHJ0.net
- 16bitでもアセンブラで作ってたわな
だからと言って16bitではCは使われてなかったって事はない
- 192 :ナイコンさん :2021/03/10(水) 22:21:25.79 ID:lQdtLuUU0.net
- >>190
自分でコーエーに問い合わせればいいじゃんw
- 193 :ナイコンさん :2021/03/10(水) 22:36:09.08 ID:djEYuxJA0.net
- >>192
? あなたには質問してませんし、コーエーの話なんてしてませんが。
当時、憧れてCの8bitPC開発環境を手に入れたという人にCでの実装時の体験談を聞いているんです。
もし当時、あなたもお持ちでしたなら存分に語ってくださいませ。とても価値のある話ですよ、それは。
何しろ当時の最先端ですからね。Cが標準化される前のC黎明期の話です。
- 194 :ナイコンさん :2021/03/10(水) 23:58:54.07 ID:hJTJyV9Ga.net
- >>190
MSX2+だからメモリは64KBあったし、16bit整数は使えるしポインタも16bitだ
アセンブリ言語で作るより多少メモリ食うだけで何も困ることなんて無いよ
ま、実行速度も多少遅くなるだろうね
ただBASICみたいにゲーム作るための便利な命令が無いから、アセンブリ言語で作るレベルのハードウェアの知識が必要になる
Cで出来ないことは、ハードウェアの性能を限界まで引き出す事が出来ないだけで、アクションRPGだろうが何だろうが全然普通に作れる
- 195 :ナイコンさん :2021/03/11(木) 00:44:51.31 ID:Y6YsHfet0.net
- > アクションRPGだろうが何だろうが全然普通に作れる
あたなが伝説の8bitCPUでCは普通に使える君ですね。レスを頂いて光栄です。
一番有名なファルコムのARPGなどは解析でアセンブラを使ったクロス開発だと言われてますが時代遅れだったんですね^^ Leor Zolmanと真逆のレポありがとうございます。
- 196 :ナイコンさん :2021/03/11(木) 22:00:17.15 ID:vHmWTsAv0.net
- >>190
クロスコンパイラくらいあったろ。
- 197 :ナイコンさん :2021/03/12(金) 03:42:57.12 ID:h7nwanol0.net
- 当時の8bitPC開発環境(MSX2+ MSX C)でのC開発の体験談を聞いたらとても貴重な情報がありました。
・16bit整数が使える
・ポインタが16bit
・アセンブラより多少メモリ食うだけで困ることは何もない
・実行速度はアセンブラより多少遅くなる
・BASICにはゲームを作るための便利な命令がある
- 198 :ナイコンさん :2021/03/12(金) 08:56:41.81 ID:WSgdr7zy0.net
- MSX CってLSI C-80のOEMでしょ
デフォルトだとIX使いまくりの酷いコード吐き出すよ
https://www.lsi-j.co.jp/official/product/other/lsic80/
- 199 :ナイコンさん :2021/03/12(金) 09:26:06.75 ID:5xYRUfcT0.net
- >>198
LSI Cは、もともと8080用のコンパイラ
デフォでインデックスレジスタ使うわけねーだろ
まったくこれだから当時を知らずに知ったかで騙る無知蒙昧な阿呆はw
- 200 :ナイコンさん :2021/03/12(金) 09:28:57.32 ID:5xYRUfcT0.net
- ローカル変数をインデックスレジスタ使ったスタックフレームに割り付けるのはHI-TECH Cだ。
- 201 :ナイコンさん :2021/03/12(金) 09:34:17.89 ID:Lnxbe3zaM.net
- なんでIXレジ使ったら汚いコードになるんだ?Z80の全機能を駆使して最適化出来ればそれでいいと思うけど。裏レジスタ駆使してもいいし。裏命令使うと互換CPUでの動作に支障があるから勘弁して欲しいが。
- 202 :ナイコンさん :2021/03/12(金) 13:27:11.42 ID:QwBFSdpS0.net
- 遅くなるからかも
- 203 :ナイコンさん :2021/03/12(金) 16:14:34.94 ID:uabFATAya.net
- Z80はPC SP IX IYとアドレスに関連するものは16bitだし、BC DE HLで16bit整数演算も出来るけど、8bitCPUだ
結局は8bitと16bitCPUの境界は曖昧だよな
>>198
いや、IX IYはC言語では使いまくらないと辛いだろ
そもそもその為にある
これを汎用レジスタとして使う裏技が有ったが、それは汚い使い方と言える
- 204 :ナイコンさん :2021/03/12(金) 17:05:07.68 ID:1PGOWZ5+0.net
- レジスタ同士での演算クロック数見りゃ一目瞭然
4クロックが11クロックに伸びてるんだから8bit CPUだって
- 205 :ナイコンさん :2021/03/12(金) 22:55:25.46 ID:h9oBo3rka.net
- Z80で使うと笑われるもの
IX,IY
裏レジスタ
ビット命令
でもビット命令はAレジ以外なら使ってもいいかと。
わざわざAに移してからAND xとかするよりは効率的。
- 206 :ナイコンさん :2021/03/12(金) 23:27:06.06 ID:h9oBo3rka.net
- でも複数のビットを調べたいならBIT命令並べるよりAccに移してからAND xの方が速いか。
- 207 :ナイコンさん :2021/03/13(土) 00:15:03.46 ID:3F1NR+4Na.net
- >>205
IX IYを汎用レジスタとして使うのは裏技だったから、それを誤解して普通に使って笑われるとか言う奴は単なるにわかw
- 208 :ナイコンさん :2021/03/13(土) 00:18:30.37 ID:bMhdcOOW0.net
- そこのおじーちゃん二人、ここはCスレですよ。ボケちゃったんですか?
- 209 :ナイコンさん :2021/03/13(土) 05:04:07.94 ID:susbCSS10.net
- LSI-CのPC98で動作するクロスコンパイラが出たのって1989年頃じゃなかったっけ?
さすがに8bitのCP/M環境でセルフコンパイルで開発はないだろうな
信長の野望がC言語で開発されてたといっても
アクション性の低い、シミュレーションゲームだしな
当時は16bit用だとBASICで書かれたシミュレーションゲームもあった時代だし
- 210 :ナイコンさん :2021/03/13(土) 05:15:05.44 ID:susbCSS10.net
- >>208
C言語がどういうコード吐き出すかは重要
といってもここのC言語派の人たちは
Z80は知らない世代でAVRやPICでC言語使ってる人が多いのだろうけど
IX、IYはインデックスレジスタとして使うと非常に遅い
LD A,(BC)やLD r,(HL)が7クロック、LD A,(nn)が13クロックなのに
LD r,(IX+d)が19クロックだからな
だからあまり使われない
あと、当時のコンパイラは8080用のコードしか吐き出さないコンパイラも多かった
総レス数 303
86 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200