■ このスレッドは過去ログ倉庫に格納されています
8086 vs. Z80 vs. 6809 vs. 6502 その12
- 1 :ナイコンさん:2016/07/16(土) 11:44:17.54 .net
- 8086(8088)・Z80・6809・6502のうち、どのCPU(MPU)が優れているか議論するスレッドです。
CPU(MPU)アーキテクチャや周辺デバイス制御など
基本的に「石」に関連する議論なら、ほぼ何でもアリです。
■過去スレ
8086 vs. Z80 vs. 6809 vs. 6502 その11 [無断転載禁止]©2ch.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/
8086 vs. Z80 vs. 6809 vs. 6502 その7
http://ikura.2ch.net/test/read.cgi/i4004/1319314159/
8086 vs. Z80 vs. 6809 vs. 6502 その6
http://toki.2ch.net/test/read.cgi/i4004/1286766300/
8086 vs. Z80 vs. 6809 vs. 6502 その5
http://toki.2ch.net/test/read.cgi/i4004/1280380374/
8086 vs. Z80 vs. 6809 vs. 6502 その4
http://gimpo.2ch.net/test/read.cgi/i4004/1252639237/
8086 vs. Z80 vs. 6809 vs. 6502 その3
http://gimpo.2ch.net/test/read.cgi/i4004/1235851359/
8086 vs. Z80 vs. 6809 vs. 6502 その2
http://gimpo.2ch.net/test/read.cgi/i4004/1213527504/
8086 vs. Z80 vs. 6809 vs. 6502
http://bubble6.2ch.net/test/read.cgi/i4004/1165801265/
6809とZ80 part 2
http://bubble4.2ch.net/test/read.cgi/i4004/1093190685/
- 218 :ナイコンさん:2016/08/27(土) 16:18:48.60 .net
- 古いものを大事に使うのは悪いことじゃないが、古いものにしがみつくのはバカで害悪。
そういうことだ。
とっととディスコンにしちゃえば諦めて新規開発に置き換えるのにねぇ。
日本のメーカーはその辺りの判断が下手だわ。
- 219 :ナイコンさん:2016/08/27(土) 16:29:57.10 .net
- 6502信者はたとえば後発のアーキテクチャであるAVRのレジスタ数や命令セット見てど思うわけ?
もう6502いらねって思わないの? 今でも6502を組み込みで採用したいと思ってるの?
- 220 :ナイコンさん:2016/08/27(土) 16:38:45.07 .net
- あの頃は面白かったなぁって感じでしょ
今からやるのに 6502 をわざわざ選択する奴はいないと思うぞ
- 221 :ナイコンさん:2016/08/28(日) 00:43:41.09 .net
- 趣味でなら使ってみたくはあるな、俺w
- 222 :ナイコンさん:2016/08/28(日) 02:34:06.01 .net
- じゃあお前は使っていいぞ>>221
- 223 :ナイコンさん:2016/08/28(日) 10:33:26.66 .net
- 遊びならアンティーク趣味でも良いだろうね。
新規の仕事とか言ったら、そいつが本気かどうか疑うのをすっ飛ばして正気かどうか疑うレベル。
- 224 :ナイコンさん:2016/08/28(日) 11:22:42.76 .net
- パチのカスタムCPUはZ80だけなんだろうか。
カスタム以前はZ80,6800,6502だったんだけどな。
- 225 :ナイコンさん:2016/08/28(日) 11:35:39.71 .net
- >>224
あれって、違法性を検査する保通協とかナンチャラの検査官がz80のコードしか受け付けたくない。
それ以外は検査パスに時間かかり過ぎ必至とかのいい加減な事情でz80もどきがデファクトになっている。とからしいの。
- 226 :ナイコンさん:2016/08/28(日) 12:23:59.94 .net
- 大量に売れた機種のGVRAMがどれも残念な仕様だったのがZ80の不幸
- 227 :ナイコンさん:2016/08/28(日) 12:52:00.99 .net
- VRAMの構造もだけど、命令の無駄が多いのも残念だよな
レジスタの上下4ビットの入れ替えとか
普通に思いつくだろ、とかね
あと、インデックス関連のステート数も多すぎ
GB用のカスタムには上下入れ替えがあるみたいだけど
他にも使い勝手がいい命令あるんだろうな
- 228 :ナイコンさん:2016/08/28(日) 13:18:48.90 .net
- > レジスタの上下4ビットの入れ替えとか
> 普通に思いつくだろ、とかね
どれくらいの頻度でそんな処理が必要になるという前提で「命令の無駄が多い」と言ってんの?
- 229 :ナイコンさん:2016/08/28(日) 13:23:19.27 .net
- >>227
GBのSWAPよかZ80のRRD, RLDの方がよっぽど使い道あるだろ
- 230 :ナイコンさん:2016/08/28(日) 13:36:04.09 .net
- >>227
>レジスタの上下4ビットの入れ替えとか
用途は??
- 231 :ナイコンさん:2016/08/28(日) 13:48:53.82 .net
- 簡易な難読化とか?
- 232 :ナイコンさん:2016/08/28(日) 13:56:12.29 .net
- >>231
ローテート4回で問題あるかな? つか難読化ならニブル単位で見た目変わらん
上下4ビットの入れ替えはあんま良い方法とも思えんのだけど。
- 233 :ナイコンさん:2016/08/28(日) 13:59:50.95 .net
- > レジスタの上下4ビットの入れ替えとか
> 普通に思いつくだろ、とかね
馬鹿じゃないのコイツ
- 234 :ナイコンさん:2016/08/28(日) 14:19:44.63 .net
- >>230
16進変換とかでたまにあったらいいな
って思うぐらいかな
- 235 :ナイコンさん:2016/08/28(日) 14:27:26.22 .net
- 仕事中なんで、書き殴りで。
上下4ビットの入れ替えで馬鹿はヒドイ。
シフト4回で全く問題無いんだけど
4Kで構成している仮想VRAMを走査してる時に
上下入れ替えするためにシフト4回は最低でも16ステート。
これは時間がかかり過ぎる。
RRD、RLDは画面表示の時に必ず使う。
使い勝手がいいとかで無く、無いと困る。
SWAPが欲しいと思ったのは、今設計してるマップチップの情報が8ビットでは足りず、12ビットにしてるため。
だから、つきのアドレスの下位4ビットにも割り当ててるだけど、上位4ビットが空いてる。
3バイトで2つのチップが表現できるなら上4ビットを有効に使いたい。
単純に考えるならANDで取ってシフト4回なんだけど
シフトだけで16ステートは重すぎる。
で、今は上4は空きにしてる。
設計見直せと言われればそれまでなんだけど
Z80を見下して>>227を書いたのでは無いのは理解して欲しいな。
- 236 :ナイコンさん:2016/08/28(日) 14:42:25.34 .net
- 命令の無駄が多いって書いたのは
オペコードCB群に対して。
消費メモリは最低2バイト、ステートは最低8。
使いたいのは、(HL)の操作なんだけど
セット、リセットで15ステート。
時間がかけられない処理で、使いたい命令が使えない。
Z80ってこんな感じだよねって思うのは俺だけ?
むしろ、便利な命令が多いと思ってるよ。
- 237 :ナイコンさん:2016/08/28(日) 14:47:37.03 .net
- RRD、RLDの画面表示ってのは、文字表示のこと。
VRAMへのストアの事ではないよ。
仕事のため、とりあえずここまで。
- 238 :ナイコンさん:2016/08/28(日) 15:11:37.60 .net
- > 時間がかけられない処理で、使いたい命令が使えない。
オモワズウナズイテシマッタナ・・・
- 239 :ナイコンさん:2016/08/28(日) 15:30:23.27 .net
- 煽られ耐性低いな変iにからんでくるのはのは基本スルーでおけ
- 240 :ナイコンさん:2016/08/28(日) 15:44:12.55 .net
- >>235
> 上下入れ替えするためにシフト4回は最低でも16ステート。
> これは時間がかかり過ぎる。
Aに入ってる値を例えばRRCAを4回で16ステートってことかな?
予めDにテーブルアドレスの上位8ビットを入れておけば、
Eに入ってる値の上下入れ替えた値をAに取得するのはLD A,(DE)で
できるから半分以下の7ステートで済むね。これでもまだ
時間がかかりすぎるかな?
- 241 :ナイコンさん:2016/08/28(日) 15:49:41.34 .net
- >>235
「マップチップ」というのが何のことかわからんけどそれへの
アクセス速度や頻度ってどれほどの要求仕様でデザインしてんの?
- 242 :ナイコンさん:2016/08/28(日) 18:43:22.83 .net
- 任意bitのローテートがないCPUではすげー助かる。
アクセス時間に制約のあるハード叩かない素人にはどうでもいい話だな。
- 243 :ナイコンさん:2016/08/28(日) 18:49:42.31 .net
- > 任意bitのローテートがないCPUではすげー助かる。
任意bitのローテート/シフトをサポートしてくれた方が便利じゃん。
- 244 :ナイコンさん:2016/08/28(日) 18:51:55.40 .net
- >>235
要するに自分で工夫することサボって「こんな命令があったらなー」とか抜かしてるわけですね。
- 245 :ナイコンさん:2016/08/28(日) 18:57:13.40 .net
- 実際AVRでも任意bitシフトなくて4bitスワップつけてくれてるからいろいろ助かるわけで馬鹿な設計ではないよ。
コンパクトが売りの8bitでトランジスタ使いまくるのは本末転倒だろう。
- 246 :ナイコンさん:2016/08/28(日) 18:59:56.99 .net
- 何ビットでも二回で届くからとりあえず4ビットあればいい
レジスタペアで実行できるとさらにいい
ハードウエアでシフトとマスク処理して転送してくれたら最高
- 247 :ナイコンさん:2016/08/28(日) 19:05:11.29 .net
- >実際AVRでも任意bitシフトなくて4bitスワップつけてくれてるからいろいろ助かるわけで
1語16bitのアーキテクチャ持ち出して何が言いたいのかなこの馬鹿は?
- 248 :ナイコンさん:2016/08/28(日) 19:08:35.61 .net
- ニブルスワップはコストが実装する側も使う側も安いからな。あれば便利な命令だな。
- 249 :ナイコンさん:2016/08/28(日) 19:10:54.13 .net
- >>245
> 実際AVRでも任意bitシフトなくて4bitスワップつけてくれてるからいろいろ助かるわけで
「いろいろ助かる」って例えばどんなん? 3つでいいから例挙げてちょ
- 250 :ナイコンさん:2016/08/28(日) 19:11:04.38 .net
- >>247
馬鹿なの?
- 251 :ナイコンさん:2016/08/28(日) 19:15:00.81 .net
- >>250
どう考えても馬鹿。
>実際AVRでも任意bitシフトなくて4bitスワップつけてくれてるからいろいろ助かるわけで
- 252 :ナイコンさん:2016/08/28(日) 19:16:57.72 .net
- >>251
こいつすげー馬鹿だw
- 253 :ナイコンさん:2016/08/28(日) 19:17:50.29 .net
- >>247
馬鹿はおまえだと思うぞ。
- 254 :ナイコンさん:2016/08/28(日) 19:19:33.99 .net
- >1語16bitのアーキテクチャ持ち出して
アホかこいつ。
- 255 :ナイコンさん:2016/08/28(日) 19:20:26.42 .net
- 馬鹿しか言えないいつもの馬鹿はスルーしろ。
- 256 :ナイコンさん:2016/08/28(日) 19:21:48.21 .net
- > 実際AVRでも任意bitシフトなくて4bitスワップつけてくれてるからいろいろ助かるわけで
具体的な話はできないけど言い張れば勝ちって考えの人かな
- 257 :ナイコンさん:2016/08/28(日) 19:25:11.38 .net
- >>245
> 実際AVRでも任意bitシフトなくて4bitスワップつけてくれてるからいろいろ助かるわけで馬鹿な設計ではないよ。
AVRとZ80じゃ登場した時期が20年くらい違うけど比較になるのかな?
> コンパクトが売りの8bitでトランジスタ使いまくるのは本末転倒だろう。
AVRとZ80でCPU部分の回路規模は同程度という主張ですか?
- 258 :ナイコンさん:2016/08/28(日) 19:27:32.68 .net
- > 実際AVRでも任意bitシフトなくて4bitスワップつけてくれてるからいろいろ助かるわけで
こいつ他のスレで暴れてるトロールだろ。
- 259 :ナイコンさん:2016/08/28(日) 19:58:46.66 .net
- swap nibbles でググると C で書いたサンプルがぞろぞろ出てくるんだからそれなりに需要はあるんじゃね?
なんで不要なものにしたいのかよくわからん
- 260 :ナイコンさん:2016/08/28(日) 20:27:01.80 .net
- >>259
上下ニブル交換の需要があるかじゃなくて、専用命令のそれなんだが
わかってないね?
- 261 :ナイコンさん:2016/08/28(日) 20:33:14.69 .net
- 需要があれば専用命令作る奴がいてもおかしくないだろ
バカなのか?
- 262 :ナイコンさん:2016/08/28(日) 20:35:17.22 .net
- >>261
需要の程度を考慮しないで専用命令ってバカそのものでしょ
- 263 :ナイコンさん:2016/08/28(日) 21:00:24.60 .net
- 勝手に「需要の程度は専用命令つくるほどは無い」って決め付けて、それを他人に押つけるのがバカでなかったらなんだというのだろうなぁ・・・
- 264 :ナイコンさん:2016/08/28(日) 21:11:00.02 .net
- >>262
>>259 にそこそこ需要がある
って書いてあるのも見えないのかよ
ディスりたいだけだな w
- 265 :ナイコンさん:2016/08/28(日) 21:14:22.38 .net
- >>264
> >>259 にそこそこ需要がある
> って書いてあるのも見えないのかよ
「それなりに需要はあるんじゃね?」とはあるが「そこそこ需要がある」
なんてどこに書いてあんの?
捏造してでも自説を押し通したい人かな?
- 266 :ナイコンさん:2016/08/28(日) 21:16:27.63 .net
- >>245
> 実際AVRでも任意bitシフトなくて4bitスワップつけてくれてるからいろいろ助かるわけで
「いろいろ助かる」って例えばどんなん? 早く例挙げてちょ。3つでいいよ。
- 267 :ナイコンさん:2016/08/28(日) 21:18:36.34 .net
- > 実際AVRでも任意bitシフトなくて4bitスワップつけてくれてるからいろいろ助かるわけで
Z80にあってAVRにない命令もあるし色々ってだけの話だよね。
- 268 :ナイコンさん:2016/08/28(日) 21:23:23.55 .net
- AVRってRISCってことになってるけど
http://www.atmel.com/images/Atmel-0856-AVR-Instruction-Set-Manual.pdf
命令表見ると命令の実行サイクルって1から5まで色々であんまRISCっぽくないな。
だったらもっと便利な命令も色々あってよさそうなもんだがなあ、ブロック転送
命令すらないのかw
- 269 :ナイコンさん:2016/08/28(日) 21:25:14.44 .net
- RISCなんてのは「言ったモン勝ち」だろ。
そもそも明確な定義が無いんだし・・・
- 270 :ナイコンさん:2016/08/28(日) 21:30:46.08 .net
- > そもそも明確な定義が無いんだし・・・
最初にRISCと言い出した奴にはこれというものがあった筈だろ。
- 271 :ナイコンさん:2016/08/28(日) 21:38:10.35 .net
- >>265
> 「それなりに需要はあるんじゃね?」とはあるが「そこそこ需要がある」
> なんてどこに書いてあんの?
そこに突っ込む?
てか、そこにしか突っ込めないとか恥ずかしくね? w
- 272 :ナイコンさん:2016/08/28(日) 21:40:40.91 .net
- > そこに突っ込む?
当たり前じゃん。捏造を見逃せと言うの?
- 273 :ナイコンさん:2016/08/28(日) 21:46:04.72 .net
- >>259
> swap nibbles でググると C で書いたサンプルがぞろぞろ出てくるんだからそれなりに需要はあるんじゃね?
専用命令の要不要を話してんだから C で書いたサンプルじゃ意味ないだろ。
アセンブリレベルでそういうのやってる例挙げれや。
- 274 :ナイコンさん:2016/08/28(日) 21:53:31.96 .net
- >>272
はいはい、
>>259 にそれなりに需要がある
って言い直せばいいのな
バカみたい
- 275 :ナイコンさん:2016/08/28(日) 21:54:49.92 .net
- >>273
意味がわからん
Cだろうがアセンブラだろうがそう言う機能の需要の話だろ
- 276 :ナイコンさん:2016/08/28(日) 22:00:20.84 .net
- >>274
> >>259 にそれなりに需要がある
> って言い直せばいいのな
「それなりに需要はあるんじゃね?」だね。
捏造してでも自説を押し通したい人であることは確信したよ。
- 277 :ナイコンさん:2016/08/28(日) 22:01:46.75 .net
- 子供かよ w
- 278 :ナイコンさん:2016/08/28(日) 22:02:06.19 .net
- >>275
> Cだろうがアセンブラだろうがそう言う機能の需要の話だろ
仮にそういう話だとすると専用命令が必要かは別の話ということになるが
良いのか?
- 279 :ナイコンさん:2016/08/28(日) 22:04:28.05 .net
- > swap nibbles でググると C で書いたサンプルがぞろぞろ出てくるんだからそれなりに需要はあるんじゃね?
で、AVR用のコンパイラでそのコードをコンパイルするとSWAP命令が出力されんの?
されないならその程度のもんてことでいいかな?
- 280 :ナイコンさん:2016/08/28(日) 22:14:35.81 .net
- 仕事終わりました、横から失礼します(コソコソコソ・・・)
>>240
>予めDにテーブルアドレスの上位8ビットを入れておけば、
レス、ありがとうございます。
そうです、テーブル使えば入れ替え自体は
7ステートでいけるのはわかってたんですが
(xx)を使ってる分、そのあとの処理でどうしても
レジスタが裏も足りなくなってしまって・・・
Aレジの上下入れ替え、4ステート1バイトで出来ればなぁと愚痴ってしまいました。
>>241
デザイナーさんがどうしても画面を
ゴリゴリ書き換えたいとの要求で
それで4Kのダブルバッファなんですよ。
この部分に関してはメモリは二の次です。
>>244
自分の場合は(BC)で交換してたんですが
テーブルは0000Hを先頭にして、テーブル参照してました。
まだ足りん!と言われればまだ頑張れます。
自分の書き込みで流れが変わってしまって申し訳ないです。これでおわりにします。
横から申し訳ありませんでした。
- 281 :ナイコンさん:2016/08/28(日) 22:21:57.83 .net
- > デザイナーさんがどうしても画面を
> ゴリゴリ書き換えたいとの要求で
> それで4Kのダブルバッファなんですよ。
「何m秒内に何バイト書き換えたい」みたいな具体的な話がないってことは
要求仕様がないってことなんだがなあ。
- 282 :ナイコンさん:2016/08/28(日) 22:23:54.76 .net
- >>278
意味がわからん
機能が必要だから命令を作るだけの話だろ
x86 の enter / leave みたいにC言語(だけではないけど)向けの命令とかもあるし
- 283 :ナイコンさん:2016/08/28(日) 22:26:20.35 .net
- >>279
コンパイラの出来がこの話になんの関係が?
> されないならその程度のもんてことでいいかな?
いいんじゃね?
お前のなかではな
- 284 :ナイコンさん:2016/08/28(日) 22:30:43.27 .net
- >>283
> コンパイラの出来がこの話になんの関係が?
関係ないのか。了解。
$ avr-gcc -v
Using built-in specs.
COLLECT_GCC=C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avr-gcc.exe
COLLECT_LTO_WRAPPER=c:/program\ files\ (x86)/arduino/hardware/tools/avr/bin/../libexec/gcc/avr/4.8.1/lto-wrapper.exe
Target: avr
Configured with: ../gcc-4.8.1/configure --enable-fixed-point --enable-languages=c,c++
--prefix=/c/jenkins/workspace/toolchain-avr-windows/objdir --enable-long-long
--disable-nls --disable-checking --disable-libssp --disable-libada --disable-shared
--enable-lto --with-avrlibc=yes --with-dwarf2 --disable-doc --target=avr
Thread model: single
gcc version 4.8.1 (GCC)
$ cat swap.c
unsigned char swapNibbles(unsigned char x)
{
return ( (x & 0x0F)<<4 | (x & 0xF0)>>4 );
}
$ avr-gcc -S -O2 swap.c -o -
.text
.global swapNibbles
.type swapNibbles, @function
swapNibbles:
swap r24
ret
- 285 :ナイコンさん:2016/08/28(日) 22:30:44.04 .net
- Cコンパイラってenter / leaveはBPレジスタのセット用にしか使ってないような・・・??
DOSの頃にMS-C/C++7.0で確認したのが最後だからその後はどうなってるか知らないけど。
- 286 :ナイコンさん:2016/08/29(月) 01:05:17.58 .net
- 4bitの入れ替え命令追加とかよりも、
普通にLD B,BなどをEX A,B(LD A,AはEX A,Fあたりかな?)にしてくれるだけでも十分うれしいと思うんだ、俺w
そもそも時間足りないとかならそのCPUを採用してるHWアーキテクトが馬鹿なんじゃない?
- 287 :ナイコンさん:2016/08/29(月) 01:20:38.76 .net
- 命令長馬鹿は消えてくれ。
- 288 :ナイコンさん:2016/08/29(月) 01:23:03.69 .net
- bitの入れ替えだけなんか一番実装が楽な命令じゃねーか。便利なんだからどんどん追加しろよ。
用途が分からない馬鹿はコード書いたことない馬鹿だからスルーで。
- 289 :ナイコンさん:2016/08/29(月) 01:49:34.06 .net
- >国会図書館と言われてるのに他を探してないぞと大騒ぎw 馬鹿丸出しだなw
>隔離スレ立ってるるからスレチな粘着C馬鹿はそっちへひっこめ
>>20 またおまえか。馬鹿は引っ込んでろ。
> その変数のレジスタ割り当て規則は、馬鹿に深く考えるより、単純にFIFOがふつうに効率がいいと分かってる。
>僅かな努力もしないことを馬鹿にされててこの態度w
>ちょっとぐぐればわかる程度のことを他人に聞く馬鹿が逆切れw
>PICなんて高クロックチップ出してくる時点で6809を馬鹿にしてる。
> サウンド用とかFD用とかじゃなくてSMPなの? 馬鹿?
>6502オタはほんと馬鹿だな。
>馬鹿じゃないのコイツ
>上下4ビットの入れ替えで馬鹿はヒドイ。
>4bitスワップつけてくれてるからいろいろ助かるわけで馬鹿な設計ではないよ。
>1語16bitのアーキテクチャ持ち出して何が言いたいのかなこの馬鹿は?
> >>247 馬鹿なの?
> >>250 どう考えても馬鹿。
> >>251 こいつすげー馬鹿だw
> >>247 馬鹿はおまえだと思うぞ。
> 馬鹿しか言えないいつもの馬鹿はスルーしろ。
>そもそも時間足りないとかならそのCPUを採用してるHWアーキテクトが馬鹿なんじゃない?
>命令長馬鹿は消えてくれ。
>用途が分からない馬鹿はコード書いたことない馬鹿だからスルーで。
馬鹿ばっかし
- 290 :ナイコンさん:2016/08/29(月) 02:06:48.61 .net
- >>289
よほど悔しかったと見えるw
- 291 :ナイコンさん:2016/08/29(月) 02:50:52.48 .net
- > bitの入れ替えだけなんか一番実装が楽な命令じゃねーか。便利なんだからどんどん追加しろよ。
>
> 用途が分からない馬鹿はコード書いたことない馬鹿だからスルーで。
8086の設計者とZ80の設計者と6809の設計者と6502の設計者を敵に回したなw
- 292 :ナイコンさん:2016/08/29(月) 02:53:23.63 .net
- 次の名物は4bit君かw
- 293 :ナイコンさん:2016/08/29(月) 03:12:27.10 .net
- >>292
いやいや次の迷惑物は馬鹿馬鹿連呼のオマエ様。お馬鹿君w
- 294 :ナイコンさん:2016/08/29(月) 04:42:28.09 ID:4HX1HKbk.net
- トラ技2008年8月号の付録USB基板で、NECエレ(現ルネサス)の 78K0 を
初めて触ったときに、マニュアル(pdf)に ROR4 や ROL4 という命令が
31 91 ROR4 [HL] // Aのb3-0 → dstのb7-4 → dstのb3-0 (Aのb7-4は不変)
31 90 ROL4 [HL] // Aのb3-0 ← dstのb7-4 ← dstのb3-0 (Aのb7-4は不変)
どういう時に使うのか不思議に思った記憶が…。必要サイクル数も不明(2バイト命令なので遅いかも)
でもスワップじゃないし、あまり関係ない書き込みですみません
というか、ほとんど基板を試さずに投げ出してしまったので、何も学ばなかった orz
- 295 :ナイコンさん:2016/08/29(月) 05:05:03.89 .net
- >>291
8086は4ビットシフトできるし、Z80は4bit取り出し命令ある。
- 296 :ナイコンさん:2016/08/29(月) 06:32:35.89 .net
- > 8086は4ビットシフトできるし、
CLで回数指定するとその分サイクル数を消費するし、
> Z80は4bit取り出し命令ある。
誰もそんな話してないんだよなあ。話の流れがまったく読めない人かな?
- 297 :ナイコンさん:2016/08/29(月) 06:39:18.94 .net
- まさか6809は究極の8bitだし、6502は信者最強の8bitだしないわけないよな。
- 298 :ナイコンさん:2016/08/29(月) 06:41:00.92 .net
- >>295
8086 の ROL reg.CL で上下4ビットを交換すると24クロック掛かる。
http://zsmith.co/intel_r.html#rol
> reg,CL 8+4n
>>235の言う
> シフト4回で全く問題無いんだけど
> 4Kで構成している仮想VRAMを走査してる時に
> 上下入れ替えするためにシフト4回は最低でも16ステート。
> これは時間がかかり過ぎる。
には遅すぎだろ。ROL reg.1 を4回繰り返した方がよっぽどマシだわ。
- 299 :ナイコンさん:2016/08/29(月) 06:49:15.96 .net
- >>295
> Z80は4bit取り出し命令ある。
ちょっと何言いたいんだかわからん。
レジスタの内容の上位4ビットを下位4ビットに1命令で移動させたい、
みたいな希望の筈だがZ80にそんな命令あったっけ?
RLDなら(HL)の内容を書き換えてしまうし第一遅杉じゃね?
- 300 :ナイコンさん:2016/08/29(月) 06:51:25.73 .net
- 10進表記では4bitが基本となるからたいていのCPUで4bi操作に関する機能は追加されてる。
- 301 :ナイコンさん:2016/08/29(月) 07:02:04.25 .net
- >>294
> トラ技2008年8月号の付録USB基板で、NECエレ(現ルネサス)の 78K0 を
> 初めて触ったときに、マニュアル(pdf)に ROR4 や ROL4 という命令が
>
> 31 91 ROR4 [HL] // Aのb3-0 → dstのb7-4 → dstのb3-0 (Aのb7-4は不変)
> 31 90 ROL4 [HL] // Aのb3-0 ← dstのb7-4 ← dstのb3-0 (Aのb7-4は不変)
命令の働きはZ80のRRDやRLDと同等のものだろう。使い道は主にはBCDデータの
桁シフトと思われる。
トラ技の付録基板の搭載マイコンは
http://shop.cqpub.co.jp/hanbai/books/42/42121/42121_p.13-159.pdf
> 付属基板は,NECエレクトロニクスのUSB内蔵ワンチップ・マイコン
> μPD78F0730の周囲に,最低限の周辺回路を搭載したコンパクトなものです.
とある通りμPD78F0730というものだろう。
『μPD78F0730ユーザーズマニュアル ハードウェア編』というのを見てみると
Aレジスタを1ビット右ローテートするROR A, 1が2クロックなのに対して、
Aレジスタの下位4ビットと[HL]の内容を4ビットローテートするROR4 [HL]が
10クロックとあるので、まあ随分遅い命令であることは確か。
- 302 :ナイコンさん:2016/08/29(月) 07:03:15.25 .net
- >>300
6809の設計者と6502の設計者を敵に回したなw
- 303 :ナイコンさん:2016/08/29(月) 07:26:06.28 .net
- さすがに8086を前にして究極の8bitは気が引ける
- 304 :ナイコンさん:2016/08/29(月) 07:26:30.77 .net
- >>302
どっちもある。
- 305 :ナイコンさん:2016/08/29(月) 07:30:09.65 .net
- > どっちもある。
BCD演算かなんかと勘違いしてんだろうな。
- 306 :ナイコンさん:2016/08/29(月) 07:32:20.69 .net
- >>304
6809と6502で「4bi操作に関する機能」ってどういうののこと言ってんの?
- 307 :ナイコンさん:2016/08/29(月) 07:33:04.12 .net
- > BCD演算かなんかと勘違いしてんだろうな。
そんなとこだろうね。
- 308 :ナイコンさん:2016/08/29(月) 07:39:32.47 .net
- レジスタの中身 0x12 を命令1つで 0x21 にできたら楽だろ。
ただそれだけの話しじゃないかwww
- 309 :ナイコンさん:2016/08/29(月) 07:41:59.13 .net
- >>300
> 10進表記では4bitが基本となるからたいていのCPUで4bi操作に関する機能は追加されてる。
BCD補正のこと言いたいならCOBOLや電卓の時代を引きずった古いアーキテクチャ
限定じゃね? 「たいていのCPU」は正確ではないんじゃないかなあ。
- 310 :ナイコンさん:2016/08/29(月) 07:43:08.06 .net
- > レジスタの中身 0x12 を命令1つで 0x21 にできたら楽だろ。
ADD A,0FH
なるほど。これは楽だな。
- 311 :ナイコンさん:2016/08/29(月) 07:45:10.63 .net
- 4ビット交換に拘ってる奴ってプログラム書いたことないんだろうなあ。
- 312 :ナイコンさん:2016/08/29(月) 07:53:09.88 .net
- そーいやx64では8080や8086から受け継がれてきたBCD演算関係の命令が
バッサリ廃止されたけどAMD的に「まーいらねっか」という判断だったんだろうね。
- 313 :ナイコンさん:2016/08/29(月) 08:03:34.05 .net
- amd64のドキュメント読まないでそういう嘘言っちゃダメだよ。
- 314 :ナイコンさん:2016/08/29(月) 08:04:27.37 .net
- >>311
何を根拠にそんなことを思ったの?
- 315 :ナイコンさん:2016/08/29(月) 08:50:01.91 .net
- >>313
x64ってシッカリと書いてあるだから、読んでねぇーのはテメェの方だろ
AAA,AAD, AAM, AAS
Using this instruction in 64-bit mode generates an invalid-opcode exception.
- 316 :ナイコンさん:2016/08/29(月) 10:54:33.39 .net
- 64ビットモードに切り替えると使えなくなるとかかしら
- 317 :ナイコンさん:2016/08/29(月) 11:57:33.30 .net
- 引き際を誤って自己主張しすぎた4bit君フルボッコで涙目すぎw
- 318 :ナイコンさん:2016/08/29(月) 12:53:23.32 .net
- >>315
> AAA,AAD, AAM, AAS
8080 や 8086 にそんな命令ないだろ w
>>316
> generates an invalid-opcode exception.
(不正命令例外が発生する)
総レス数 1000
264 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200