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

やはり8080やZ80はアドレッシングモードが貧弱で悲しい

1 :ナイコンさん:2020/12/12(土) 02:47:21.89 .net
初心者でもプログラミングし易いのと逆アセンブルでの解析が比較的易しいのは
利点だが

2 :ナイコンさん:2020/12/12(土) 05:17:35.74 .net
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な範囲でやりくりした方が動作早いやんけ!」となる

3 :ナイコンさん:2020/12/12(土) 09:44:19.38 .net
嫌なら68000使えばいいじゃない

4 :ナイコンさん:2020/12/20(日) 21:18:40.26 .net
HLに即値を足す命令とHLにAを足す命令は要る

5 :ナイコンさん:2020/12/25(金) 15:17:47.47 .net
HとLがそれぞれ8bitアキュームレータ扱いで
ADD L,A
ADC H,0
とか書けたら良かったんだろうか

6 :ナイコンさん:2021/01/02(土) 15:06:19.54 .net
命令数が限られた8bitだから厳選してるんだよな
使われないアドレッシングの命令があると無駄になるし

7 :ナイコンさん:2021/01/02(土) 18:47:37.16 .net
6809でもいじってればいいだろ

8 :ナイコンさん:2021/01/05(火) 11:13:47.81 .net
6502や6809に演算結果をメモリ側に残す命令が欲しかった
OPコードマップは空いてるんだし

9 :ナイコンさん:2021/01/05(火) 21:44:36.47 .net
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風、こんな感じ?

10 :ナイコンさん:2021/02/04(木) 12:57:02.23 .net
ブロック転送やブロックサーチの命令なんか無くても困らんから
乗算や除算を1ステップだけ実行する命令が欲しかった

11 :ナイコンさん:2021/02/04(木) 20:32:28.74 .net
CPUとDMAが別チップになってるけど不可分だったならブロック転送やブロックサーチはいらない分、それも可能だったりしたかもね。

12 :ナイコンさん:2021/02/20(土) 23:22:07.08 .net
Z80は相対ジャンプ使えるからいいね。逆に8080が人気無いのはこの為か?
ゲームボーイのCPUは洗練されていて相対ジャンプはあるけど、裏レジスタ無しの
シンプル設計

13 :ナイコンさん:2021/02/21(日) 06:32:40.67 .net
8086パソコンで初めてパソコン触った口で
8086のセグメントが大嫌いだったけど、後でZ80を触るようになって
8086は8bit CPUに比べれば非常に高機能だったんだなと改めて認識したなぁ

14 :ナイコンさん:2021/02/21(日) 19:02:00.17 .net
相対ジャンプ、遅くなってあんまり嬉しくなかったなぁ(DJNZを除く)

15 :ナイコンさん:2021/02/22(月) 14:09:03.63 .net
>>12
リフレッシュ機能の有無
当時のホビーストが出始めのDRAM使うにはリフレッシュ機能自分で組み込む必要あったから

16 :ナイコンさん:2021/02/22(月) 20:25:15.29 .net
あと8080との比較なら+5V単一電源って言うのもあるな

17 :ナイコンさん:2021/02/24(水) 08:23:15.09 .net
>>5
AレジスタとHLレジスタに分けちゃったのがなんでやという気がする
アキュムレータAH,ALに拡張して8ビットはALで計算して一命令でAHALに拡張(符号あり、なし)できるようにしたらよかったと思う

18 :ナイコンさん:2021/02/24(水) 17:29:35.70 .net
>>17
でもその代わり、メモリポインタ計算であるHL系とアキュムレータとで別々に計算できて良かったかもね。
8080だとHLではなく Mだし、そういう思想かと思うわ。

19 :ナイコンさん:2021/02/28(日) 08:52:44.77 .net
>>15
それってプログラマーが意識してプログラム中に随時、リフレッシュ処理をはさむようにしなきゃならなかったって事?

20 :ナイコンさん:2021/02/28(日) 12:31:00.41 .net
>>16
そういやそれも大きいね
>>19
Z80が出始めのころの自作マイコンボードの話
SRAMより容量多いDRAMが登場してみんな使いたかったんだけどフレッシュ回路を付けなくちゃいけないから面倒だった
それがZ80だとCPUにその機能があるんで付ける必要ないから人気になった

