當前行被彙編後的地址

時間 2022-06-23 14:10:07

1樓:湯旺河邊

$表示當前偏移地址,也就是它所在的位置。舉例說明,定義資料段及資料如下:

data segment

buff db 'welcome to you.'

n equ $-buff

data ends

因為變數buff佔12個位元組,$的當前地址就是12(就是它的偏移量),相應的常量n的值也是12。

又如,定義**段:

code segment

start:

mov ax,7

inc al

jmp $+7

mov bx,100h

add bx,ax

mov ah,4ch

int 21h

code ends

end start

這裡$的值是5,因為它前面的兩條指令

mov ax,7

inc al

佔5個位元組

第3條指令jmp $+7意指跳轉到距當前位置7個位元組的位置,即跳轉到指令mov ah,4ch處執行。

補充回答:

$單獨使用,表示當前偏移地址;若是連著使用,如$$、$$$等,就不是表示當前偏移地址了,而只是一個普通的識別符號了,這個很關鍵。

2樓:敖海均

我來說兩句;

其實你知道當前程式地址意義不是特別大,非要看的話,你可以開啟反彙編視窗,看前面的地址就知了(見附圖:51的反彙編視窗);如果你用跳轉指令的話,直接用標誌符簡單多了,而且出錯的機率也少;很多微控制器一條指令會佔兩個或三個位元組的flash空間。

3樓:魔豬仔

$$,$只有彙編的時候起作用,$是全域性的地址計數器,婁遇到一個宣告段的偽指令時,$$並不清零,而是將$中的值賦給$$

4樓:匿名使用者

在開始的地方設定或者預設(沒有設定的話)一個地址(應該可以預設吧,不設定編譯一下試試)(編譯器改置一個變數記錄)。然後逐句編譯彙編指令(把指令長度加到這個變數上)。直到$行,這時候這個變數的值就是當前行彙編後的地址。

5樓:冰封之都

這個地址是根據你前面有多少指令,每條指令的長度相加算出來的

彙編 debug 實體地址,彙編中的實體地址問題

你悟到的沒錯啊,在組合語言裡段地址和偏移地址與實體地址有如下關係。假設段地址為0001 偏移地址為0000 那麼實體地址為。這個實體地址對應的記憶體正是2662h 答案是正確的嘍。補充一下,一個實體地址可以有很多種段地址和偏移地址的組合,比如。可以是。0000和0010的組合,也可以是。0001和0...

組合語言中的偏移地址超過有效地址ffffH時,就取其64k的模是什麼意思

在真實模式下,定址採用和8086相同的16位段和偏移量,最大定址空間1mb,最大分段64kb,也就是說當偏移量大於ffffh時,要將段地址加1,偏移量減去10000h,如果所得的偏移量仍然大於ffffh時,再將段地址加1,偏移量減去10000h,直至偏移量小於等於ffffh為止 即取其64k的模 f...

本地連線的屬性被鎖定無法改ip地址

廈門侯 windows 2000 xp 2003 server平臺禁止修改ip地址方法 方法一 修改組策略法 在windows 2000 xp 2003 server作業系統中 系統策略管理器 工具是預設的安裝元件,使用者只需執行命令 gpedit.msc 就可開啟該工具,但名稱更改為 組策略 wi...