2

私が取り組んでいるプロセッサのドキュメントでは、次のように述べています。

使用可能なオペランド アドレス指定モードは、暗示、レジスタ、即時、直接、およびレジスタ間接です (メモリへの 16 ビット ポインタとして BC、DE、および HL レジスタ ペアを使用)。

誰かが素人の言葉でこれらのアドレス指定モードの違いを説明してもらえますか、またはおそらく私が学ぶことができるリンクを投稿できますか?

どうもありがとう。

4

3 に答える 3

2
  • 暗黙: 命令がレジスターを使用しないか、レジスター・マッピングが固定されているため、アセンブラー・ニーモニックでレジスターが指定されていません。
  • レジスタ: 命令はレジスタの内容を操作します。
  • 即時: データは命令ストリームの一部です。これは定数にのみ使用できます。
  • direct: データのアドレスは命令ストリームの一部です (つまり、固定アドレスのデータ)
  • レジスター間接: データのアドレスは、1 つのレジスターまたは一連のレジスターで検出されます。
于 2011-04-23T23:11:25.513 に答える
0

暗黙的とは、オペコードがプログラマーにソースとアドレスを明示的に記述することを要求しないことを意味します。それらはステートメントに含まれています。たとえば、LDAは常にアキュムレータをロードします。アキュムレータは、すべてのLDAオペコードの暗黙の宛先アドレスです。

レジスタとは、ソースまたはデスティネーションがメモリ位置ではなくプロセッサレジスタであることを意味します。たとえば、MOV r1、r2はレジスタ間転送であり、オペコードを超えるメモリフェッチは含まれません。

即時とは、コードストアのメモリにある値を意味し、通常はオペコードの直後の値です。IE:MOV r、n。値ロードのメモリアドレス参照は、プログラムカウンタです。

直接とは、オペコードの後に​​メモリアドレスが提供され、プロセッサが最初にそのメモリアドレスをアドレスレジスタにロードしてから、そのメモリ位置からフェッチすることを意味します。メモリアドレス参照はオペコードの後に​​提供され、実行には最初に2バイトアドレスをロードしてから、その場所からメモリ値をロードする必要があります。

間接とは、その目的に使用できるレジスタの1つにアドレスが格納されていることを意味します。メモリフェッチ用のアドレスレジスタをロードするのは単なるレジスタ間転送であるため、直接アドレス指定を使用するよりも高速です。

于 2011-04-23T23:21:04.547 に答える
0

以下は、8080/8085 のかなり完全なアセンブラー マニュアルです。

[PDF] Intel 8080/8085 Assembly Language Programming
File Format: PDF/Adobe Acrobat

ISIS-II 8080/8085 IAACRO ASSEMBLER OPERATOR'S MANUAL, 9800292.
アセンブラを起動すると、いくつかのコントロールを指定するオプションがあります。...

http://krchowdhary.com/intel-8085.pdf (5.5 MB)

セクション 1-15 が必要です (pdf ページ 27)

于 2011-04-23T23:10:56.360 に答える