重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

私が書いた(1)から(12)までの文章は、正しく書けているでしょうか?詳しい皆さんのご意見をいただきたいです。どこか誤った部分があれば、教えていただきたいです。

(1)次のプログラムを実行すると、8200H番地に40Hが格納される。

ORG 8000H
LD HL,8200H
LD A,08H
LD B,A
ADD A,A
ADD A,A
ADD A,B
LD (HL),A
HALT

(2)次のプログラムを実行すると、8200H番地に55Hが格納される。

ORG 8000H
LD HL,8200H
LD A,AAH
CPL
LD (HL),A
HALT

(3)HLレジスタで示されるメモリ番地の内容をCレジスタに転送する命令は以下のとおりである。

LD C,HL

(4)サインフラグは、ある命令を実行した結果、Aレジスタ等が負であれば1に、正であれば0に設定される。

(5)以下のプログラムを実行すると8A00Hには0AHが格納される。

ORG 8000H
LD A,0D
LD B,10D
LOOP; ADD A,B
DJNZ LOOP
LD(TOTAL),A
JP $

ORG 8A00H
TOTAL;DEFB 0
END

(6)CP/Mは6800や68000などをCPUにもつマイコンのためのD0Sである。

(7)16BIT算術演算グループではレジスタペアとしてBC,DE,HLがある。

(8)次のプログラムを実行すると、8200H番地にOFHが格納される。

ORG 8000H
LD HL,8200H
LD A,05H
LD B,A
SLA A
ADD A,B
LD (HL),A
HALT

(9)オペコードとは、命令の操作を表すコードをいう。

(10)以下のプログラムにおいて、8005Hにデータは08Hである。
ORG 8000H
TABLD1;DEFB 1
DEFB 2
DEFB 0FEH
DEFB4
TABLE2;DEFW 0506H
TABLE3;DEFFW 8
END

(11)サブルーチン内で演算などにレジスタを使用する場合、あらかじめレジスタ内のデータをPUSH命令などで退避する必要がある。

(12)ソフトウエアー上で無視できる割り込み要求と要求を無視できない割り込み要求を総称してノンマスカブルインタラプト(NMI)という

A 回答 (1件)

カテ違いと思いますが懐かしかったので。



(1)次のプログラムを実行すると、8200H番地に40Hが格納される。
NG。
ORG 8000H
LD HL,8200H
LD A,08H
LD B,A   B=8H
ADD A,A   A=10H
ADD A,A   A=20H
ADD A,B   A=28H
LD (HL),A
HALT

(2)次のプログラムを実行すると、8200H番地に55Hが格納される。
OK
ORG 8000H
LD HL,8200H
LD A,0AAH
CPL A=55H
LD (HL),A
HALT

(3)HLレジスタで示されるメモリ番地の内容をCレジスタに転送する命令は以下のとおりである。
NG。ちょいミス
LD C,(HL)

(4)サインフラグは、ある命令を実行した結果、Aレジスタ等が負であれば1に、正であれば0に設定される。
NG。
命令によってサインフラグのセットが決められています。
(5)以下のプログラムを実行すると8A00Hには0AHが格納される。
面倒くさいのでパス。(^з^)-☆

(6)CP/Mは6800や68000などをCPUにもつマイコンのためのD0Sである。
普通、8080やZ80のDOSを意味します。その他はCP/M-86やCP/M-68000?
だったような気がします。
(7)16BIT算術演算グループではレジスタペアとしてBC,DE,HLがある。
その他にSP,IX,IY,CYがあります。
(8)次のプログラムを実行すると、8200H番地にOFHが格納される。
OK。
ORG 8000H
LD HL,8200H
LD A,05H
LD B,A
SLA A
ADD A,B
LD (HL),A
HALT

(9)オペコードとは、命令の操作を表すコードをいう。
良く知りません。
(10)以下のプログラムにおいて、8005Hにデータは08Hである。
TABLE2;DEFW 0506H の06Hです。

ORG 8000H
TABLD1;DEFB 1
DEFB 2
DEFB 0FEH
DEFB4
TABLE2;DEFW 0506H
TABLE3;DEFFW 8
END

(11)サブルーチン内で演算などにレジスタを使用する場合、あらかじめレジスタ内のデータをPUSH命令などで退避する必要がある。
・サブルーチンで壊されたレジスタの値を使用している時は当然待避します。使用していても壊されなければ待避は不要です。
(12)
参考
http://rryu.sakura.ne.jp/compfund/backnumber/com …
    • good
    • 0

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