トップ-> アセンブラ入門:4章.分岐-> 4-7.スタック

←前ページへ :  トップへ :  次ページへ→



4-7.スタック

  「CALL」命令のアドレス保管の方法を「スタック」 と言い、この仕組みについてもう少し詳しく解説する。

  スタックとは「棚」のことで、棚に物を何も考えずに置いていく(積み重ねていく) ようなイメージである(上図参照)。けれどもこのように積み重ねた物を下から取り出すと、 その上にあった物が崩れてしまうことが日常にもある。したがって上からしか 取り出さないのが普通である。この場合も同様に、上からしか取り出すことが できない。このような保存方式をスタックと言い、その取り出し方法をFirst In Last Out(FILO)と言う。その逆にキューという保存方式があり、その取り出し方法を First In First Out(FIFO)と言う。

  ではこのスタックを保存するのはどこか? もちろんメモリーなわけだが、これは スタックセグメントのスタックポインタが示す領域(SS:SP)にある。「CALL」命令が 実行される場合を図で示すと下図のようになる。

  次に「RET」が実行された場合を下図に示す。


  


←前ページへ :  トップへ :  次ページへ→