X



トップページ昔のPC
44コメント10KB
やはり8080やZ80はアドレッシングモードが貧弱で悲しい
0001ナイコンさん垢版2020/12/12(土) 02:47:21.89
初心者でもプログラミングし易いのと逆アセンブルでの解析が比較的易しいのは
利点だが
0002ナイコンさん垢版2020/12/12(土) 05:17:35.74
LD --(IX), BC
LD BC, (IX)++
LD (IX)+,(IY)+
LD (IX)++, (IY)++
ADD (HL),A
ADC (IX),BC
ADC (HL)+,A
ADD (IX)++,BC
LD BC,(PC,<LABEL>)
INW (IX) ;インデクスレジスタ間接16bitインクリメント

みたいのが欲しいかというと、それほどでもなく
理由:どーせ命令長が伸びて「それほどメモリ節約にならんやんけ!8080な範囲でやりくりした方が動作早いやんけ!」となる
0005ナイコンさん垢版2020/12/25(金) 15:17:47.47
HとLがそれぞれ8bitアキュームレータ扱いで
ADD L,A
ADC H,0
とか書けたら良かったんだろうか
0006ナイコンさん垢版2021/01/02(土) 15:06:19.54
命令数が限られた8bitだから厳選してるんだよな
使われないアドレッシングの命令があると無駄になるし
0008ナイコンさん垢版2021/01/05(火) 11:13:47.81
6502や6809に演算結果をメモリ側に残す命令が欲しかった
OPコードマップは空いてるんだし
0009ナイコンさん垢版2021/01/05(火) 21:44:36.47
LDA #$01
STA <$01
LDA #$7F ;A9 7F 2clk
ACM <$01 ;67 01 (仮) 4clk A=($01)=#$80
;LDA <$01 ;A9 01 3clk
;ADC #$7F ;69 7F 2clk
;STA <$01 ;85 01 3clk
;2byte 2clk オトク

LDA #$0F ;A9 0F 2clk
ANM $0100 ;2F 00 01(仮) 5clk A = ($0100)
;LDA $0100 ;AD 00 01 4clk
;AND #$0F ;29 0F 2clk
;STA $0100 ;8D 00 01 4clk
;3byte 3clk オトク

