■ このスレッドは過去ログ倉庫に格納されています
8086 vs. Z80 vs. 6809 vs. 6502 その14
- 1 :ナイコンさん:2021/03/16(火) 23:44:11.88 .net
- 8086(8088)・Z80・6809・6502のうち、どのCPU(MPU)が優れているか議論するスレッドです。
CPU(MPU)アーキテクチャや周辺デバイス制御など
基本的に「石」に関連する議論なら、ほぼ何でもアリです。
♪ /.i /.i /.i
♪ ∠__ノ ∠__ノ ∠__ノ
〈,(・∀・;)ノ・∀・;)ノ・∀・;)ノ
└i===|┘i===|┘.i===|┘
〈__〈 〈__〈 〈__〈
■過去スレ
8086 vs. Z80 vs. 6809 vs. 6502 その13 [無断転載禁止]©2ch.net
https://matsuri.5ch.net/test/read.cgi/i4004/1474548959/
8086 vs. Z80 vs. 6809 vs. 6502 その12 [無断転載禁止]©2ch.net
http://hanabi.2ch.net/test/read.cgi/i4004/1468637057/l50
8086 vs. Z80 vs. 6809 vs. 6502 その11 [無断転載禁止]c2ch.net
http://hanabi.2ch.net/test/read.cgi/i4004/1462424764/
8086 vs. Z80 vs. 6809 vs. 6502 その10
http://hanabi.2ch.net/test/read.cgi/i4004/1407651926/
8086 vs. Z80 vs. 6809 vs. 6502 その9 (再び)
http://hello.2ch.net/test/read.cgi/i4004/1365951318/
8086 vs. Z80 vs. 6809 vs. 6502 その9 (短命)
http://ikura.2ch.net/test/read.cgi/i4004/1362833400/
8086 vs. Z80 vs. 6809 vs. 6502 その8
http://ikura.2ch.net/test/read.cgi/i4004/1333965297/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
- 576 :ナイコンさん:2021/05/29(土) 22:03:52.09 .net
- CやUNIXに使う前提なら元から桁溢れで例外発生する必要はないよな。
キャリー捨てたことであらゆるところがおかしくなってる。
- 577 :ナイコンさん:2021/05/29(土) 22:04:16.59 .net
- >>575
都合が悪くなると話し変えるね、君は
そして自分の都合のいいように話しを変えて他で吹聴しまくる
- 578 :ナイコンさん:2021/05/29(土) 22:06:42.24 .net
- >>576
RISC-Vもキャリーフラグないけど、RISC-Vにもいちゃもんつけてるの?
RISC-Vの基本命令はMIPSに非常に似てるよね
- 579 :ナイコンさん:2021/05/29(土) 22:07:35.26 .net
- addu $9, $5, $7
sltu $10, $9, $5
addu $8, $4, $6
addu $8, $8, $10
これ見て面倒なことしてるなと思わない奴がこのスレにいるの?
このスレのチップじゃどれもadd、adc並べるだけだよ?
- 580 :ナイコンさん:2021/05/29(土) 22:07:59.98 .net
- RISC-Vは糞。このスレでは結論出てる。
- 581 :ナイコンさん:2021/05/29(土) 22:11:05.92 .net
- そういい張ってればいいのでは?
数年後が楽しみだね
- 582 :ナイコンさん:2021/05/29(土) 22:16:47.05 .net
- いやもう10年経ったんだ…
- 583 :ナイコンさん:2021/05/29(土) 23:09:33.74 .net
- >>555
まあ酷かったと言えば酷かった
OSでランチャーまでありながら、config.sysをアプリごとに持って再起動したりしてね
HSBとか駆使すれば問題なかったけど、環境構築に相当時間使ったわな
- 584 :ナイコンさん:2021/05/29(土) 23:15:21.04 .net
- MIPSとかWindowsとか他でやってくれ。ほんと32bitスレは他にもいろいろあるだろ。
どんだけ8bitCPUにマウンティングしたいんだか。
- 585 :ナイコンさん:2021/05/30(日) 00:02:44.37 .net
- 野球場でのサッカーに夢中らしい
他の人の視線は気にせずに
言ってることは頭いいらしく自分に酔いしれる
やってることは馬鹿だけども
- 586 :ナイコンさん:2021/05/30(日) 00:15:45.11 .net
- >>585
一言言わなきゃ気が済まないってのは
スレ違いの話を延々する人間と同じ思考回路だよ、要するに同じ穴の狢
みんな後少しくらいなら、自分も一言って続けてるだけなんだから
- 587 :ナイコンさん:2021/05/30(日) 00:17:33.32 .net
- 話戻すけど、アセンブラやってたらCのポインタを理解できると勘違いしてる奴がたまにいるが、
それはインデックスレジスタ持ってるCPUだけだからな。よって6502は当然除外される。
- 588 :ナイコンさん:2021/05/30(日) 00:28:07.41 .net
- 関節アドレッシングと何が違うんだ?
- 589 :ナイコンさん:2021/05/30(日) 00:40:47.40 .net
- アドレス演算ができる。
- 590 :ナイコンさん:2021/05/30(日) 00:43:11.09 .net
- 大きな「糸」と言う詩でも添えたいけど才能がないのでリンクだけ
「c言語でファミコンプログラミングしているTKOZです」(因みに自分ではありません)
ttps://dixq.net/forum/viewtopic.php?t=3943
- 591 :ナイコンさん:2021/05/30(日) 00:52:12.84 .net
- ポインタが理解できるかどうかってのは概念では?
- 592 :ナイコンさん:2021/05/30(日) 00:53:04.68 .net
- 8bitだけど「インデックスレジスタ」が2本あると書いてます。
ttp://hp.vector.co.jp/authors/VA042397/nes/6502.html
- 593 :ナイコンさん:2021/05/30(日) 01:01:07.66 .net
- Cのポインタとは程遠いですな。
cc65のポインタ実装はどうなってるか見てみるといいですな。
- 594 :ナイコンさん:2021/05/30(日) 01:13:26.95 .net
- その8ビットサイズのインデックスレジスタって、ゼロページというローカルメモリのなかを指し示すためのレジスタだよな
それ以外のメモリエリアには使えない。
- 595 :ナイコンさん:2021/05/30(日) 01:29:01.53 .net
- >>593
貴方は>>587氏と同一人物ですか? それであれば先ず
6502にインデックスレジスタはないCPUと言う前提が違ってます。
アセンブラを理解してる前提でCのポインタを理解できるか否かは本人次第で、6502とは関係ない。
「アセンブラを理解してる」ことが「Cのポインタを理解できる」十分条件にはならないでしょう。
また、下を見れば
ttps://cc65.github.io/doc/cc65.html#s4
strcmp()、 strcpy()、 strlen()等があり、ポインタなしに、どのように実現してるのでしょうか?
>>594
ゼロページではないのではと。
- 596 :ナイコンさん:2021/05/30(日) 01:31:59.37 .net
- >>595
sbc、decで減算できるということは理解できましたか?
- 597 :ナイコンさん:2021/05/30(日) 01:36:05.88 .net
- アブソリュート・インデックストX:絶対番地にXレジスタの値を加算した番地を指定する。
ttps://ja.wikipedia.org/wiki/MOS_6502
- 598 :ナイコンさん:2021/05/30(日) 01:43:58.89 .net
- >>595
知りたいならコンパイラの実装見てみればいいのではと言ってるのに
なぜおれに質問してくるのだ。意味不明な奴だ。
- 599 :ナイコンさん:2021/05/30(日) 01:43:59.99 .net
- >>596
何の話か後ほど詳しく聞きます。現在の話は>>587氏のレスの
「CPU(MPU)6502はインデックスレジスタがない」と言うことが事実か否かです。
これにケリをつけてからにしましょう。
- 600 :ナイコンさん:2021/05/30(日) 01:45:33.09 .net
- コミュ障にもほどがあるぞ。頓珍漢なツッコミばっかしてきやがって。
何が6809の経験あるだ。アセンブラど素人じゃねーか。
- 601 :ナイコンさん:2021/05/30(日) 02:05:38.63 .net
- Indirect Index addressing modeが分からないんだと言うのが良く分かる例になってるな
- 602 :ナイコンさん:2021/05/30(日) 06:58:27.06 .net
- 6502にインデックスレジスタはあるし、ポインタの理解にインデックスレジスタが必須なわけでもない
要するに>>587は単なるレス乞食
- 603 :ナイコンさん:2021/05/30(日) 07:00:08.30 .net
- 6502にインデックスレジスタはあるし、 ポインタの理解にインデックスレジスタが必須なわけでもない
要するに>>587は単なるレス乞食
- 604 :ナイコンさん:2021/05/30(日) 07:35:24.20 .net
- DOS末期でコンベンショナルメモリ不足とかまるで見てきたような話してるが、いつものホラ吹きが妄想独演会か?
むしろ末期はメモリマネージャの進化でメモリ空け易かった、最大メモリの実現もDOS5.x以降の話だしな
ドライバやアプリ側もハイメモリやEMSへの退避やオーバーレイが普及してコンベンショナル領域のフットプリントは減少
あとはこういった設定の最適化が難解で無理だったとかまた見てきたような嘘を並べるんだろうけど
バカでも使えるメモリマネージャがconfig自動で作成してくれたので、それこそバカでも使えたのがDOS末期〜Windows.x/9x世代
出たばかりの頃のDOS2.11に自分でFEP組み込むとかの方がバカには無理だったよな
情報も無かったし、助けを乞おうにもネットどころかパソ通すら無理だろそんな連中
- 605 :ナイコンさん:2021/05/30(日) 07:46:42.17 .net
- 一般的な処理系のインデックスレジスタと6502のインデックスレジスタを同列で語るなよ
前者はアドレスを指すもの。6502はオフセット的な用途。後者は明らかにCのポインターとは異なる。
- 606 :ナイコンさん:2021/05/30(日) 08:02:52.80 .net
- >>605
int *p = ...;
int i = ...;
int x = *(p + i);
みたいな書き方知らんのか?
- 607 :ナイコンさん:2021/05/30(日) 08:32:17.09 .net
- >>604
DOS末期はWindows 3.x時代も含まれるだろ
ゲームはまだまだDOSの時代だぞ
メモリに付属してたメモリマネージャでコンベンショナルメモリ開けないと
起動できないゲームたくさんあったぞ
- 608 :ナイコンさん:2021/05/30(日) 08:34:59.03 .net
- だいたいCのポインタごときそんな難しいかよ
6502でもなんでも、アセンブラで考える頭あったら、あんなの当たり前だろう
- 609 :ナイコンさん:2021/05/30(日) 08:42:10.76 .net
- >>604
自分も記憶があやふやなのでは…
Win9xと書いてるが少なくとも98ではもうconfigとか気にしてた奴なんかいなかっただろ
- 610 :ナイコンさん:2021/05/30(日) 08:43:39.13 .net
- >使えたのがDOS末期〜Windows.x/9x世代
DOS/Windows 3.x時代とWindows 9x時代を一緒にしてるのが当時を知らない人らしいよな
明らかに時代が変わってるのに
Windows 9xでゲームもWindowsに移行して直接DOSをいじる機会が激減したんだよ
CPUもPenitumに移行してメインのバスがPCIバスが主流になってプラグアンドプレイで増設が楽になった
Windows 3.xからWindows 95への移行はすごいスピードで進んだ
当時はそれだけWindows 95が画期的だったんだよ
- 611 :ナイコンさん:2021/05/30(日) 08:48:09.49 .net
- Windows 98の時代になると今度はシステムリソースの問題が顕在化してきたけどな
あれもセグメントによる弊害の一つ
たしかシステムリソースの領域が128KBしかなかったんだよな
- 612 :ナイコンさん:2021/05/30(日) 08:56:44.72 .net
- >>608
ポインタはmallocとかの動的エリア確保機能とセットでOSの癖が出易い部分。
turbocには64KB超の配列を自動利用できるhugeモデルがあったがASMだと
面倒だろ。macだと動的メモリはポインタを指すハンドルをロックして関節
アクセスしないと即爆弾が破裂したし。web初期の時代だとDDoS攻撃で
バッファポインタの脆弱性が散々叩かれたし。安全性やセキュリティでCが弱みを
曝け出すのがポインタだったね。
- 613 :ナイコンさん:2021/05/30(日) 09:18:04.57 .net
- >>610
DOS時代に勇明を馳せたゲーム会社にはWindows95時代の初期にビジネス
畳んで撤退ばいばいしたところ多いよね。Sierraとかmicroposeとかorigin、
sirtechとか、WindowsになってDOSゲームが仮想ビデオなMacもどきの
ゲームスタイルを強制されるような状況がDirectXs初期の仕様迷走で印象付け。
面白くもないMacゲームみたいなウィンドウ内ちょこちょこげーむなんか
作っていられるかよみたいに考えたデベロッパーが数多いたみたいね。
でWindows95を境に選手大幅入れ替えが起きていたよなあ。しばし新作停滞。
- 614 :ナイコンさん:2021/05/30(日) 09:52:44.78 .net
- >>612
難しいと面倒なのは違うぞ
- 615 :ナイコンさん:2021/05/30(日) 09:57:16.08 .net
- >>610
> Windows 3.xからWindows 95への移行はすごいスピードで進んだ
> 当時はそれだけWindows 95が画期的だったんだよ
移行と言うより新規勢が大量流入した
パソコン持ってない奴まで95を買う勢いだったしなw
まあTCP/IP標準装備のインパクトも大きかったけど
- 616 :ナイコンさん:2021/05/30(日) 10:42:22.29 .net
- >>610
「当時を知らない人」については他の可能性も。尚、コンベンショナルメモリについて
業務用アプリ等で実際足りなくなって来たのでDOSエクステンダーが開発されたかなと。
コンベンショナルメモリ不足に対しCコンパイラではオーバレイ構造が可能だったけど
リニアにアクセスできる物理メモリ量はあるのでセグメントの悪影響が残った感じだった。
尚、大筋では同意だけど「Win9X」については次の>>611氏が指摘するように16ビット時代の
システムリソース管理を流用してたので物理的なメモリ量はあるのに頻繁にリソース不足状態が
発生しOSの再起動が必要だった。即ち16ビットコードを使える利便性と弊害は背中合わせだった。
- 617 :ナイコンさん:2021/05/30(日) 10:49:50.49 .net
- >>614
同一の問題でもスキルの乏しい若年では解決は難しい。
しかし経験豊かな先達には面倒だが解法明らかで解決は可能。
- 618 :ナイコンさん:2021/05/30(日) 11:21:22.84 .net
- >>617
言ってることが当たり前過ぎて何を言いたいのかさっぱりわからんw
- 619 :ナイコンさん:2021/05/30(日) 11:36:17.07 .net
- 6502は命令デコード中に次の命令コード読んでいるだけでも速い上に
Z80がADC A,(d16 + C) 相当の命令を8clockで実行できるようなものだから
低クロックで貧相なレジスタセットでもどうにかなっている
- 620 :ナイコンさん:2021/05/30(日) 13:00:39.79 .net
- >>612
>macだと動的メモリはポインタを指すハンドルをロックして関節
>アクセスしないと即爆弾が破裂したし。
上のレスにも「関節」とあるので「間接アクセス」の誤変換と言うことで理解するけど
具体的なコードを提示して下さい。自分としてはポインタとは動的に確保されたメモリブロックの
先頭アドレスと理解していて、ハンドルと言えば、ポインタで記述されてるとは言え FILE *file;
のように file の中身は操作せず入出力データをポインタで示すメモリブロックに(から)転送する
時に使う識別子と考えています。またmacとは「APPLEU」のことですか、それとも最近のMacのことですか?
どちらにしても「C言語」の具体的なコードをお願いします。
- 621 :ナイコンさん:2021/05/30(日) 13:07:52.00 .net
- 追伸
ポインタとは必ずしも動的に確保されたメモリブロックの先頭アドレスではないけど
今回、動的メモリ限定で考えています
- 622 :ナイコンさん:2021/05/30(日) 13:43:05.00 .net
- わかってたら収束しそうなとこに違う話を持ち込んだりしないから
残念なひとなんだとおもう
- 623 :ナイコンさん:2021/05/30(日) 14:00:08.40 .net
- 「自動的に開放」とかいう宣伝文句で行儀の悪いプログラムを書かせる風潮にも困ったもんだ
そんなにメモリ管理隠したいか
- 624 :ナイコンさん:2021/05/30(日) 14:08:34.15 .net
- 今のアプリケーションの規模でメモリ管理を人手を介してなんてやってられんでしょ
メモリ確保とか宣言とか機械の都合に対応するための妥協の産物なんだから
人がやらなくていいならそれに越したことはない
- 625 :ナイコンさん:2021/05/30(日) 14:44:18.86 .net
- >>620
メモリーハンドルも知らないみたいだしポインタを動的メモリー限定で考えるとか頓珍漢なこと言ってるしね
本人の認識よりだいぶレベル低いと思うw
- 626 :ナイコンさん:2021/05/30(日) 15:02:10.75 .net
- >>606
ポインタのポインタとか、できないじゃん6502
ポインタが指し示すメモリにポインタ値が入ってるものとして使うやつ
それか、関数のアドレスをポインタとして取得して、それを使って関数呼び出すやつとか
- 627 :ナイコンさん:2021/05/30(日) 15:06:23.34 .net
- >>604
うーん、DOS5DOS6の頃でもコンベンショナルメモリ不足で悩んでる人の話は、対処法とかの話は雑誌を賑わしてた気がするが
むしろDOS4までの頃より記事が多かった気がする
俺には対岸の火事で、自動で設定するだけで足りたけどさ。
あ、俺が使ってたのはエプソン版のDOS6な、発売元によってバンドルソフトとか細かく違ってたんだよな。じつはメモリマネージャも違ってたような気がする?
- 628 :ナイコンさん:2021/05/30(日) 15:17:46.06 .net
- >>626
> ポインタが指し示すメモリにポインタ値が入ってるものとして使うやつ
ポインタが指し示すメモリの内容を読めるならそれをポインタだと思ってその先をもう一回読み出すだけやん
> それか、関数のアドレスをポインタとして取得して、それを使って関数呼び出すやつとか
戻りアドレスプッシュして間接ジャンブするだけ
知能ないのか?w
- 629 :ナイコンさん:2021/05/30(日) 16:43:52.09 .net
- >>625
「間接」と言うべき所を「関節」と言った理由は関節にガタがきてるからですか?
「メモリーハンドル」でググったら古臭いMAC特有のローカルなメモリ管理方法と判りました。
Macのメモリが少なく、MMUなんて高級なハードウエアを備えていなかったことが理由とある。
8ビットでもMMUがあるCPU(MPU)があったと言うのに化石レベルのMACの話でしたか。
流石、古の知識を大事にしてる「レジェンド」です。
- 630 :ナイコンさん:2021/05/30(日) 16:56:51.92 .net
- >>629
> 「間接」と言うべき所を「関節」と言った理由は関節にガタがきてるからですか?
あれ?
まだそんなところに拘っわってるの?
理解したとか言ってなかったっけ?
> 上のレスにも「関節」とあるので「間接アクセス」の誤変換と言うことで理解するけど
まあ単なるタイポだと思うけどそう言うのは>>588,612に聞いてくれ
お前の相手は一人じゃないからw
> 流石、古の知識を大事にしてる「レジェンド」です。
取り敢えずここの板がどんな板なのかぐらいは理解して書こうな
マジで痛々しいぞ
- 631 :ナイコンさん:2021/05/30(日) 17:00:45.76 .net
- こんなもんがアドレスの真ん中に居座っていたら破綻するかもって不安な時は文句言われてもGlobalAlloc()
- 632 :ナイコンさん:2021/05/30(日) 18:26:16.59 .net
- >>628
いや、ゼロページを指すレジスタしかないなら無理だろと
メインメモリのアドレス指定できるアドレシングレジスタあったの、6502
- 633 :ナイコンさん:2021/05/30(日) 18:53:47.98 .net
- クソスレ
クソレス
乙
- 634 :ナイコンさん:2021/05/30(日) 19:49:15.05 .net
- >>632
>>601にも書いてあるIndirect Index addressing modeについて調べてこい
- 635 :ナイコンさん:2021/05/30(日) 19:54:12.70 .net
- 8bit縛り故にの苦肉の策のアドレッシング。Index Indirect、Indirect Index。
むしろこんな恥ずかしい機能でマウンティング取るなよ。恥ずかしい。
こんな糞機能使ってられないからウォズもSweet16作ったのだろう。
- 636 :ナイコンさん:2021/05/30(日) 20:17:00.96 .net
- >>625
ポインターは静的に使うことは勝手だがそう使えるから動的で前提で考えるなとかちよっと何言ってるか分からない。
静的ならコードにアドレス埋め込むのでチープなCPUでも実装できて当たり前なのだから。
動的なら6502は16bitレジスタ持ってるCPUより面倒な実装が必要だということ。
- 637 :ナイコンさん:2021/05/30(日) 20:51:28.00 .net
- >>635
> 8bit縛り故にの苦肉の策のアドレッシング。Index Indirect、Indirect Index。
意味わからん、68020にもあるぞ
> むしろこんな恥ずかしい機能でマウンティング取るなよ。恥ずかしい。
マウントと思うお前が恥ずかしいわw
>>636
staticに確保したバッファーをstrlen( )に渡すとかあるだろ
渡された側は動的確保か静的確保なんて関係ないし
- 638 :ナイコンさん:2021/05/30(日) 21:46:08.40 .net
- > staticに確保したバッファーをstrlen( )に渡すとかあるだろ
バッファの先頭アドレスはコードに埋め込まれると思うが誰かcc65で試してくれ。
- 639 :ナイコンさん:2021/05/30(日) 22:01:39.75 .net
- C言語のポインタなんて、CPUに拠らずアセンブラの経験がありゃ躓いたりしないだろうに。
「動的に値が変わる変数が示すものがメモリの番地」ってだけなんだし。
CPUがどう表現するかなんて些末なことでポインタが理解できないっていう奴が居たらそいつの知能を疑うべきだわ。
- 640 :ナイコンさん:2021/05/30(日) 22:02:21.36 .net
- >>636
ポインターが静的に確保されたメモリでも動的に確保されたメモリでも
同様に扱える事は当然として動的限定の話の発端は>>612氏の下の指摘。
1)ポインタはmallocとかの動的エリア確保機能とセットでOSの癖が出易い
2)macだと動的メモリはポインタを指すハンドルをロックして間接アクセスしないと爆発
それでMACは動的エリア確保する場合に何が違うかと言うと、ポインタで一重管理する時と
ポインタのポインタで二重管理する時があると言う話が発端かなと。
>>637
一々言うことに棘があるが実生活や仕事で上手く行ってないのか。老い先短いから仲良くしようぜ。
- 641 :ナイコンさん:2021/05/30(日) 22:10:01.54 .net
- >「動的に値が変わる変数が示すものがメモリの番地」ってだけなんだし。
インデックスレジスタとCのポインタの違いを全然理解してなくて笑える。
- 642 :ナイコンさん:2021/05/30(日) 22:14:29.21 .net
- 日本でアセンブラ経験者といえばZ80ばかりだっただから、Cのポインタで躓く人は少ないよ。
じゃあなぜアセンブラ未経験者がポインタで躓くのか。BASICやPASCALでは躓かないのに。
- 643 :ナイコンさん:2021/05/30(日) 22:15:19.03 .net
- >>638
まぁ>>637はトゲトゲしいから誤解を発生させているが、staticに確保したバッファーを
strlen( )に渡す時は先頭アドレスはコードに埋め込まれると思う、staticだから。
趣旨としては、ポインタに入れるアドレスは動的確保か静的確保には関係ないと言う事だろ。
- 644 :ナイコンさん:2021/05/30(日) 23:04:08.50 .net
- >>640
> 一々言うことに棘があるが実生活や仕事で上手く行ってないのか。老い先短いから仲良くしようぜ。
いきなりマウントとか言い出す>>635に言ってやれよw
- 645 :ナイコンさん:2021/05/30(日) 23:07:44.83 .net
- >>642
> 日本でアセンブラ経験者といえばZ80ばかりだった
どこの日本よw
8bit時代はZ80一強じゃなかったぞ
> じゃあなぜアセンブラ未経験者がポインタで躓くのか。BASICやPASCALでは躓かないのに。
BASICには標準でポインタなんて無いし、Pascalは陽にアドレスを扱わないから
- 646 :ナイコンさん:2021/05/30(日) 23:28:10.97 .net
- アドレス扱うからCのポインタで挫折するという謎理論登場。
メモリは場所を特定するために0から順にアドレスが振られてます。
つまりこれが理解できずに挫折するのか。
- 647 :ナイコンさん:2021/05/30(日) 23:40:02.54 .net
- >>645
16進コードはスラスラ読めるのに「C言語」は知らないと言う人に出会ったことはあるけど。
それでポインタがアドレスを入れる変数ならポインタのポインタは、ポインタのアドレスを入れる変数と言う事。
以下、どこまでループできるのかはコンパイラの仕様なのかと。「C言語」自体は数週間で覚えた口だけど
一箇所だけ躓いた。構造体に同じ構造体を入れる時。結局リスト等で、構造体の中には構造体のポインタがある
と言うことでスッキリ解決したが、これがなければ1週間で覚えた。尚、アセンブラは6809しか知らんけど。
>>646
それだけではないと思う。宣言が「int *a;」で かつ 「a = &b;」なら *a で b の値を表してるから。
結局、「*」の使い方が二通りあることも起因してると考えてる。
- 648 :ナイコンさん:2021/05/30(日) 23:47:50.16 .net
- そう。ポインタの混乱の原因はCのシンタックスが糞だから。
ただただ読みにくいことが原因。
- 649 :ナイコンさん:2021/05/30(日) 23:51:15.28 .net
- >>646
ああ、説明不足だったな
Pascalではポインタ変数への操作が限定されてるって書いた方がわかりやすいかな
- 650 :ナイコンさん:2021/05/30(日) 23:59:58.03 .net
- offsetがsizeofなとこ以外は
アセンブラやってたらポインタで躓くことあるかな
メモリ管理(ライブラリやOS)の話はターゲットによるからどうでもいい
- 651 :ナイコンさん:2021/05/31(月) 00:00:51.35 .net
- ポインタのポインタあたりまではまだいいが、関数のポインタとか型キャストまで入ってくるとさすがに混乱した
数値をポインタ型に型キャストとか、ややこしい
数値を「関数のポインタ」型に型キャストして関数呼び出しされたりすると、なにそれって
- 652 :ナイコンさん:2021/05/31(月) 00:01:45.00 .net
- 関数ポインタの宣言もそう。シンタックスが糞すぎる。
- 653 :ナイコンさん:2021/05/31(月) 00:06:16.10 .net
- 論点の方角が明後日すぎてついていけない
各論客の結論はなんなんだろう
- 654 :ナイコンさん:2021/05/31(月) 00:06:27.42 .net
- >>636
アドレッシングで対応してるんだから、アドレッシングに乏しいCPUよりも面倒な処理をしなくても済む
- 655 :ナイコンさん:2021/05/31(月) 00:07:51.50 .net
- 6502は糞。おれは一貫してる。
- 656 :ナイコンさん:2021/05/31(月) 00:12:02.81 .net
- 知識の無さが一貫してるな
- 657 :ナイコンさん:2021/05/31(月) 00:16:04.27 .net
- >>651
なるほど。
アセンブラできてもCのポインタは苦手って人は
実際には「型」が苦手なんだな。
- 658 :ナイコンさん:2021/05/31(月) 00:18:14.95 .net
- >>656
むしろ6502叩きするたびに68000の話をしだすおまえの知性のほうが問題。
- 659 :ナイコンさん:2021/05/31(月) 00:29:21.46 .net
- そのとおり。インデックスレジスタとCのポインタの最大の違いは、ポインタは型情報を持っている。
16bit整数のポインタならp++;すればアドレスはちゃんと+2される。
アセンブラ書くときは脳内で型を管理してたけどCは言語機能で受け持ってくれる。
- 660 :ナイコンさん:2021/05/31(月) 00:39:06.70 .net
- Z80のソケットにそのままさせる6502があったら2倍の性能
載せたくなるようなZ80マシンが無かったのが幸い
- 661 :ナイコンさん:2021/05/31(月) 00:42:53.90 .net
- >>658
明らかに何人も書き込んでいるのに、自分以外は一人だけとか危ない思考すぎる
- 662 :ナイコンさん:2021/05/31(月) 01:06:14.09 .net
- >>658
Indirect Index Addressing Modeごときでマウントとか言い出す性格の方が問題だろ
まあ知らなかったから恥ずかしさのあまりって奴なんだろうけどw
- 663 :ナイコンさん:2021/05/31(月) 01:07:59.25 .net
- >>655
知ったか無能には糞に見える
確かに一貫してるわ、6502に限らず
- 664 :ナイコンさん:2021/05/31(月) 01:17:26.36 .net
- >>660
そりゃ6502はZ80よりは早いんだろうけど、6809とか6502が2MHzくらいで
Z80はなぜ4MHzだったのかは確認することをおすすめします。
- 665 :ナイコンさん:2021/05/31(月) 02:18:11.41 .net
- 妄想ばかり語る6502信者はどうせマカーだろう。
- 666 :ナイコンさん:2021/05/31(月) 03:55:15.42 .net
- 歴史が証明してる。CP/Mのような6502のソフト資産群は何もない。
- 667 :ナイコンさん:2021/05/31(月) 06:17:44.05 .net
- >>665
妄想ってなんのこと?
具体的に書いてみ
- 668 :ナイコンさん:2021/05/31(月) 06:28:09.99 .net
- AppleIIユーザも開発時にMSのZ80ボードさしてCP/M上で開発してる人も多かった。
- 669 :ナイコンさん:2021/05/31(月) 06:32:48.66 .net
- そういえばファミコンの大戦略はほんと酷かった。
8bitPC版よりあれほど劣化してあの遅さは6502のせいだと思う。
- 670 :ナイコンさん:2021/05/31(月) 06:41:07.36 .net
- >>669
扱うデータが256バイト超えたとたんに激遅になるCPUだからしかたないね。
- 671 :ナイコンさん:2021/05/31(月) 06:41:24.31 .net
- Cのポインタアクセス構文を一命令で実行しないといけない縛りでもあるのかwww
そんなのCPU毎に使える命令並べて再現するだけだよね
CPU毎に効率違うよね、で済む話w
- 672 :ナイコンさん:2021/05/31(月) 06:44:39.80 .net
- ゼロページ番長。高速なのはワークエリアが256バイトに収まるときだけ。アクションゲームは得意だがSLGは大の苦手。
というかそのアクションゲームもファミコンのようなハードウェア支援ありきだけどな。
普通の8bitPCみたいに高解像度のVRAMに自分で描画しろとなると途端に破綻する。
- 673 :ナイコンさん:2021/05/31(月) 06:56:04.32 .net
- >>671
そのとおり。スレタイのCPUでCとの相性が一番悪いのは6502というだけ。
なぜなら元々Cが16bit機向けに開発された言語だからね。16bitレジスタないとか全く想定していない。
8086のセグメントもCのポインタとの相性は最悪だけどね。
- 674 :ナイコンさん:2021/05/31(月) 07:27:48.00 .net
- >>666
VisiCalcって知ってるか?w
- 675 :ナイコンさん:2021/05/31(月) 08:17:11.33 .net
- >>674
使ったことないのかw
- 676 :ナイコンさん:2021/05/31(月) 08:34:22.24 .net
- しょぼいマイコンに移植したことは画期的といえば画期的だったが
当時のしょぼい表計算ソフトに何を期待しているんだ。
納税申告に必要だと売りまくったが四則演算すらまもとにできんアメリカ人が多いのに
あのソフトが使いこなせたかは謎。
総レス数 1001
281 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200