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