6502風、こんな感じ?
0010ナイコンさん垢版2021/02/04(木) 12:57:02.23
ブロック転送やブロックサーチの命令なんか無くても困らんから
乗算や除算を1ステップだけ実行する命令が欲しかった
0011ナイコンさん垢版2021/02/04(木) 20:32:28.74
CPUとDMAが別チップになってるけど不可分だったならブロック転送やブロックサーチはいらない分、それも可能だったりしたかもね。
0012ナイコンさん垢版2021/02/20(土) 23:22:07.08
Z80は相対ジャンプ使えるからいいね。逆に8080が人気無いのはこの為か?
ゲームボーイのCPUは洗練されていて相対ジャンプはあるけど、裏レジスタ無しの
シンプル設計
0013ナイコンさん垢版2021/02/21(日) 06:32:40.67
8086パソコンで初めてパソコン触った口で
8086のセグメントが大嫌いだったけど、後でZ80を触るようになって
8086は8bit CPUに比べれば非常に高機能だったんだなと改めて認識したなぁ
0014ナイコンさん垢版2021/02/21(日) 19:02:00.17
相対ジャンプ、遅くなってあんまり嬉しくなかったなぁ(DJNZを除く)
0015ナイコンさん垢版2021/02/22(月) 14:09:03.63
>>12
リフレッシュ機能の有無
当時のホビーストが出始めのDRAM使うにはリフレッシュ機能自分で組み込む必要あったから
0016ナイコンさん垢版2021/02/22(月) 20:25:15.29
あと8080との比較なら+5V単一電源って言うのもあるな
0017ナイコンさん垢版2021/02/24(水) 08:23:15.09
>>5
AレジスタとHLレジスタに分けちゃったのがなんでやという気がする
アキュムレータAH,ALに拡張して8ビットはALで計算して一命令でAHALに拡張(符号あり、なし)できるようにしたらよかったと思う
0018ナイコンさん垢版2021/02/24(水) 17:29:35.70
>>17
でもその代わり、メモリポインタ計算であるHL系とアキュムレータとで別々に計算できて良かったかもね。
8080だとHLではなく Mだし、そういう思想かと思うわ。
0019ナイコンさん垢版2021/02/28(日) 08:52:44.77
>>15
それってプログラマーが意識してプログラム中に随時、リフレッシュ処理をはさむようにしなきゃならなかったって事?
0020ナイコンさん垢版2021/02/28(日) 12:31:00.41
>>16
そういやそれも大きいね
>>19
Z80が出始めのころの自作マイコンボードの話
SRAMより容量多いDRAMが登場してみんな使いたかったんだけどフレッシュ回路を付けなくちゃいけないから面倒だった
それがZ80だとCPUにその機能があるんで付ける必要ないから人気になった
0021ナイコンさん垢版2021/02/28(日) 13:18:04.49
>>19
そうじゃなくてCPU止めてリフレッシュする回路を別に組まないといけないって話だろ
0022ナイコンさん垢版2021/03/01(月) 15:41:33.32
内部16bitにしてHLもIXも同一クロックで回せばいいのに
Z80コードから内部コードに変換して
0024ナイコンさん垢版2021/06/08(火) 18:15:38.82
Z80の子孫は[HL+d8] [DE+d8] [SP+d8] [HL+B] [HL+C] [d16+B] [d16+C] [d16+BC]
とかができるがやはりインストラクションセットは醜い
なぜR8Cの方を残さない
0025ナイコンさん垢版2021/06/30(水) 20:48:18.81
>>10
除算で内部的には剰余が判ってる筈なんで何処かのレジスタに剰余を入れて欲しかった
0026ナイコンさん垢版2021/07/18(日) 20:27:44.76
今なら1MBぐらいでSRAMで実装できそうですけどね。
0027ナイコンさん垢版2021/07/18(日) 22:00:19.68
>>26
日立 HD64180(似非Z80)に SRAM1M入りが 1985年にあったら組込み用途でヒットしただろね
0028ナイコンさん垢版2021/09/16(木) 19:58:41.98
X1でZ80,X68000で68000を使ってたのであれくらいが丁度良い
覚えることが少ないほうが良い
0029ナイコンさん垢版2021/09/18(土) 00:18:21.78
NEC V30とか使えば実質仮想8080モードが使える
0031ナイコンさん垢版2022/05/09(月) 02:10:25.79
そこでHD6309だよ
0033ナイコンさん垢版2022/11/05(土) 11:04:42.72
プロテクトされていた
0034ナイコンさん垢版2022/11/08(火) 11:58:11.99
GB CPUって何か中途半端だな
Z80から多くの機能が削られて8080に近いかと思えば
余り使わないCB+xxのビット命令は存在していたりとか
0035ナイコンさん垢版2022/11/08(火) 12:07:15.06
レジスタを8080と同じにしただけで、命令は極力削らない方針でまとめたのでは
0036ナイコンさん垢版2022/11/08(火) 17:20:23.79
というか皆どうやって知ったのだろうか
使い方・・・・
だいぶ後でCは本があったので覚えたけど


仕事の研修でルネサスのアセンブラを知ったのが最初だったわ(笑)
(どんだけ後なんだよ(笑))

研修内容
RS232Cとのデータ通信割込み みたいな
組み込み系
0039ナイコンさん垢版2023/02/13(月) 22:11:52.38
8080系が幅をきかせていたのはやっぱインテルだから?
0040ナイコンさん垢版2023/02/18(土) 08:28:29.03
初期のインテル製品は日本メーカで製造してたのが多い(セカンドソース含む)から販社の推しも強かったのもあるかもしれない
0043ナイコンさん垢版2023/08/14(月) 16:40:37.03
マクロアセンブラで好きなようにマクロ組めば無問題
レスを投稿する


ニューススポーツなんでも実況