導航:首頁 > 電腦設備 > 電腦內存地址表示方法

電腦內存地址表示方法

發布時間:2022-07-06 17:51:25

⑴ 內存地址表示方法

單位是MB,大的話或者用GB。1GB=1024MB
DDR是一種規格吧。
DDR(Dual Data Rate SDRSM)是最新的內存標准之一,在系統時鍾觸發沿的上、下沿都能進行數據傳輸,因此即使在133MHz的匯流排頻率下,帶寬也能達到約2.1GB/S,為SDRAM的的兩倍左右。

⑵ 計算機中xxxx:xxxx是如何表示內存的

XXXX:YYYY,這種表達形式,稱為「邏輯地址」。
其中:XXXX,是段地址、YYYY 是偏移地址。
就像常說的:「二樓、18 號房間」,意思是雷同的。

⑶ 計算機內存地址只有5種表現形式嗎,為什麼

了解了內存的知識,也知道內存的使用方法,那內存是內存條嗎?答案是否定的,內存是暫時存儲程序以及數據的地方。那內存有什麼作用哪?大家都知道是存數據的。

上節中介紹了如何對內存讀寫,例如把一塊內存地址[0x12345678]的數據存到另一塊內存地址為[0x87654321]中去,用MOV指令實現。

解:

MOV EAX ,DWORD PTR DS:[0x12345678]

MOV DWORD PTR DS:[0x87654321],EAX

我們從答案中可以得出,內存地址是一些數值編號組成的,難道內存地址只有這一種表現形式嗎?我們在調試程序的時候還會碰到其它的表現形式嗎?我們在調試程序時,內存地址不止這一種表現形式,還有其它的表現形式,共分為五種。

2.6.1【內存地址的五種表現形式】

第一種形式:[立即數]

讀取內存的值:

MOV EAX,DWORD PTR DS:[0x003EF8CC]

第一步:首先確定寬度DWORD表示寬度為四個位元組,EAX寄存器為32位寄存器,0x003EF8CC是已經申請的內存。看圖2-6-1中,此時EAX寄存器存儲的數據為0x001D2BA2;

第二步:按F8觀察EAX寄存器存儲的數據有什麼變化,,如圖2-6-2所示,看到EAX寄存器存儲的數據正是內存地址0x3EF8CC裡面存儲的數據。

向內存中寫入數據:

MOV DWORD PTR DS:[0x003EF8D0],ECX

第一步:首先確定寬度DWORD表示寬度為四個位元組,ECX寄存器為32位寄存器,0x003EF8D0是已經申請的內存,看圖2-6-3中,ECX存儲的數據為0x0000000,內存地址0x03EF8D0存儲的數據是001D2BA2;

第二步:按F8觀察內存地址0x003EF8D0存儲的數據的變化,如圖2-6-4所示,

看到內存地址0x003EF8CC裡面存儲的數據正是ECX寄存器裡面存儲的數據。

第二種形式:[register]

register代表通用寄存器,可以是8個通用寄存器中任意一個,表示該寄存器中儲存的數據為內存地址。我們程序運行的時候,通常將基址保存在寄存器中。這里只能使用這8個32位通用寄存器,因為內存地址編號是32位。

讀取內存中的值:

MOV ECX,0x002FFE18

MOV EAX, DWORD PTR DS:[ECX]

第一步:將指令MOV ECX,0x002FFE18 寫入匯編窗口,如圖2-6-5,記住當前ECX寄存器存儲的數據為0x11111111。

第二步:按F8觀察,是否把內存地址0x002FFE18寫入ECX中,如圖2-6-6所示:

第三步:將指令MOV EAX, DWORD PTR DS:[ECX]寫入匯編窗口,如圖2-6-7所示:

第四步:按F8觀察,是否把ECX存儲的內存地址對應的數據寫入EAX中,如圖2-6-8所示:

向內存中寫入數據:

MOV EDX,0x002FFE1C

MOV DWORD PTR DS:[EDX],0x123456

第一步:將指令輸入到匯編窗口;

第二步:按F8觀察,把內存地址0x002FFE1C寫入EDX中,看圖2-6-10:

第三步:按F8觀察,把立即數0x00123456寫入EDX中,看圖2-6-11:

第三種形式:[register+立即數]

讀取內存中的值:

