■ このスレッドは過去ログ倉庫に格納されています
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/
- 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.
(不正命令例外が発生する)
- 319 :ナイコンさん:2016/08/29(月) 14:44:12.88 .net
- > > AAA,AAD, AAM, AAS
>
> 8080 や 8086 にそんな命令ないだろ w
http://www.electronics.dit.ie/staff/tscarff/8086_instruction_set/8086_instruction_set.html#AAA
- 320 :ナイコンさん:2016/08/29(月) 15:16:57.52 .net
- > > AAA,AAD, AAM, AAS
>
> 8080 や 8086 にそんな命令ないだろ w
ちょっとぐぐれば出てくる程度のことで何故恥を晒すのかな
https://www.google.co.jp/#q=8086+instruction+AAA
- 321 :ナイコンさん:2016/08/29(月) 15:18:22.93 .net
- リンクが上手くいかんな
h ttps://www.google.co.jp/#q=8086+instruction+AAA
- 322 :ナイコンさん:2016/08/29(月) 17:48:38.62 .net
- >>319-321
すまん 8086 を消し忘れた
- 323 :ナイコンさん:2016/08/29(月) 17:57:12.39 .net
- >>amd64のドキュメント読まないでそういう嘘言っちゃダメだよ。
これのどこから、8080とか出てくるんだ
馬鹿すぎて、8080と8086の区別もがつかないか
- 324 :ナイコンさん:2016/08/29(月) 18:01:58.42 .net
- >>322
DASやAAAその他が8080からあったという主張なら「8080や8086から
受け継がれてきたBCD演算関係の命令」とは書かんだろ。
8080から(以降のプロセッサへ)受け継がれてきたBCD演算関係の命令
DAA
8086から(以降のプロセッサへ)受け継がれてきたBCD演算関係の命令
DAS AAA AAD AAM AAS
- 325 :ナイコンさん:2016/08/29(月) 18:06:13.87 .net
- >>323
8086の命令セットは8080のそれを下敷きにしてて素直に組まれた
プログラムなら機械的にコンバートもできるんだが知らんの? 馬鹿だから??
- 326 :ナイコンさん:2016/08/29(月) 18:07:00.00 .net
- 4bit君はホント馬鹿だなw
- 327 :ナイコンさん:2016/08/29(月) 18:08:03.37 .net
- 更に恥の上塗りだな
- 328 :ナイコンさん:2016/08/29(月) 18:23:35.15 .net
- 64ビットモーならBCD専用命令使えなくても問題ないというのは、有りだな。
設計者もクソ広いメモリーに、バカ速いCPUでわざわざBCD専用命令残すより、他の命令に割り当てたほうが有効だって判断したんだろうさ。
- 329 :ナイコンさん:2016/08/29(月) 18:39:40.36 .net
- > Using this instruction in 64-bit mode generates an invalid-opcode exception.
ってあるから、他の命令を割り充てたりしてはいないよ
該当OpCode領域はそのまま残してあって、もしそのコードを使えば例外が発生する
使用頻度から考えて、他の命令で代替して貰っても なんら問題ないって判断だな
- 330 :ナイコンさん:2016/08/29(月) 18:42:38.63 .net
- BCD命令便利だろ。
バイトスワップ命令便利だろ。
バイトスワップあるならニブルスワップ命令あったら使うだろ。
コンパイラが使うだろ、有れば。
なければ他の命令に置き換えるだけだろ。
- 331 :ナイコンさん:2016/08/29(月) 19:11:58.15 .net
- long modeでもCompatibility modeでは動くから実装は乗ってる。
64bit modeだけ例外投げるということは他に理由があるのだろう。
- 332 :ナイコンさん:2016/08/29(月) 19:38:35.71 .net
- 4bit君は他の名物と同様、聞きかじりで知ったかドヤ顔したいだけのにわかなんだなぁw
- 333 :ナイコンさん:2016/08/29(月) 19:53:39.47 .net
- C言語ありえないクンが独りじゃ寂しいそうだぞwww
ざまぁ。
- 334 :ナイコンさん:2016/08/29(月) 19:57:34.30 .net
- この人はずっと誰と戦ってるのだろう?
- 335 :ナイコンさん:2016/08/29(月) 20:13:06.37 .net
- > 64bit modeだけ例外投げるということは他に理由があるのだろう
32ビット互換モードとがらりと変わるレジスタ構成あたりが関係してるんじゃないかと思う。
別な理由があるのかもしれないけど。
- 336 :ナイコンさん:2016/08/29(月) 21:57:49.50 .net
- >>334
久々に煽り耐性の無い新人が来たからじゃれたくて仕方ないんだろいい年こいて草はやしてまあみっともない
- 337 :ナイコンさん:2016/08/29(月) 22:00:22.28 .net
- > 久々に煽り耐性の無い新人が来た
ということにしたいのは分かったw
- 338 :ナイコンさん:2016/08/29(月) 22:29:27.03 .net
- 客観的に見たまんま書いただけだよ恥の上塗りだな
- 339 :ナイコンさん:2016/08/29(月) 23:26:58.36 .net
- 煽って罵倒するだけしか能のない爺は死ねよ、邪魔だ。
- 340 :ナイコンさん:2016/08/29(月) 23:28:44.17 .net
- 専用スレ立てられて、ワッチョイになったから逃げ出したチキンが生きてたって無駄だからな、死ねよ。
- 341 :ナイコンさん:2016/08/30(火) 00:40:04.41 .net
- 温室育ちがにわか知識で過去を語ってドヤ顔する……芸風かわらねぇw
- 342 : 294:2016/08/30(火) 02:04:34.94 ID:teNCcxtT.net
- >>301
わざわざ調べてくださって有難うございます。取説のハードウェア編を見落としてました
Z80のRRD/RLDをすっかり失念してました。まじで認知症が始まったかもw
何かRLDの使用例がないかググってみたら、MSXフォーラムで
[HL]の内容を16進アスキー2桁で表示する例
xor a
rld ;まず上4bit読出し
call Nibble
Nibble ;二回通る(日本語のコメントは自分勉強用の追加です)
push af
daa ;0-9ならそのまま,A-Fなら10h-15h
add a,F0h ;F0h-F9h,キャリーと0-5
adc a,40h ;30h-39h,41h-46h つまり'0'-'9','A'-'F'
call a2h ;CHPUT (MSXの1文字出力?)
pop af
rld ;1回目は上4bit書き戻し 2回目は下4bit書き戻し
ret
https://www.msx.org/forum/development/msx-development/rld-and-rrd-z80-commands-any-usage
cなら自分は教科書的に m += ( m < 10 )? '0': 'A'-10; みたいな
のを2回書くところを、Z80でこんな方法があるなんて、なんか感動した
DAAをうまく使ってA〜Fを振り分けるのもビックリだけど
ちゃんと3回まわしてメモリ内容が元に戻るのもすごい
しいて難点をあげるなら、不必要にRAM内容を変えることかな
ROMだと下4bitがダメだし (どこか転記間違いや勘違いがあったら陳謝)
- 343 :ナイコンさん:2016/08/30(火) 02:16:22.05 ID:teNCcxtT.net
- 関係ないけど、いつもインテルの AAA とか、モトローラの SEX や ABCD とか見ると
両社がニーモニックで、ユーモア度を張り合ってるのかと勘ぐってしまうw
- 344 :ナイコンさん:2016/08/30(火) 03:35:28.82 .net
- >>342
> しいて難点をあげるなら、不必要にRAM内容を変えることかな
> ROMだと下4bitがダメだし
俺がいま鼻クソほじりながら書いたコードで上の難点はないし
コードサイズも変わらん。こんなんで大騒ぎしなくていいぞ。
ld a,(hl)
rra
rra
rra
rra
call nibble
ld a,(hl)
nibble:and 0fh
cp 10
sbc 69h
daa
jp 0a2h
- 345 :ナイコンさん:2016/08/30(火) 03:57:35.93 ID:teNCcxtT.net
- !id:on
>>344
ふぇ〜、有難うございます。昔はゲームで遊んでばかりで、ろくに機械語を
学ばなかった自分のような中年初心者には、とても勉強になります
BCD補正命令を、こういう用途に使うって発想がそもそも自分になかった
過去スレで平方根(2進開平法)を教わった時以来の、久々の快感w
- 346 :ナイコンさん:2016/08/30(火) 04:50:03.76 ID:teNCcxtT.net
- >>344 (追伸)
なんで call じゃなくて jp 0a2h で、しかも最後に ret が無いのか
考え込んで、寝られなくなった… 今やっと理解した
文字出力ルーチン側の ret でそのまま戻るのか! って、もうこんな時間w
- 347 :ナイコンさん:2016/08/30(火) 06:03:40.78 .net
- >>219
組み込みでは、コア部分の性能が劣るのにPIC の方がシェア高い。
特に量産する組み込みでは、コア性能よりコスト。
- 348 :ナイコンさん:2016/08/30(火) 08:34:57.39 .net
- >>347
要求される仕様が満たされば良いのであり必要以上のコア性能など不要。
- 349 :ナイコンさん:2016/08/30(火) 16:58:21.56 .net
- バランスの問題だな。
過剰なスペックはいらん。
- 350 :ナイコンさん:2016/08/30(火) 17:27:31.66 .net
- >>347
よく知らんけど最近はそうでもないんじゃないの?
32bitコアが馬鹿みたいに安くなっちゃったから、しぶとく生き残ってた8052コアなんかここ数年で
ほとんど駆逐されちゃったよね。
PICも恐らく同じだと思うんだけど
- 351 :ナイコンさん:2016/08/30(火) 18:19:50.88 .net
- 昔の12bit/14bitPICは6502並みのダメ子だったけど
今の16bitPICは普通になった
dsPIC/PIC24系に至っては、レジスタ幅も16bitのプロセッサになっちゃたし
ARMローエンドのM0とかだと対抗馬になっても駆逐は難しいのでは
- 352 :ナイコンさん:2016/08/30(火) 21:08:34.35 .net
- x64にハーフキャリーはないの?
- 353 :ナイコンさん:2016/08/30(火) 21:37:59.33 .net
- >>351
M0とかになると、ソフトの互換性かなり落ちるしな。
- 354 :ナイコンさん:2016/08/30(火) 22:23:26.06 .net
- >>352
https://support.amd.com/TechDocs/24593.pdf
> Figure 3-7. RFLAGS Register
> 4 AF Auxiliary Flag R/W
- 355 :ナイコンさん:2016/08/30(火) 22:26:56.40 .net
- >>352
http://developer.amd.com/wordpress/media/2012/10/24592_APM_v11.pdf
> Auxiliary Carry Flag (AF). Bit 4. Hardware sets the auxiliary
> carry flag if an arithmetic operation or a binary-coded decimal
> (BCD) operation generates a carry (in the case of an addition)
> or a borrow (in the case of a subtraction) out of bit 3 of the
> result. Otherwise, AF is cleared to zero.
> The main application of this flag is to support decimal arithmetic
> operations. Most commonly, this flag is used internally by
> correction commands for decimal addition (AAA) and subtraction (AAS).
- 356 :ナイコンさん:2016/08/30(火) 22:38:40.45 .net
- フラグまで無くすと複数の命令を組み合わせて10進補正命令を再現
することも困難になるからそうそう無くせはしないだろうね。
- 357 :ナイコンさん:2016/08/31(水) 00:20:56.11 ID:Az6OpG94.net
- 質問です。減算後のBCD補正機能が 6800,6809や8080A(NEC版を除く)には無いけど
これは加算用のDAAを使って、何か減算用に代用できるアルゴリズムでもあるのでしょうか?
8086,Z80,6502にできて、6809だけBCD減算できない(?)とすると、信者として結構ショックw
- 358 :ナイコンさん:2016/08/31(水) 01:18:13.75 .net
- >>357
加算ができれば補数(10の補数)を使って減算に変換できる理屈は2の補数と同じだと思うよw
要は、例えば1バイト(2ケタ)であれば、1を引くのは99を足すのと同じだよね
- 359 :ナイコンさん:2016/08/31(水) 02:29:17.64 .net
- 一応もうちょっと捕捉。
10の補数を求める方法も2の補数を求める方法と同じ。
1の補数を求めて1足せば2の補数になるように、9の補数を求めて1をBCD加算すれば10の補数になる。
9の補数の求め方は考えれば分かると思うので省略(笑)
- 360 :ナイコンさん:2016/08/31(水) 04:25:15.55 ID:Az6OpG94.net
- >>358 >>359
有難うございます。なるほど、10の補数で考えれば簡単だった!
引く数をまず99hから引いて1足して、それを最初の数に足しこんで
最後にdaaならすぐできそうですね。キャリー処理とか含めると
BCD加算に比べてかなりクロックが増えそうだけど、もう少し自分で工夫してみます
歳とって頭がすっかり硬くなってるw
6800との互換性を考えてなのか、マニュアルみると6809のフラグHも減算時は不定だし
Hだけ分岐がないし、別命令扱いでもBCD減算ぐらい実装すれば良かったのに、とか
考えてしまった。まあ30年間一度もdaaを使えなかった自分が言う資格はないかw
ついでに日立 6309 の追加命令 SBCD を見つけたので、もしやこれが?と思ったけど
単なる Dレジのボロー付き減算(SBCAやSBCBのD拡張)だったというオチ
- 361 :ナイコンさん:2016/09/02(金) 13:02:19.70 .net
- BCD減算www
- 362 :ナイコンさん:2016/09/03(土) 12:01:58.75 .net
- 6502のゼロページはなんでレジスタ扱いなんですか?
- 363 :ナイコンさん:2016/09/03(土) 13:27:57.75 .net
- レジスタファイル
- 364 :ナイコンさん:2016/09/03(土) 13:38:41.72 .net
- ググってもレジスタファイルが実装されてるという記述は見当たりませんでした。
- 365 :ナイコンさん:2016/09/03(土) 13:53:13.45 .net
- >6502のゼロページはなんでレジスタ扱いなんですか?
そんな事実ないから。
- 366 :ナイコンさん:2016/09/03(土) 14:26:30.00 .net
- NG レジスタとして扱える
OK レジスタのように扱える
こうかな?
6502は全くさわったことないんだけどね
- 367 :ナイコンさん:2016/09/03(土) 15:37:12.81 .net
- 「レジスタのように扱える」が意味不明
- 368 :ナイコンさん:2016/09/03(土) 15:53:55.25 .net
- 6502まったく知らんけどハーバードアーキテクチャーのSFRみたいなものなんじゃないの
- 369 :ナイコンさん:2016/09/03(土) 16:11:09.73 .net
- >>368はハーバードアーキテクチャもよくわかってないみたいだからも少し勉強すれ
- 370 :ナイコンさん:2016/09/03(土) 16:12:46.40 .net
- >>369
毎日仕事で使ってましたw
勉強すれてw
- 371 :ナイコンさん:2016/09/03(土) 16:23:58.49 ID:CsFBv0uE.net
- >>87
> 6502てメモリの00-ffhはレジスタみたいに使えるってよく見るけど、
> 命令を1バイト短くできるだけで消費クロックとか別に何の優位性もないよな?
>>362
> 6502のゼロページはなんでレジスタ扱いなんですか?
同じ人でしょうか? 自分が思うに、これは 6502 の話というより
ワンボードマイコン期(1970年代末)に一般的だった
「8080系と6800系はどっちが使いやすいか?」という論争が発端かと
8080信者: アキュムレータが一個だけど、レジスタは複数あって便利だぞ
6800信者: アキュムレータは二つあるぞ。演算用レジスタはないけど
オペランド8bitで、250個以上もの場所をあたかもレジスタっぽく使えて便利だぞ
当時の状況では、なるべくコードサイズを短くするのは重要だったので
2バイト直接指定だけでなく、1バイト指定のアドレッシングモードもあるよ!
って叫ぶのが、信者とモトローラ系営業マンの売り文句だった記憶
6502は単にその思想の一部を引き継いだという感じ
で 6809 では、DPR(ダイレクトページレジスタ)が導入されて、やっと
64K全空間に拡張された、と
周辺コントローラの知識はほとんどないんですが、SFR(特殊機能レジスタ)とかは
たぶん実装の仕方も、そのアドレス領域についてはきちんと専用設計になってると
思われるので、6800の単なるアドレスオフセット的なものとはかなり違う印象
- 372 :ナイコンさん:2016/09/03(土) 17:00:28.26 .net
- >>370
ハーバードアーキテクチャとSFRは関係ない。
- 373 :ナイコンさん:2016/09/03(土) 17:22:42.09 .net
- >>372
いやいや、メモリーマップトI/Oみたいなのを便宜上SFRと呼ぶことはあるけど、
それは本来のSFRではないと思うけど。
まあそれを言い出したらハーバードアーキテクチャーのSFRだって本来の意味でレジスタなのかって
疑問もあるけども。
- 374 :ナイコンさん:2016/09/03(土) 17:41:32.61 .net
- 土日はゼロページでスレが伸びそうだねw
- 375 :ナイコンさん:2016/09/03(土) 17:47:17.22 .net
- > まあそれを言い出したらハーバードアーキテクチャーのSFRだって本来の意味でレジスタなのかって
> 疑問もあるけども。
「レジスタ」の意味も分かってないのかw
- 376 :ナイコンさん:2016/09/03(土) 17:49:23.81 .net
- >>375
英語の単語はだいたいそうだけど、レジスタって言葉も多義的な言葉で文脈によって意味が変わるよ。
言っちゃ悪いけど、ド素人なら黙ってりゃいいのに。
- 377 :ナイコンさん:2016/09/03(土) 18:02:47.17 .net
- ゼロページメモリのない6502はHLレジスタのないZ80、IXレジスタのない6800
- 378 :ナイコンさん:2016/09/03(土) 18:10:29.04 .net
- >>377
HLレジスタ縛りで実装はキツすぎるなぁ
かなりメモリバカ食いすると思うなぁ
6502はゼロページなしで制限なく実装できる?
- 379 :ナイコンさん:2016/09/03(土) 18:15:23.33 .net
- >>376
> 英語の単語はだいたいそうだけど、レジスタって言葉も多義的な言葉で文脈によって意味が変わるよ。
で、「 本来の意味でレジスタ」について解説宜しくw
- 380 :ナイコンさん:2016/09/03(土) 18:16:53.70 .net
- > HLレジスタのないZ80
IXとIYがあるしそれほど困らんだろ
- 381 :ナイコンさん:2016/09/03(土) 18:21:28.71 .net
- >ハーバードアーキテクチャーのSFRみたいなものなんじゃないの
ハーバードアーキテクチャにSFRがなんか関係あると勘違いしてる人かな?
https://www.google.co.jp/search?q=harvard+architecture+sfr
- 382 :ナイコンさん:2016/09/03(土) 18:23:22.80 .net
- > 言っちゃ悪いけど、ド素人なら黙ってりゃいいのに。
完全同意
- 383 :ナイコンさん:2016/09/03(土) 18:27:15.14 .net
- >6502まったく知らんけどハーバードアーキテクチャーのSFRみたいなものなんじゃないの
これは恥ずかしいw
- 384 :ナイコンさん:2016/09/03(土) 18:45:14.06 .net
- 376=382 誤嚥爺w
- 385 :ナイコンさん:2016/09/03(土) 18:49:11.52 .net
- 誤嚥 - Wikipedia
https://ja.wikipedia.org/wiki/%E8%AA%A4%E5%9A%A5
> 誤嚥(ごえん)とは、食べ物や異物を気管内に飲み込んでしまうこと。
> また異物を消化管内に飲み込んでしまうこと。
(以下略)
- 386 :ナイコンさん:2016/09/03(土) 19:34:10.14 .net
- >>368
> ハーバードアーキテクチャーのSFRみたいなものなんじゃないの
kwsk
総レス数 1000
264 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200