←前ページへ :  INDEX :  次ページへ→


4-7.スタック ( Stack )

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

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

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

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


  

←前ページへ :  INDEX :  次ページへ→