九、段总结
段分類
數據段:此段中存放數據
代碼段:此段中存放代碼
棧段:此段中存放棧內容
我們可以內存中某段內存空間安排成某段
?
CPU的段識別
數據段:設置DS寄存器存放此段段地址,偏移地址由[偏移地址]給出。
代碼段:設置CS寄存器存放此段段地址,偏移地址由IP寄存器存放。
棧段:設置SS寄存器存放此段段地址,偏移地址由SP寄存器存放。
?
段混用
同一段內存空間,我們可以同時指定為數據段、代碼段、棧段。
?
?
匯總解釋說明:
匯編語言中CS,DS,SS還有一個ES定義如下:
CS(Code Segment):代碼段寄存器;
DS(Data Segment):數據段寄存器;
SS(Stack Segment):堆棧段寄存器;
ES(Extra Segment):附加段寄存器。
當一個程序要執行時,就要決定程序代碼、數據和堆棧各要用到內存的哪些位置,通過設定段寄存器 CS,DS,SS 來指向這些起始位置。通常是將DS固定,而根據需要修改CS。
總結
- 上一篇: epoll内存计算方法:4G内存服务器e
- 下一篇: Z-Stack Home Develop