MOV ECX,0x003FF9E4

MOV EAX, DWORD PTR DS:[ECX+4]

第一步:輸入指令,看圖2-6-12所示:

第二步:按F8觀察,把內存地址0x003FF9E4寫入ECX中,看圖2-6-13:

第三步:按F8觀察,把[ECX+4](0X003FF9E4+4)存儲的數據寫入EAX中,看圖2-6-14:

向內存中寫入數據:

MOV EDX,0x002EFA50

MOV DWORD PTR DS:[EDX+0xC],0x123456

第一步:輸入指令;

第二步:按F8觀察,把內存地址0x002EFA50寫入EDX中;

第二步:按F8觀察,把立即數0x00123456寫入[EDX+0xC](0x002EFA50+0xC)中。

第四種形式:[register+register*{1,2,4,8}]

1、2、4、8我們稱為比例因子(Scale Factor)。【有興趣需要深入了解可以查閱Intel白皮書相關內容】

讀取內存的值:

MOV EAX,0x0012FFC4

MOV ECX,0x2

MOV EDX,DWORD PTR DS:[EAX+ECX*4]

第一步:輸入指令;

第二步:按F8觀察,把內存地址0x0012FFC4 寫入EAX中;

第三步:按F8觀察,把立即數0x2(0x00000002)寫入ECX中;

第四步:按F8觀察,把[EAX+ECX*4](0x12FFC4+0x2*4)的值寫入EDX中;

表示將2放入寬度為4位元組(DWORD),內存地址為0x12FFC4+2*4即0x12FFCC中。

向內存中寫入數據:

MOV EAX,0x12FFC4

MOV ECX,0x2

MOV DWORD PTR DS:[EAX+ECX*4],0x12345678

第一步:輸入指令;

第二步:按F8觀察,把內存地址0x0012FFC4 寫入EAX中;

第三步:按F8觀察,把立即數0x2(0x00000002)寫入ECX中;

第四步:按F8觀察,把立即數0x12345678寫入[EAX+ECX*4](0x0012FFC4+0x2*4)中。

第五種形式:[register+register*{1,2,4,8}+立即數]

讀取內存的值:

MOV EAX,0x0012FFC4

MOV ECX,0x2

MOV EDX,DWORD PTR DS:[EAX+ECX*4+1]

第一步:輸入指令;

第二步:按F8觀察,把內存地址0x0012FFC4 寫入EAX中;

第三步:按F8觀察,把立即數0x2(0x00000002)寫入ECX中;

第四步:按F8觀察,把[EAX+ECX*4+1](0x0012FFC4+0x2*4+1)寫入EDX中。

向內存中寫入數據:

MOV EAX,0x0012FFC4

MOV ECX,0x2

MOV DWORD PTR DS:[EAX+ECX*4+1],EDX

第一步:把內存地址0x0012FFC4 寫入EAX中;

第二步:把立即數0x2(0x00000002)寫入ECX中;

第三步:把EDX的數據寫入[EAX+ECX*4+1](0x0012FFC4+0x2*4+1)中。

每一種地址形式都是有意義的,目前內存地址只有這五種形式,這五鍾形式的通用格式為:[register+register*數+立即數]。

肯定會有人問:為什麼只有五種表示方法,而且比例因子只能是1,2,4,8哪?極有可能的原因是(猜測):計算機只識別機器語言,所以我們要將內存地址的表示方法翻譯成機器語言才能得到執行。組合越多,翻譯起來越麻煩,cpu的技術員們只好訂個規矩:只能使用五種表示方法,否則一律不識別。【有興趣需要深入了解可以查閱Intel白皮書相關內容】

註:

1、如果我們所加的立即數為0xFFFFFFFF,那麼運算結果極有可能會超過32位0xFFFFFFFF這個范圍,計算機限寬,只會保留運算後32位。

2、如果乘的比例因子為0 的情況下,那麼計算機會自動把0忽略,雖然運行結果與乘的比例因子1的結果一樣,但是它是錯誤的運行結果。

3、切記比例因子只能是1、2、4、8。

思考一下:如果算出的內存地址結果超過32位會怎樣?

⑷ 在計算機中採用無符號數來表示內存地址

