3

私はそれを読みました、8085プロセッサの開始アドレスはです00000H。一方8086、プロセッサの開始アドレスはですFFFF0H

今、私はまた、メモリの上部がheap下にある間にあることを学びましたstack。私が今混乱しているのは、8085ではメモリがスタックから割り当てられているのに対し、8086ではヒープから割り当てられているかどうかです。

コンセプトをクリアするのを手伝ってください。ありがとう

4

2 に答える 2

2

ヒープ割り当ては、アセンブリ言語よりも高レベル(C、Javaなど)の概念であり、808xアセンブリにはそのようなものはありません。メモリを「割り当て」ません。

一方、スタックは808xのネイティブコンセプトであり、無数のマイクロプロセッサ(および仮想マシン)であり、たとえば「CALL」を使用するたびに使用されます(PCがスタックにプッシュされます)。RETすると、リターンPCアドレスがスタックからポップされます。また、レジスタ/データをスタックにプッシュすることもできます。

于 2012-02-15T13:50:41.730 に答える
0

8085の開始アドレスがなぜであるか0000H(プロセッサは16ビットアドレスしかサポートしていないため、5ではなく4つのゼロ)については、このスレッドを参照してください。

スタックの場所について:変更SPすることで、スタックを好きな場所に移動できますが、スタックは下に向かって大きくなるため、アドレス空間の最後に移動するのが理にかなっています。

于 2012-02-15T13:50:45.897 に答える