アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (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をつけます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/06/18 12:04

手元の資料によると


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

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

お礼日時:2005/06/17 12:12

手頃な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
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/06/17 12:13

こんにちは。


ご質問の趣旨を理解しているかどうか自信がなく、上位互換のZ80(ザイログ系ニモニック)しか扱ったことがないのですが、次のような回答は役にたちますか?

命令コードのあと、下位8ビット、上位8ビットの順に記入。
例;$8000番地に、「$8F28番地へジャンプ」と書きたい。
$8000 $C3 (「JP」)
$8001 $28
$8002 $8F

いかがでしょうか?お役に立てば幸いです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/06/17 12:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!