段寄存器的種類和作用:1、代碼段寄存器CS,用于存放當(dāng)前正在運(yùn)行的程序代碼所在段。2、數(shù)據(jù)段寄存器DS,用于存放數(shù)據(jù)段。3、堆棧段寄存器SS,存放堆棧段。4、附加段寄存器ES,存放當(dāng)前程序使用附加數(shù)據(jù)段。
本教程操作環(huán)境:windows7系統(tǒng)、Dell G3電腦。
段寄存器是因?yàn)閷?duì)內(nèi)存的分段管理而設(shè)置的。計(jì)算機(jī)需要對(duì)內(nèi)存分段,以分配給不同的程序使用(類似于硬盤(pán)分頁(yè))。在描述內(nèi)存分段時(shí),需要有如下段的信息:1.段的大??;2.段的起始地址;3.段的管理屬性(禁止寫(xiě)入/禁止執(zhí)行/系統(tǒng)專用等)。需要用8個(gè)字節(jié)(64位)存儲(chǔ)這些信息,但段寄存器只有16位,因此段寄存器中只能存儲(chǔ)段號(hào)(segment selector,也譯作“段選擇符”),再由段號(hào)映射到存在內(nèi)存中的GDT(global (segment) descriptor table,全局段號(hào)記錄表),讀取段的信息。
段寄存器:在8086系統(tǒng)中,訪問(wèn)存儲(chǔ)器的地址碼由段地址和段內(nèi)偏移地址兩部分組成。段寄存器用來(lái)存放各分段的邏輯基值,并指示當(dāng)前正在使用的4個(gè)邏輯段,包括代碼段寄存器CS、堆棧段寄存器SS、數(shù)據(jù)段寄存器DS和附加段數(shù)據(jù)寄存器ES。
種類和作用:
1、代碼段寄存器CS(Code Segment)
存放當(dāng)前正在運(yùn)行的程序代碼所在段的段基址,表示當(dāng)前使用的指令代碼可以從該段寄存器指定的存儲(chǔ)器段中取得,相應(yīng)的偏移量則由IP提供。
2、數(shù)據(jù)段寄存器DS(Data Segment)
指出當(dāng)前程序使用的數(shù)據(jù)所存放段的最低地址,即存放數(shù)據(jù)段的段基址。
3、堆棧段寄存器SS(Stack Segment)
指出當(dāng)前堆棧的底部地址,即存放堆棧段的段基址。
4、附加段寄存器ES(Extra Segment)
指出當(dāng)前程序使用附加數(shù)據(jù)段的段基址,該段是串操作指令中目的串所在的段。
想要查閱