當前位置:首頁 » 編程軟體 » 編譯器怎麼知道內存地址

編譯器怎麼知道內存地址

發布時間: 2022-09-27 11:13:01

❶ 怎麼能查看子程序的匯編代碼入口內存地址

你好,
子程序的匯編代碼只有在最終的Link階段才會為代碼和數據分配內存地址,因此指定代碼段的地址一般是通過寫一個link腳本來進行的。Link階段時,編譯器的Linker會讀取你寫的Link腳本,並且按照腳本的規定給代碼分配地址。
根據
子程序的匯編代碼開發工具的不同,link腳本的語法和形式也有所不同。ARM MDK,ARM ADS,Eclips+GCC,Linux GCC, ARM Realview等開發工具都支持Link腳本。
如果你英文還可以,建議你直接找到開發工具的Help手冊去研究。如果你英語實在不行,也可以把開發工具名稱和你代碼的具體情況告訴我,我幫你看看。

❷ 如何用匯編語言讀取內存值

匯編語言讀取內存的方式有兩種:立即數定址(包括在編譯器中的變數地址),寄存器定址。就拿80X86匯編來說,簡單的使用MOV指令就可以完成對內存地址的讀寫,一下是立即數定址和寄存器定址實現內存讀寫的例子:

MOV AX,[8000] ;立即數定址,將AX寄存器中放入偏移地址8000中的內容
MOV AX,[SI] ;寄存器定址,將SI寄存器中的值作為地址,SI寄存器中存放的地址中 內容送到AX寄存器中。另外,任何通用寄存
(AX,BX,CX,DX,SI,DI,BP,SP)都可以放入方括弧[]中行定址

NUMBER DW 1234H ;變數地址定義
...
MOV AX,[NUMBER] ;將NUMBER的地址進行定址,然後將地址內的內容送入AX寄存 器中

需要注意的是,如果需要往立即數地址中直接寫入或讀取數據,則需要添加數據的大小標識符,否則編譯器會產生錯誤。如下:

MOV [8000],1234H ;錯誤的指令!
MOV WORD PTR [8000],1234H ;正確,往偏移地址8000的內存位置中放入WORD類型的數據1234H

❸ 困擾很久的問題,C語言里一個變數存在一塊內存里,那必然需要有一塊內存存儲它的地址。它的地址的地址。

你可以這么理解,它的地址就是內存的編號了;如果非要用另一個地址來存這個編號,那麼你得另外創建變數,新創建的這個變數的地址也是一個內存的編號;編譯器不會主動給你創建這個變數。

❹ c++怎麼通過字面值找內存地址

這有點像內存補丁之類的黑客知識了……

  1. 內存中數據是按位元組存儲的,查找一個字元'a',那是很難的,因為一個位元組一共就能表示256種狀態,出現'a'的概率太高了,但是你卻很難知道這個內存單元到底代表什麼含義,甚至不知道是不是個字元串。

  2. 當年的金山游俠,首先是針對一個進程進行的,而且進行內存查找還要進行好幾次才行。想自己編個金山游俠??呵呵

  3. 何況,一般程序很難訪問其他進程的內存,因為操作系統在運行各個程序時,各進程的地址空間是邏輯上獨立的,都是00...0到ff...f,普通編程手段根本無法跨進程操作。

綜上,一般訪問不到,訪問到了你也編不出高精度的查找程序,即便找到了也不敢肯定你找到的是什麼。

❺ 內存定址中段地址如何確定如果要用某個段寄存器指出段地址,指令中如何表示謝謝。

嘿嘿 俺來幫你解答
1 內存定址中段地址是由計算機的編譯器分配的,它根據計算機當前內存實際使用情況,專為用戶分配一個合適的固定的地址空間。
2 要用某個段寄存器指出段地址,可以使用下列指令 :
MOV AX,CS ;將代碼段的段地址送給累加器
MOV AX,DS ;將數據段的段地址送給累加器
MOV AX,ES ;將附加段的段地址送給累加器
MOV AX,SS ;將堆棧段的段地址送給累加器
呵呵 滿意 就給加分啊

❻ 求教:Dev C++如何看內存中的值

print /x &name[0]

獲得內存地址:

熱點內容
監控腳本實用 發布:2022-11-30 14:14:28 瀏覽:377
九陰真經顯血腳本 發布:2022-11-30 14:14:22 瀏覽:197
浪潮伺服器mgn口地址 發布:2022-11-30 14:13:41 瀏覽:821
linux鎖屏設置 發布:2022-11-30 14:08:20 瀏覽:896
演算法轉讓 發布:2022-11-30 14:07:24 瀏覽:24
我的世界為什麼從伺服器斷開連接 發布:2022-11-30 14:07:04 瀏覽:432
怎麼擠出母乳存儲袋中的空氣 發布:2022-11-30 14:05:32 瀏覽:33
linuxbin文件 發布:2022-11-30 14:01:19 瀏覽:481
購物網站源碼php 發布:2022-11-30 13:58:15 瀏覽:475
python執行java 發布:2022-11-30 13:56:23 瀏覽:942