組合語言中符號的意思是什麼,在組合語言裡 符號代表什麼意思?

2021-08-14 23:03:40 字數 3353 閱讀 6843

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