コメントを追加

涼しくなってきてつい夜更かし。i8080上位互換(拡張部分はZ80非互換)CPUの自作中に際し、Z80などを復習中。
Z80に存在しない命令の代用コードを考えてみました。HLとIXが等価という割に EX DE,IX が出来ない仕様がもにょる。

> ADD IX,HL

2+2+2バイト、4+15+4クロック

EX DE,HL
ADD IX,DE
EX DE,HL

> LD IX,BC

3+2バイト、14+15クロック

LD IX,0
ADD IX,BC

> LD D,(IX+A)

2+1+1+1+2+2+1+1+1+3+2バイト、15+4+4+4+7+15+4+4+4+19+14クロック

PUSH IX
LD D,E
LD E,A
LD A,D
LD D,0
ADD IX,DE
LD D,E
LD E,A
LD A,D
LD D,(IX+0)
POP IX

自作CPUはここを参考にして、リソースの追加をWレジスタのみとし、AとW,(W:nn),(HL+nn),(HL+BC)の演算、AとWの交換、AとFの論理演算、CFとA(n)の論理演算、A..LとW,(W:nn),(HL+nn),(HL+BC)の移動、DEペアと(W:nn),(HL+nn),(HL+BC)の加減算・移動、DEペアとPC+nn,PC-nn,PC+nnnn,PC+DEの分岐命令を拡張した。

Plain text

  • HTMLタグは利用できません。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。