首頁 常見問題 如果存取記憶體時使用bp尋址,預設的段暫存器是什麼?

如果存取記憶體時使用bp尋址,預設的段暫存器是什麼?

Oct 19, 2020 am 11:49 AM
記憶體

如果存取記憶體時使用bp尋址,則預設的段暫存器是“SS”,即堆疊段。 SS堆疊段通常是指採用堆疊方式工作的一段記憶體區域;在採用段式記憶體管理方式進行程式記憶體分配的架構中,堆疊段用來存放局部變數和函數傳回位址。

如果存取記憶體時使用bp尋址,預設的段暫存器是什麼?

段暫存器是因為對記憶體的分段管理而設定的。電腦需要對記憶體分段,以分配給不同的程式使用(類似於硬碟分頁)。在描述記憶體分段時,需要有如下段的資訊:1.段的大小;2.段的起始位址;3.段的管理屬性(禁止寫入/禁止執行/系統專用等)。需要用8個位元組(64位元)儲存這些訊息,但段寄存器只有16位,因此段寄存器中只能儲存段號(segment selector,也譯作「段選擇符」),再由段號對應到存在記憶體中的GDT(global (segment) descriptor table,全域段號記錄表),讀取段的資訊。

8086CPU有20根位址線,最大可定址記憶體空間為1MB。而8086的暫存器只有16位,指令指標(IP)和變址暫存器(SI、DI)也是16位的。用16位元的位址尋址1MB空間是不可能的。所以就要把記憶體分段,也就是把1MB空間分成2^4,也就是16個段,每段不超過64KB(2^16,16位元資料線就可以尋址)。在8086設定4個16位元的段暫存器,用於管理4種段:CS是程式碼段,DS是資料段,SS是堆疊段,ES是附加段。把記憶體分段後,每一個段就有一個段基址,段寄存器保存的就是這個段基址的高16位,這個16位的地址左移四位(後面加上4個0)就可構成20位的段基址。

段暫存器CS指向存放程式的記憶體段,IP是用來存放下條待執行的指令在該段的偏移量,把它們合在一起可在該記憶體段內取到下次要執行的指令。

段暫存器SS指向用於堆疊的記憶體段,SP是用來指向該堆疊的棧頂,把它們合在一起可存取棧頂單元。另外,當偏移量用到了指標暫存器BP,則其預設的段暫存器也是SS,並且用BP可存取整個堆疊,而不僅僅是只存取棧頂。

段寄存器DS指向資料段,ES指向附加段,在存取操作數時,二者之一和一個偏移量合併就可得到儲存單元的實體位址。此偏移量可以是具體數值、符號位址和指標暫存器的值等之一,具體情況將由指令的尋址方式來決定。

通常,缺省的資料段暫存器是DS,只有一個例外,即:在進行字串操作時,其目的位址的段暫存器規定為ES。當然,在一般指令中,我們也可以透過改變前綴中的「段取代」欄位來改變運算元的段暫存器。

「可選用的段暫存器」即是可以用強置說明這些段暫存器的值來作為其運算元位址的段位址。

以上是如果存取記憶體時使用bp尋址,預設的段暫存器是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

記憶體中存取速度最快的是什麼 記憶體中存取速度最快的是什麼 Jul 26, 2022 am 10:54 AM

記憶體中存取速度最快的是「內部記憶體」;電腦中的記憶體採用層次結構,依照速度快慢排列依序為內記憶體、高速緩衝記憶體、電腦的主記憶體、大容量磁碟,其中記憶體一般分為RAM隨機存取記憶體和ROM只讀記憶體。

cpu能直接存取內記憶體上的資料嗎 cpu能直接存取內記憶體上的資料嗎 Nov 25, 2022 pm 02:02 PM

能直接存取。內存儲器又稱內存,是外存與CPU溝通的橋樑,電腦中所有程式的運作都是在記憶體中進行。記憶體的作用是用於暫時存放CPU中的運算數據,以及與硬碟等外部記憶體交換的資料。只要電腦運行,作業系統就會把需要運算的資料從記憶體調到CPU中運算;當運算完成後,CPU再將結果傳送出來,記憶體的運作也決定了電腦的穩定運作。

計算機具有很強的記憶能力的基礎是什麼 計算機具有很強的記憶能力的基礎是什麼 Jul 09, 2021 pm 03:59 PM

電腦具有很強的記憶能力的基礎是:足夠容量的儲存裝置。記憶體可分為內存和外存,它們使得計算機具有強大的記憶功能,可以存儲大量的信息,這些信息,不僅包括各類數據信息,還包括加工這些數據的程序。

u盤是哪個國家發明的 u盤是哪個國家發明的 Oct 09, 2022 pm 02:26 PM

u盤是中國發明的,朗科公司是U盤的全球發明者。 2002年7月,朗科公司的「用於資料處理系統的快閃電子式外儲存方法及其裝置」獲得國家智慧財產權局正式授權,該專利填補了中國電腦儲存領域20年來發明專利的空白;2004年12月7日,朗科獲得美國國家專利局正式授權的隨身碟基礎發明專利。

電腦系統中的記憶體系統是指什麼 電腦系統中的記憶體系統是指什麼 Jul 22, 2022 pm 02:23 PM

記憶體系統是指電腦中由存放程式及資料的各種儲存設備、控制部件及管理資訊調度的設備(硬體)及演算法(軟體)所組成的系統。儲存系統提供寫入和讀出電腦工作所需的資訊(程式和資料)的能力,實現電腦的資訊記憶功能。儲存系統的層次結構可分為5級:暫存器組、高速緩存Cache、主記憶體、虛擬記憶體、外部記憶體。

cache是​​什麼記憶體? cache是​​什麼記憶體? Nov 25, 2022 am 11:48 AM

cache叫做高速緩衝記憶體,是介於中央處理器與主記憶體之間的高速小容量記憶體,一般由高速SRAM構成;這種局部記憶體是面向CPU的,引進它是為減少或消除CPU與記憶體之間的速度差異對系統性能帶來的影響。 Cache容量小但速度快,記憶體速度較低但容量大,透過最佳化調度演算法,系統的效能會大幅提升。

什麼是記憶體?內部記憶體與外部記憶體之間有什麼本質的差異? 什麼是記憶體?內部記憶體與外部記憶體之間有什麼本質的差異? Aug 25, 2022 pm 04:02 PM

記憶體是用來保存程式和數據,以及運算的中間結果和最後結果的記憶裝置。內記憶體與外記憶體的差別:1、記憶體是執行程式時的暫存區,掉電後資料全部遺失;外存是用來儲存原始資料和運算結果的,掉電後資料不會遺失;2、內存的特點是訪問速度快,但是容量小、價格貴,而外存的特點是容量大、價格低,但是訪問速度慢;3、內存用於存放計算機立即要用的程序和數據,外存用於存放暫時不用的程式和資料。

rom記憶體的特性是什麼 rom記憶體的特性是什麼 Nov 29, 2022 am 11:29 AM

rom記憶體的特點是:只能從記憶體讀取數據,而不能往裡面寫訊息,電腦斷電後資料仍然存在。 rom只讀記憶體只能讀出而不能寫入訊息,通常在電腦主機板的ROM裡面固化一個基本輸入/輸出系統,稱為BIOS(基本輸入輸出系統);其主要作用是完成對系統的加電自檢、系統中各功能模組的初始化、系統的基本輸入/輸出的驅動程式及引導作業系統。