ホワイト注3 ---スタック

参照してください  https://blog.csdn.net/myqq1418/article/details/81584761を

スタック:

     「スタック(スタック)」および「ヒープ(ヒープ)」は二つの異なる動的データ領域であり、スタックは、直鎖構造、鎖状構造のスタックである
    一般プログラマ放出によって割り当てられ、プログラム場合:ヒープ(ヒープ)メンバーは放出しない、プログラムの終了時にOSによって回復することがありますが、使用する場合は、公開は、あなたは、malloc関数(はsizeof(XXX))によってヒープの一部を取得することができます。ヒープは、低アドレスから上方に増加している
    スタック(スタック):コンパイラによって自動的に一時的な変数を含む調剤のリリースでは、などのパラメータ、ローカル変数の値を、機能、即時放出を使用し、スタックは、上位アドレスからダウンしている。
    両方が連続している
    最後の、その後、スタックはまで増加しており、スタックはアプリケーションダウンしているときこれは、スタックオーバーフローを引き起こすことがあり


    例えば、マイクロコントローラ51、マイクロコントローラ51は、メモリRAMチップ、オフチップRAM、ROMを含む、
    オンチップRAM特定のパーティション:00H〜1FHワーキングレジスタ
                     20H〜2FHがエリアアドレッシングビット
                30H〜7FHユーザRAM領域
                80Hに〜FFH特殊機能レジスタ(52 SCM高い128)
    スタック領域は、ハードウェア、すなわち、SPレジスタ。対応提供も、RAMのアドレスを開いている
    下位128ビットで通常スタック領域、マイクロコントローラのリセットを、SPのデフォルトアドレスは7FHである。
    51マイクロコントローラ、0000H〜FFFFH(64K)のROMアドレス、異なるRAM指示操作を使用する。
    例えば、RAM、ROM、周辺モジュール、SFRとしてMSP430に、メモリは、共通の構造を有し、しかし、物理的に完全に別の記憶領域等、しかし、アドレスの同じセット、データバス、命令を使用して、同じアドレス空間内に配置されている。
    MSP430、上記スタックメモリ空間0200H。

 

  

  

おすすめ

転載: www.cnblogs.com/ssherry/p/12155246.html