2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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