1樓:匿名使用者
看圖你就會明白。實際上標號x1的首地址為ascii碼c的字單元地址,x2的首地址開始於 db 16 dup (?) 語句,緊接著x1的終止地址,那麼它的首地址相對於x1偏移4 - 1個位元組單元;x2的終止地址相對於其首地址偏移16 - 1個位元組單元,相對於x1偏移18個位元組單元。
那麼$ - x1實際上是當前地址與x1首地址之差。由此可以得出,mov bx, y指令執行後,bx的值為18d,也就是12h。
| …… |
| 43h | ascii: c 4 byte x1
| 00h |
| 44h | ascii: d
| 00h |
| ? | 16 byte x2
……| ? | <--- $
| …… |
(當前地址$與x1首地址之差為18個位元組偏移,等同於x1與x2佔有的位元組單元,不包括x1的首地址和x2的終止地址)
關於偽指令$,它表示地址計數器的當前值,也就是本條指令第一個位元組的地址偏移,如:
org $ + 8 表示起始地址定位於當前編譯地址第一位元組的後8個位元組處;jmp $ 表示無條件轉移至當前地址,其實際執行效果為永遠停留在當前地址。
又如:array dw 1, 2, $ + 4, 3, 4, $ + 4,可以用圖表示為:
| …… |
| 01h | <--- array 1
| 00h |
| 02h | 2
| 00h |
| 08h | $ + 4 ($相對於array首地址的偏移是4,因此$ + 4 = 8h)
| 00h |
| 03h | 3
| 00h |
| 04h | 4
| 00h |
| 0eh | $ + 4 ($相對於array首地址的偏移是10,因此$ + 4 = 0eh)
| 00h |
| … … |
可見,$用在不同的地方,其表示的當前地址計數是不同的。
2樓:匿名使用者
當前句子的地址
$-x1就是x1+x2總共佔用空間大小
3樓:匿名使用者
是一個等待符,比如jmp $;他就會一直停在這裡,
4樓:氣憤我不註冊了
就是當前地址。(bx)=18
在組合語言裡$符號代表什麼意思?
5樓:匿名使用者
表示原地空轉,一般與跳轉指令相連用 如51 i彙編中,ajmp $表示程式就停在當前位置,相當於
l1: ajmp l1
舉例應用:
如果一個程式只在中斷跑,主程式沒有東西可執行的東東,而這時主程式又不能停,此時就用 ajmp $,那麼此時主程式就在該處原地不動,單步除錯時可以看到就在原地走。這是隻要中斷條件到就執行中斷。
在彙編裡$符號是什麼意思? 5
6樓:匿名使用者
表示原地空轉,一般與跳轉指令相連用 如51 i彙編中,ajmp $表示程式就停在當前位置,相當於
l1: ajmp l1
舉例應用:
如果一個程式只在中斷跑,主程式沒有東西可執行的東東,而這時主程式又不能停,此時就用 ajmp $,那麼此時主程式就在該處原地不動,單步除錯時可以看到就在原地走。這是隻要中斷條件到就執行中斷。
7樓:匿名使用者
程式執行到哪$就跟到哪。$值為所指的記憶體地址空間。
8樓:匿名使用者
請參考http://baike.baidu.com/view/622795.html?wtp=tt
9樓:匿名使用者
看圖你就會明白。實際上標號x1的首
地址為ascii碼c的字單元地址,x2的首地址開始於 db 16 dup (?) 語句,緊接著x1的終止地址,那麼它的首地址相對於x1偏移4 - 1個位元組單元;x2的終止地址相對於其首地址偏移16 - 1個位元組單元,相對於x1偏移18個位元組單元。那麼$ - x1實際上是當前地址與x1首地址之差。
由此可以得出,mov bx, y指令執行後,bx的值為18d,也就是12h。
| …… |
| 43h | ascii: c 4 byte x1
| 00h |
| 44h | ascii: d
| 00h |
| ? | 16 byte x2
……| ? | <--- $
| …… |
(當前地址$與x1首地址之差為18個位元組偏移,等同於x1與x2佔有的位元組單元,不包括x1的首地址和x2的終止地址)
關於偽指令$,它表示地址計數器的當前值,也就是本條指令第一個位元組的地址偏移,如:
org $ + 8 表示起始地址定位於當前編譯地址第一位元組的後8個位元組處;jmp $ 表示無條件轉移至當前地址,其實際執行效果為永遠停留在當前地址。
又如:array dw 1, 2, $ + 4, 3, 4, $ + 4,可以用圖表示為:
| …… |
| 01h | <--- array 1
| 00h |
| 02h | 2
| 00h |
| 08h | $ + 4 ($相對於array首地址的偏移是4,因此$ + 4 = 8h)
| 00h |
| 03h | 3
| 00h |
| 04h | 4
| 00h |
| 0eh | $ + 4 ($相對於array首地址的偏移是10,因此$ + 4 = 0eh)
| 00h |
| … … |
可見,$用在不同的地方,其表示的當前地址計數是不同的。
JC在組合語言中是什麼意思,JC在組合語言中什麼意思
jc 在組合語言 是一 bai個du 條件轉移指令的操作碼zhi 後面應該再加上dao乙個位元組的版偏移量 即要轉移權到位址 為運算元 例如 jc llla 其中 jc 為操作碼 表示指令要執行的功能 j 表示轉移 c表示轉移到條件 當進製標誌c 1 即有進製時 轉移 否則不轉移 llla 是運算元...
BL W在組合語言中是什麼意思,在組合語言裡 表示什麼意思 ?具體怎麼用?
表示該指令為32位指令,單獨用bl 可能是16位的,也可能是32位,keil為了區分 反彙編時 用bl.w 表示 32位,bl表示16位 單獨用bl 有2種可能的情況 1 16位 2 32位 使用keil是為了區分 反彙編時 用bl.w 表示 32位 bl是arm彙編中用來呼叫子程式的指令,它把bl...
組合語言中db是什麼意思,組合語言中DB是什麼意思?
風翼殘念 db作為組合語言中的偽操作命令,它用來定義運算元佔用的位元組數。表示式中可包含符號 字串 或表示式等項,各個項之間用逗號隔開,字串應用引號括起來。括號內的標號是可選項,如果使用了標號。db的作用 在這裡b是byte的縮寫,即位元組,所以,該偽操作所定義的每個運算元佔有1個位元組 8位 如 ...