21 :ナイコンさん:2021/02/28(日) 13:18:04.49 .net
>>19
そうじゃなくてCPU止めてリフレッシュする回路を別に組まないといけないって話だろ

22 :ナイコンさん:2021/03/01(月) 15:41:33.32 .net
内部16bitにしてHLもIXも同一クロックで回せばいいのに
Z80コードから内部コードに変換して

23 :ナイコンさん:2021/03/01(月) 19:51:06.50 .net
eZ80でも使えば?

24 :ナイコンさん:2021/06/08(火) 18:15:38.82 .net
Z80の子孫は[HL+d8] [DE+d8] [SP+d8] [HL+B] [HL+C] [d16+B] [d16+C] [d16+BC]
とかができるがやはりインストラクションセットは醜い
なぜR8Cの方を残さない

25 :ナイコンさん:2021/06/30(水) 20:48:18.81 .net
>>10
除算で内部的には剰余が判ってる筈なんで何処かのレジスタに剰余を入れて欲しかった

26 :ナイコンさん:2021/07/18(日) 20:27:44.76 .net
今なら1MBぐらいでSRAMで実装できそうですけどね。

27 :ナイコンさん:2021/07/18(日) 22:00:19.68 .net
>>26
日立 HD64180(似非Z80)に SRAM1M入りが 1985年にあったら組込み用途でヒットしただろね

28 :ナイコンさん:2021/09/16(木) 19:58:41.98 .net
X1でZ80,X68000で68000を使ってたのであれくらいが丁度良い
覚えることが少ないほうが良い

29 :ナイコンさん:2021/09/18(土) 00:18:21.78 .net
NEC V30とか使えば実質仮想8080モードが使える

30 :ナイコンさん:2021/09/18(土) 18:53:25.13 .net
μPD9002ならZ80モードも

31 :ナイコンさん:2022/05/09(月) 02:10:25 .net
そこでHD6309だよ

32 :ナイコンさん:2022/10/23(日) 16:27:39.36 .net
プロテクトモードが

33 :ナイコンさん:2022/11/05(土) 11:04:42.72 .net
プロテクトされていた

34 :ナイコンさん:2022/11/08(火) 11:58:11.99 .net
GB CPUって何か中途半端だな
Z80から多くの機能が削られて8080に近いかと思えば
余り使わないCB+xxのビット命令は存在していたりとか

35 :ナイコンさん:2022/11/08(火) 12:07:15.06 .net
レジスタを8080と同じにしただけで、命令は極力削らない方針でまとめたのでは

36 :ナイコンさん:2022/11/08(火) 17:20:23.79 .net
というか皆どうやって知ったのだろうか
使い方・・・・
だいぶ後でCは本があったので覚えたけど


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

研修内容
RS232Cとのデータ通信割込み みたいな
組み込み系

37 :ナイコンさん:2022/11/08(火) 23:03:47.47 .net
>>34
そうか?以下に書いてるように割と考えられてるように思えるが。
https://www.wizforest.com/diary/120123.html

6502のゼロページアドレッシングもどきで6502系の経験活かせるようにしてる感じ

38 :ナイコンさん:2022/11/09(水) 11:25:26.52 .net
HLに即値を加える命令が欲しかった

39 :ナイコンさん:2023/02/13(月) 22:11:52.38 .net
8080系が幅をきかせていたのはやっぱインテルだから?

40 :ナイコンさん:2023/02/18(土) 08:28:29.03 .net
初期のインテル製品は日本メーカで製造してたのが多い(セカンドソース含む)から販社の推しも強かったのもあるかもしれない

41 :ナイコンさん:2023/06/10(土) 09:47:10.60 .net
( ̄ー ̄)ニヤリ

42 :ナイコンさん:2023/08/13(日) 13:59:49.11 .net
自業自得

43 :ナイコンさん:2023/08/14(月) 16:40:37.03 .net
マクロアセンブラで好きなようにマクロ組めば無問題

44 :ナイコンさん:2023/12/30(土) 18:45:06.58 .net
むっちゃクチャ面白い記事を見つけた
https://www.saluteweb.net/~oss_8080.html
https://www.saluteweb.net/~oss_z80.html

なんでZ80アセンブラは「あれ?こういう書き方できないの?」って事になるのかわかったよ

9 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★