2021 02 26 段暫存器結構

2021-10-20 10:33:52 字數 533 閱讀 3676

ds:段暫存器。

base:ds段暫存器中的某乙個成員。

es、cs、ss、ds、fs、gs、ldtr、tr

對通用暫存器可能都有一定的了解,比如eax暫存器可以分為8位、16位和32位的。eax最大就是32位。

但是段暫存器不是這樣的,段暫存器相對來說要複雜,它有96位。

段暫存器96位中有16位是可見的,剩下80位是不可見的。

struct setment

mov ax, es

注意:在讀段暫存器的時候只能讀16位的可見部分。

讀寫ldtr的指令為:sldt/lldt

讀寫tr的指令為:str/ltr

mov ds, ax

注意:寫段暫存器時是寫96位。

段暫存器只能看見16位,如何證明有96位?

寫段暫存器時,只給了16位,剩下的80位填什麼?

01 段暫存器

引言 要學習保護模式中段的機制,首先就要學習段暫存器。首先,我們來看一下下面這段 mov dword ptr ds 0x123456 eax 在上面我們真正讀寫的位址是 ds.base 0x123456 中的ds就是我們這裡要介紹的段暫存器,base是段暫存器中的成員 為了更直觀的了解段暫存器,我們...

段暫存器和段基址

段暫存器是因為對記憶體的分段管理而設定的。計算機需要對記憶體分段,以分配給不同的程式使用 類似於硬碟分頁 在描述記憶體分段時,需要有如下段的資訊 1.段的大小 2.段的起始位址 3.段的管理屬性 禁止寫入 禁止執行 系統專用等 需要用8個位元組 64位 儲存這些資訊,但段暫存器只有16位,因此段暫存...

bss段 和 暫存器

乙個程式本質上都是由 bss段 data段 text段三個組成的。這樣的概念,不知道最初 於 的規定,但在當前的計算機程式設計中是很重要的乙個基本概念。而且在嵌入式系統的設計中也非常重要,牽涉到嵌入式系統執行時的記憶體大小分配,儲存單元占用空間大小的問題。在採用段式記憶體管理的架構中 比如intel...