■ このスレッドは過去ログ倉庫に格納されています
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
- 534 :ナイコンさん:2021/05/29(土) 14:21:57.79 .net
- >>509
俺はなぜかMIPS君と呼ばれてるんだが
初めて覚えたアセンブラは8086だからキャリーフラグを知らないわけないぞ
MIPSでADD命令やSUB命令使ってオーバーフローが発生すると
トラップが発生するから使い物にならないとか言ってて
トラップが必要ない演算(C言語では普通トラップは発生させない)では
ADDUやSUBUを使うことを知らない無知だったのはMIPS君呼ばわりする人の方
彼はキャリーフラグがなくても32bit CPUで64bit演算ができるのを知らなかったしな
- 535 :ナイコンさん:2021/05/29(土) 14:26:14.22 .net
- CP/M86の8086のアセンブラASM86はCP/Mとかの8080コードをソーストランスレータ
とかで逐行8086変換してアセンブルする64kスモールモデルなcomファイル用途で簡易。
アレでミディアム-ラージモデル記述は難しかったろうね。MASMはセグメントディレクティブ
をそれなりにサポートしてはいたがintel純正のROM焼き目的なASM86のシンタクスの
サブセットだったっすね。com/exeファイル生成できればいいわけでという。
- 536 :ナイコンさん:2021/05/29(土) 14:30:57.42 .net
- まあ、8086は8bit CPUに比べれば断然アセンブラで書きやすいと思うよ
あくまで8bit CPUと比べてだけどね
16bitでは最初に出てきたつなぎのマイクロプロセッサなので8bitと16bitの中間的なのはしょうがないよね
だけど、16bitでは8086が普及してしまって
DOSの末期や16bit Windowsの末期は大変なことになってしまった
Windows 95があれだけ絶賛されたのは8086ベースのDOSや80286ベースのWin3.xがそれだけ酷かったから
だけど、支持されたのはビジネス向けではパソコンは
表計算ソフトとワープロ、会計ソフトが使えればそれでよかった時代だったから
動画編集はまだパソコンでは荷が重かったし、画像編集やDTPはMacの独壇場だったしね
- 537 :ナイコンさん:2021/05/29(土) 14:35:46.11 .net
- Z80は、レジスタの扱いの制限がなくて対称性が実現できていたら、もう少しコンパイラと親和性出たのかね?
- 538 :ナイコンさん:2021/05/29(土) 14:51:44.35 .net
- >>537
Z80伝説という本によるとザイログはZ80でUNIXのようなマルチタスクのOS作って
Z-Netとして販売してたらしいよ
でも売れなかったらしい
需要がなかったんだろうね
16bitCPUではマイクロソフトがいろいろな16bit CPUにUNIXを移植して
ZENIXとして販売してたし
Z8000ではUNIXが移植されてミニコンとして販売されてた模様
68000はApolloやSunのワークステーションに使われたのは有名な話
- 539 :ナイコンさん:2021/05/29(土) 15:20:08.54 .net
- >>536
ラージモデルでセグメント境界ごえアクセスを多用するだけでも少しばかり面倒なのに、EMSメモリとか、一部の用途だけとは言えハイメモリ領域を駆使してメインメモリを圧迫しにくいのを書いたりとか、面倒な使い方が続々と開発されてたよなあ
- 540 :ナイコンさん:2021/05/29(土) 15:23:29.84 .net
- >>537
コンパイラのはくコードとか見てみたら、レジスタ使用の対称性って、意外と必要ないんじゃないかと思った
X68000の純正cコンパイラとか、68000ならではの対称性の高さもレジスタの多さもぜんぜん活用されてなかったしなあ
- 541 :ナイコンさん:2021/05/29(土) 15:55:45.64 .net
- 68000のおかげでエンジニアリングワークステーションが誕生したからね
ApolloなりSunとかのね
それまではその分野で大きなミニコンが使われてたわけで
それだけでも価値あったのでは?
68000が良すぎたのでZ8000はあまり相手にされずに消えていった
- 542 :ナイコンさん:2021/05/29(土) 16:05:30.14 .net
- Z8000ってトランジスタ数は減らしての高性能を狙ってて、
量産さえ進めばコスパ良くなりそうだったのにな
- 543 :ナイコンさん:2021/05/29(土) 16:06:51.44 .net
- 8086が出た時代はあれでよかったけど
80286で68000のようにレジスタの32bit化をしてほしかったね
そうすればDOSの末期にあんな酷いことにならなかった
時代は32bitもどきの16bit CPUを必要としてた
- 544 :ナイコンさん:2021/05/29(土) 16:18:19.19 .net
- >>537
IXとIYの代わりにSP相対アドレッシングとHL相対アドレッシングとを追加すれば良かったんじゃないかな
追加レジスタ操作に1バイト増やすくらいなら、更に1バイトアドレッシングに使って2バイト増えてる方がマシだった
- 545 :ナイコンさん:2021/05/29(土) 16:25:42.98 .net
- アーキテクチャ
- 546 :ナイコンさん:2021/05/29(土) 16:46:36.06 .net
- >>529
> 「8080」なら他の3種類のCPU(MPU)とほぼ同性能だけど16ビットの「8086」では
> 性能が違い過ぎて、どのCPU(MPU)が優れているかの議論は無駄でしょ、って趣旨。
だからその趣旨なら
> プログラミングでCPU(MPU)を意識する際はアセンブラだろうけど「8086」だとハードルが高い。
> 「8086」でのアセンブラベース開発では効率が悪く無くなって行ったのではと。失敗談を聞きます。
なんて要らんやろ
要ると言うなら理由を書けよ
> 尚、煽る気は微塵もない。「煽り」と言って自分の勘違いを正当化しないで貰いたい。
> 他人は見下すし、自分の間違いは「すまんすまん」では上から目線で何様なんだろうな。
もしかして相手は一人とか思ってる?
- 547 :ナイコンさん:2021/05/29(土) 16:54:42.18 .net
- いつもの事だが、大人気ない
- 548 :ナイコンさん:2021/05/29(土) 17:11:32.99 .net
- 自分もスレタイになぜ8086が入ってるのかと違和感を感じていたほうだけど
>>2の過去スレ一覧から初代スレ見に行ったら
Z80 vs 6809 を唱ってる割には8086もそれなりに話題に登場してて
(ベストセラーとして外せないのは理解できる)
実情に合わせたスレタイ変更ということで納得した
- 549 :ナイコンさん:2021/05/29(土) 17:46:41.70 .net
- >>546
既に書いてるけど君とは感覚・意見が違うようだ。しつこいな、ワッチョイが必要かもな。
- 550 :ナイコンさん:2021/05/29(土) 17:53:44.43 .net
- >>546
この下の3行目が君のレスなら4行目が感想だ。
> プログラミングでCPU(MPU)を意識する際はアセンブラだろうけど「8086」だとハードルが高い。
> 「8086」でのアセンブラベース開発では効率が悪く無くなって行ったのではと。失敗談を聞きます。
>だとどう見ても8086はアセンブラでは開発しづらいクソCPUと言ってるように見える
そんなことは「一言」も書いてないのに「君が勝手に妄想して」そう解釈しただけだろ。
- 551 :ナイコンさん:2021/05/29(土) 18:16:53.57 .net
- このスレはIDがなくて混乱するな
俺はMIPS君と呼ばれてる人間だが
8086の酷評は68000に対してのものだからね
他の8bit CPUと比べれば8086は高機能
だからIBM PCに採用された
IBMはApple IIを潰したかっただけだからね
アセンブラレベルでもZ80と8086や8088とを比べると
断然8086、8088の方が書きやすいよ
IBMはApple II対抗の8bitパソコンが欲しかっただけなので
データバスが16bitの8086ではなくデータバスが8bitの8088を採用した
- 552 :ナイコンさん:2021/05/29(土) 18:18:22.00 .net
- >>544
IX/IYでメモリアクセスする命令は2バイト増えてるから「2バイト増えたHL相対」だな。
SP相対はCの自動変数と相性がいいが、8080上位互換のために命令のビットパターンが空いてないか。
- 553 :ナイコンさん:2021/05/29(土) 19:41:02.71 .net
- > DOSの末期にあんな酷いこと
どんな妄想してるか知らんが圧倒的なソフト、ゲーム資産、アセンブラで書かれた高速なアプリ群。
DOSユーザーは天国でしかなかったぞ。
- 554 :ナイコンさん:2021/05/29(土) 19:54:42.40 .net
- 1970年代に開発ではまだパソコンなんてジャンルはなく、
マイコン、組込的な用途を想定しての開発だろう。
8bitCPUでCを考慮した作りとか想定外だろうな。
- 555 :ナイコンさん:2021/05/29(土) 19:57:51.41 .net
- DOS窓でメモリ不足で動かせず、ランチャーとして使えない、DOSとWinを別物として使うしか無い状況の事かね?
日本語環境だとFEPの分でコンベンショナルメモリ足りなく、CONFIG.SYS弄りまくりで普通の人が使えるものでは無くなってたってな
Win入ってるのにフロッピー立ち上げとかな悲惨な人々を産んでたな
- 556 :ナイコンさん:2021/05/29(土) 20:05:59.96 .net
- それはDOS末期ではなくWindows初期の話ですな。
- 557 :ナイコンさん:2021/05/29(土) 20:13:56.43 .net
- IRQが足りねーって悩みはいつの間にか解消してたな
- 558 :ナイコンさん:2021/05/29(土) 20:21:39.28 .net
- >>551
貴方を「MIPS君」と呼んでる方とは、どのようなイザコザがあったかは知りませんが
少なくても、このレスに関しては納得すると言うか、ほぼ同じ感想です。
>>553
DOSエクステンダーとかもありましたけど、どうような使い勝手だったのでしょうか。
尚、MSが商業的に上手いのは「Win 95」で16ビットも使える32ビットOSを用意し移行させたこと。
また同梱されたネット用アプリの存在が後押ししたこと。ただ後に独禁法で問題になった記憶ありと。
- 559 :ナイコンさん:2021/05/29(土) 20:21:39.30 .net
- ISAバスとか旧型の割り込みコントローラとかがIRQ不足の原因で、
拡張割り込みコントローラとPCIバスを活用できたら割り込み不足は起きない
拡張割り込みコントローラをネイティブモードで使えるのはNT系以後で9xでは互換動作しか使えなかったから、9xの頃までは割り込み数が常に足りなかった
多くの人にとってはXP以後またはWin2k移行によって割り込み不足から解放された
- 560 :ナイコンさん:2021/05/29(土) 20:31:58.82 .net
- >>549-550
だから違うと言うならどういう意図で
> プログラミングでCPU(MPU)を意識する際はアセンブラだろうけど「8086」だとハードルが高い。
> 「8086」でのアセンブラベース開発では効率が悪く無くなって行ったのではと。失敗談を聞きます。
を書いたんだよ?って聞いてるんだが…
まあ答えられないからグダグダ言ってるんだろうけどw
- 561 :ナイコンさん:2021/05/29(土) 20:37:37.74 .net
- >>556
Windows 3.xの頃はDOS上でWindowsが動いてたんだから同じだぞ
それにまだゲームソフトの大半はDOS上で動いてて
CONFIG.SYSの設定をうまくやらないと起動しないゲームがたくさんあった
- 562 :ナイコンさん:2021/05/29(土) 20:40:00.42 .net
- ひとつの割込みを全部のイベントで共有しているPICでも問題がないというのに8086ときたら
- 563 :ナイコンさん:2021/05/29(土) 20:47:26.73 .net
- >>561
win95の頃でも、じつはブートローダーとしてDOSを使ってたから、DOS自体は動いてたけどな、
主要なコンポーネントがDOSから呼び出さないでwin95から呼び出すようになったから、DOS用のデバイスドライバを使わなくてよい分だけ安定するようにはなった
- 564 :ナイコンさん:2021/05/29(土) 21:03:40.01 .net
- 8080や6502、6809でDRAMリフレッシュは実際
どうしてたのだろう。
8086/88でよく使われてるDMAなのだろうか。
6502でDMAってそもそもできるんだっけ。
- 565 :ナイコンさん:2021/05/29(土) 21:19:39.60 .net
- MIPS君は自分は32bitCPUなのに8bitCPUスレばかりを荒らしにくる人です。そして32bit演算できない8bitCPUを馬鹿にするのです。
キャリーフラグあるからadd,adc,adc,adcで簡単にできるが、MIPSは64bit演算するなら桁溢れは例外投げるからむしろ面倒と指摘すると、
adcの意味が通じなかったらしく、キャリーフラグがいかに害悪かを語りだしましたとさ。
しかし、自称RISCのARMやAVRはキャリーフラグがあっても高速、ストールしないと、あっさり論破され逃亡。
- 566 :ナイコンさん:2021/05/29(土) 21:26:35.19 .net
- >>564
Apple][の回路図とか
https://archive.org/details/applerefjan78/page/n149/mode/
- 567 :ナイコンさん:2021/05/29(土) 21:34:52.94 .net
- >>562
全部のイベントで共有すると、割り込みを使うアプリやドライバの調停が面倒になって製作を分業しにくかったのでは?
- 568 :ナイコンさん:2021/05/29(土) 21:41:04.36 .net
- >>565
また無知さらしてるよ
64bit演算で例外なんて投げないよ
$4:$5+$6:$7=$8:$9の64bit加算は
addu $9, $5, $7
sltu $10, $9, $5
addu $8, $4, $6
addu $8, $8, $10
でできる
- 569 :ナイコンさん:2021/05/29(土) 21:48:07.85 .net
- >>568
ハナから知ってる。なぜ知らないと思ったのかが謎。
だからそんな面倒のことしなくてもキャリーあれadd、adcで済むよねって話をしてるのに
MIPSだってできるとその面倒な演算を自慢されてもね。最初から面倒だと指摘してるだろうに。
しかもPSのゲームで桁外れでフリーズするゲームも見受けられる。
- 570 :ナイコンさん:2021/05/29(土) 21:53:27.23 .net
- >>569
知ってるならなんでこんなこと書いたんだろうかw
>キャリーフラグあるからadd,adc,adc,adcで簡単にできるが、
>MIPSは64bit演算するなら桁溢れは例外投げるからむしろ面倒と指摘すると
- 571 :ナイコンさん:2021/05/29(土) 21:55:18.31 .net
- 例外投げるから例外投げないように
そういう馬鹿な書き方してることに気づいてないのか・・・
- 572 :ナイコンさん:2021/05/29(土) 21:55:59.70 .net
- ちなみにMIPSのC言語では加算は例外の発生しないADDUやSUBUが使われる
だからC言語で開発されたソフトで例外が発生するADDやSUBが使われることは
通常ないと思われる
- 573 :ナイコンさん:2021/05/29(土) 21:57:45.15 .net
- >>571
何度も言うが
ADDUやSUBUは例外は発生しない
オーバーフローで例外が発生するのはADDやSUB
ADDやSUBはC言語では通常使われない
- 574 :ナイコンさん:2021/05/29(土) 22:00:31.32 .net
- >>564
レスの内容からZ80は知ってることを前提として、6809はバスの状態を表すBA、BS
と言う端子があるから、FM-7 ではこの端子から出てる信号を利用して生成してるような。
秀和から出たF-BASICマニュアルI(基礎編)のP261に回路図が掲載されてるので
東京以外に住んでるなら国会図書館のコピーサービスを使うと良いのでは。
- 575 :ナイコンさん:2021/05/29(土) 22:01:17.52 .net
- 命令削減することがRISCの思想。キャリーがあるとADD、ADCと命令増えてしまうと批判していた。
つまり、例外発生するから発生しないバージョンの命令を増やしてしまったMIPSは
RISCを名乗るなということです。
- 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について調べてこい
総レス数 1001
281 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200