尋址,最重要的就是尋址
當(dāng)然我們也可以將儲(chǔ)物柜劃分區(qū)域,還是以剛才的儲(chǔ)物柜為例我們可以劃分為3個(gè)區(qū)域,當(dāng)我們需要找東西時(shí)告訴我們其在儲(chǔ)物柜的哪個(gè)區(qū)域,以及在該區(qū)域中的'偏移'是多少。
以下圖為例我們需要的東西在第二個(gè)區(qū)域,區(qū)域內(nèi)的偏移為6(該區(qū)域中的第6個(gè)儲(chǔ)物柜)。
/user/xiaofeng/doc/a.c
./a.c
物理地址 = 起始地址 + 相對(duì)地址
保存機(jī)器指令的區(qū)域,這個(gè)區(qū)域就是我們所說的代碼段(Code Segment),因此我們可以使用一個(gè)寄存器來專門指向代碼段,這就是CS寄存器的作用,CS也是Code Segment的縮寫。
同樣的道理,程序運(yùn)行起來后還有專門的區(qū)域用來保存數(shù)據(jù),因此必須要專門的寄存器指向數(shù)據(jù)段(Data Segment),這就是DS寄存器的作用,DS是Data Segment的縮寫。
程序運(yùn)行起來后還有運(yùn)行時(shí)棧(Stack Segment),因此可以使用SS寄存器來指向程序員運(yùn)行時(shí)棧,SS是Stack Segment的縮寫。
16 ? selector + offset
把物理內(nèi)存暴露給程序
沒有內(nèi)存保護(hù)機(jī)制
聯(lián)系客服