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...