您好,提問者:
正確的,看詳細解釋:
1、
所謂無符號數,通常表示一個數的絕對值,即數的各位都用來表示數值的大小。一個位元組(8位)二進制數只能表示0~255范圍內的數。因此,要表示大於255的數,必須採用多個位元組來表示,它的長度可以為任意倍位元組長。
2、所謂有符號數,即用來表示一個任意位長的正數或負數。我們知道,在普通數字中,區分正負數是在數的絕對值前面加上符號來表示,即「+」表示正數,「-」表示負數。在計算機中數的符號也數碼化了,即用一位二進制數位來表示符號。一般是,用一個數的最高位來表示符號位,用「0」表示正號,用「1」表示負號,而其餘位為數值位。

⑸ 內存地址是怎麼被表示的

如你所說,內存地址就是用這樣的格式來表示的。
首先 0x是表示後面的數字是十六進制的
其次 後面的8位數就是用十六進制來表示內存地址

希望回答對你有幫助。

⑹ 計算機內存地址為什麼要用16進制數來表示

因為在計算機內部,二進制數據轉換為十六進制數據最直接、最快捷,佔用存儲空間最小。

在數據傳輸和存儲中主存儲器的存儲單元以位元組為單位,每個存儲單元都有一個地址與其對應,假定主存儲器的容量為n,則該主存儲器就有n個存儲單元(既n個位元組的存儲空間),其地址編號為:0,1,2,……,n-1。

把主存空間的地址編號稱為主存儲器的絕對地址,與絕對地址對應的主存空間稱為物理地址空間。

(6)電腦內存地址表示方法擴展閱讀

16進制數機制

進位制/位置計數法為一種記數方式,可以用有限的數字元號代表所有的數值。可使用數字元號的數目稱為基數(en:radix)或底數,基數為n,即可稱n進位制,簡稱n進制。現在最常用的是十進制,通常使用10個阿拉伯數字0-9進行記數。

對於任何一個數,我們可以用不同的進位制來表示。比如:十進數57(10),可以用二進製表示為111001(2),也可以用五進製表示為212(5),也可以用八進製表示為71(8)、用十六進製表示為39(16),所代表的數值都是一樣的。

⑺ 內存地址怎麼表示的

內存地址在計算機中是用二進製表示的,但是在我們平時的教學、學習、研究中,因為用二進製表示太過繁瑣,所以我們取地址的4個一組表示成十六進制,這就是樓主看到的內存地址在書本上沒用二進製表示的原因。

最後強調一下,內存地址在計算機中的的確確是用二進製表示的。

⑻ 在32位計算機中,內存地址如何表示

內存單元是計算機存儲數據的最小單位,以位元組計數
計算機在使用存儲器時,要給這些存儲器進行編號,這個編號就是地址
地址最小的就是位元組地址
但有時數據不是以位元組形式進行讀寫的,比如int型就是連續的4個位元組組成,計算機就使用地址附加說明的方式來訪問數據,一次讀寫就是4個位元組
這些地址連續編號,就形成一整片地址區,地址順序增大,最小單位是位元組,這個連續編號就是所謂線性地址。
內存地址就是內存單元的編號,方便訪問讀寫用的。

閱讀全文

與電腦內存地址表示方法相關的資料

熱點內容
電腦上怎麼下載班智達的軟體 瀏覽:892
無痕跡消除圖片軟體 瀏覽:487
免費小票軟體 瀏覽:707
華為在哪裡設置軟體停止運行 瀏覽:679
用電腦鍵盤調節聲音大小 瀏覽:1035
自動刷軟體賺錢 瀏覽:1031
古裝連續劇免費版 瀏覽:1192
工免費漫畫 瀏覽:768
手機軟體專門儲存文件 瀏覽:1282
uos如何用命令安裝軟體 瀏覽:1053
有線耳機插電腦麥克風 瀏覽:432
侏羅紀世界3在線觀看完整免費 瀏覽:767
單個軟體怎麼設置名稱 瀏覽:502
鳳凰網電腦版下載視頻怎麼下載視頻怎麼下載 瀏覽:1154
明白之後如何免費獲得無人機 瀏覽:597
如何解禁軟體菜單 瀏覽:589
副路由器連接電腦視頻 瀏覽:1118
內置wifi電視如何裝軟體 瀏覽:833
手機換零免費雪碧 瀏覽:1329
國行蘋果如何下載美版軟體 瀏覽:960