私が取り組んでいるプロセッサのドキュメントでは、次のように述べています。
使用可能なオペランド アドレス指定モードは、暗示、レジスタ、即時、直接、およびレジスタ間接です (メモリへの 16 ビット ポインタとして BC、DE、および HL レジスタ ペアを使用)。
誰かが素人の言葉でこれらのアドレス指定モードの違いを説明してもらえますか、またはおそらく私が学ぶことができるリンクを投稿できますか?
どうもありがとう。
私が取り組んでいるプロセッサのドキュメントでは、次のように述べています。
使用可能なオペランド アドレス指定モードは、暗示、レジスタ、即時、直接、およびレジスタ間接です (メモリへの 16 ビット ポインタとして BC、DE、および HL レジスタ ペアを使用)。
誰かが素人の言葉でこれらのアドレス指定モードの違いを説明してもらえますか、またはおそらく私が学ぶことができるリンクを投稿できますか?
どうもありがとう。
暗黙的とは、オペコードがプログラマーにソースとアドレスを明示的に記述することを要求しないことを意味します。それらはステートメントに含まれています。たとえば、LDAは常にアキュムレータをロードします。アキュムレータは、すべてのLDAオペコードの暗黙の宛先アドレスです。
レジスタとは、ソースまたはデスティネーションがメモリ位置ではなくプロセッサレジスタであることを意味します。たとえば、MOV r1、r2はレジスタ間転送であり、オペコードを超えるメモリフェッチは含まれません。
即時とは、コードストアのメモリにある値を意味し、通常はオペコードの直後の値です。IE:MOV r、n。値ロードのメモリアドレス参照は、プログラムカウンタです。
直接とは、オペコードの後にメモリアドレスが提供され、プロセッサが最初にそのメモリアドレスをアドレスレジスタにロードしてから、そのメモリ位置からフェッチすることを意味します。メモリアドレス参照はオペコードの後に提供され、実行には最初に2バイトアドレスをロードしてから、その場所からメモリ値をロードする必要があります。
間接とは、その目的に使用できるレジスタの1つにアドレスが格納されていることを意味します。メモリフェッチ用のアドレスレジスタをロードするのは単なるレジスタ間転送であるため、直接アドレス指定を使用するよりも高速です。
以下は、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)