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