本文轉載自http://blog.csdn.net/a527606652/article/details/8550447協助自己重新梳理一下彙編的概念
字單元:存放一個字形資料(16位)的記憶體單元,由兩個地址連續的記憶體單元組成。高地址記憶體單元存放字形資料的高位位元組,低地址記憶體單元存放字形資料的低位位元組。我們將起始地址為N的字單元稱為N地址字單元。
DS寄存器:通常用來存放要訪問資料的段地址。
8086CPU不支援將資料直接送入段寄存器的操作。所以需要先用一個通用寄存器BX來儲存1000H。
只要在MOV指令中給出16位的寄存器就可以進行16位元據(字)的傳送了。
資料區段:一組長度為N(N<=64K)、地址連續、起始地址為16的倍數的記憶體單元當做專門儲存資料的記憶體空間,即資料區段。
----------------------------------------------------------------------------------------------------------------------------------------
8086CPU提供入棧和出棧指令最基本的兩個是PUSH(入棧)和POP(出棧)。比如:push ax 表示將寄存器ax中的資料送入棧中,pop ax表示取出棧中的資料送入ax。其中PUSH和POP操作都是以字為單位進行的。
---------------------------------------------------------------------------------------------------------------------------
棧頂的段地址存放在段寄存器SS中,便宜地址存放在寄存器SP中。
任意時刻,SS:SP指向棧頂元素,PUSH指令和POP指令執行時,CPU從SS和SP中得到棧頂的位置。
棧空時,SP為10010H。
當棧滿的時候再使用PUSH指令入棧,棧空的時候使用POP指令出棧,都會導致棧頂超界問題。