
No.1ベストアンサー
- 回答日時:
こんにちわ。
非常に懐かしい質問のような・・・
Z80系の場合、レジスタはおおまか以下のようになっています。
A(F)
BC
DE
HL
(IXとかもありますが割合)
このうち、AFのうちAは、8bitレジスタ、BC~HLまでは
それぞれ8bitレジスタと16bitレジスタを兼ねます。
この兼ねるレジスタのことを、レジスタペアといいます。
ですので、おっしゃるとおり、LD DE, 0000Hは
DE=0000H であるのですが、D=00H、E=00Hの両方を一緒にやることに
なります。
ここで、レジスタをいくつかあげましたが、疑問が出てくると
思いますが
A(F) と記載されているのも、レジスタペアとしては代入
できないのですが、スタックを用いて操作ができます。
F=フラグレジスタですので、通常は読み書きできないはずですが・・
LD BC, 0001H
PUSH BC
POP AF
とやるだけで、F に 01H を書き込むことができます。
ちなみに、レジスタペアは、レジスタとしての回路を節約
するだけではなく、命令セットをシンプルにしたり、間接的に
8bit単位ではありますが、ビット演算をしやすく(しなくて済む)
する為に、用いることができます。
例えば・・・
512 を 256 で割るには・・・
LD DE, 0200H
で、D に答えがかえってきます。
(ただし、16bitから8bitにもなってしまいます)
LD A,D 等して、取り出すことも可能です。
もちろん、その逆も可能で
LD B, 01H
LD C,20H
をすれば、BCに0120Hがはいるはずです。
No.2
- 回答日時:
機械語の話をするなら, 対象とする CPU を明示しておかないとだめだよ (まあ LD と書いてる時点で Zilog であることはわかるんだけど) と言いつつ
イメージとしては
もともと 16ビットのレジスタペア (BC/DE/HL/AF) が存在するんだけど, その上位 8ビットと下位 8ビットを別々に各レジスタとしてアクセスできる
と思った方が簡単かも.
この辺の構成は 8080 だか 8008 だかから今に至るまで連綿と受け継がれてたりします.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PIC12F683でLEDをスイッチで点...
-
レジスタマップって何ですか?
-
Macターミナルで実行中のプログ...
-
powershell を使いカレントディ...
-
TCP/IP通信時のサーバーからの受信
-
Windows上で、シグナル(SIGTERM...
-
プロセスIDの取得方法について
-
Excel(VBA)でSetTimer関数を使...
-
C# シリアル通信でデータ受信...
-
win10で、正確な待ち時間の作り方
-
VBSの処理中一旦処理を止めて再...
-
VBA、UserFormを前面に出力して...
-
アプリケーションが終了するま...
-
構文エラーについて教えてください
-
vb.netでEXCEL起動がうまくでき...
-
ファイルマッピング関数で失敗
-
移動可能メモリ
-
AIXでのプロセス使用メモリの最...
-
CPU負荷率の安全な上限と計...
-
ACCESS側からEXCELの書式を設定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レジスタマップって何ですか?
-
組み込みマイコンでのソフトウ...
-
PLCとPCの通信
-
シリアル通信でのデータ取りこぼし
-
古い計量機器からのrs232cを使...
-
USBハブの自作について
-
C言語によってシリアル通信をお...
-
PIC12F683でLEDをスイッチで点...
-
I2C I/OエクスパンダPCA9539動...
-
マイコンからSDカード内のテキ...
-
Octal D-type transparent latc...
-
TCNTとTIFRの意味
-
H83052 シリアル通信 A/D変換...
-
メモリースループットとは?
-
FPGA や CPLD は何に使うん...
-
デジタルマルチメータの自動計...
-
geko201とマイコンのシリアル通...
-
PICマイコンをアセンブラでAD変...
-
機械語のレジスタペアについて
-
FATの故障? 1ファイル内の文字化け
おすすめ情報