• ベストアンサー

TK-85(8085)の機械語

TK-85の機械語でアドレス指定方式の種類がわからないので、ご教授のほどお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.4

#3の書かれているのでおおむねいいと思いますが、「インデックスド・アドレス」は当時使われていた言葉ですが、今日では、レジスタの値と命令中の数字を足したものをアドレスとする事を言います。8080/8085では数字を足すことが出来ず、レジスタの値をアドレスとして使うことしか出来ないので、現在では「レジスタ間接」と呼ぶのが正しい(誤解を招かない)でしょう。 ・レジスタアドレスの例 ADD B …………AレジスタにBレジスタの値を足す INC C …………Cレジスタに1を足す ・イミディエイト(即値)アドレスの例 MVI D,1 ………Dレジスタに1を入れる LXI B,100H ……BCレジスタペアに100H(=0x100)を入れる ・ダイレクト(直接)アドレスの例 STA 0200H ……Aレジスタの内容を0200H番地に入れる LHLD 0300H ……HLレジスタペアに0300H,0301H番地の値を入れる ・レジスタ間接アドレスの例 STAX D …………DEレジスタペアの内容をアドレスとしてそこにAレジスタの内容を入れる SUB M …………HLレジスタペアの内容をアドレスとしてそこの内容をAレジスタから引き算する なお、16進数をあらわすために数字の末尾にHをつけます。

yusuke1982
質問者

お礼

大変参考になりました。ありがとうございます。

その他の回答 (3)

  • poppoyan
  • ベストアンサー率32% (58/177)
回答No.3

手元の資料によると 8085の命令セットは8080Aの命令に、RIMとSIMを加えたものとありますので、アドレスの指定方式は8080Aと同じだと思います。 で、アドレス方式のところを見ると レジスタ・アドレス イミディエイト・アドレス 直接・アドレス インデックスド・アドレス の4種類で相対アドレスはありません と書いてあります。 それぞれの詳しい説明は私にも?です。 (マシン語はMC6800からはじめてZ80と8086をちょっとかじっただけですので・・)

yusuke1982
質問者

お礼

回答ありがとうございます。参考になりました。

noname#30727
noname#30727
回答No.2

手頃なHPが見つからなかったので、覚えている範囲で。 Z80ニーモニックだと LD r,(HL) LD (HL),r LD (HL),nn LD A,(nnnn) LD A,(BC) LD A,(DE) LD (nnnn),A LD (BC),A LD (DE),A ※rはA/B/C/D/E/H/L ※nnは8ビット即値 ※nnnnは16ビット即値 ADD (HL) ※ADDの他にSUB/CP/AND等々 LD HL,(nnnn) LD (nnnn),HL

yusuke1982
質問者

お礼

大変参考になりました。ありがとうございます。

  • joshua01
  • ベストアンサー率66% (222/333)
回答No.1

こんにちは。 ご質問の趣旨を理解しているかどうか自信がなく、上位互換のZ80(ザイログ系ニモニック)しか扱ったことがないのですが、次のような回答は役にたちますか? 命令コードのあと、下位8ビット、上位8ビットの順に記入。 例;$8000番地に、「$8F28番地へジャンプ」と書きたい。 $8000 $C3 (「JP」) $8001 $28 $8002 $8F いかがでしょうか?お役に立てば幸いです。

yusuke1982
質問者

お礼

丁寧な回答、ありがとうございます。

関連するQ&A