1樓:飛鷹
“$”是組合語言中的一個預定義符號,等價於當前正彙編到的段的當前偏移值。
組合語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可程式設計器件的低階語言,亦稱為符號語言。在組合語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或運算元的地址。
在不同的裝置中,組合語言對應著不同的機器語言指令集,通過彙編過程轉換成機器指令。特定的組合語言和特定的機器語言指令集是一一對應的,不同平臺之間不可直接移植。
2樓:問明
意思:是一個預定義符號,等價於當前正彙編到的段的當前偏移值。
例如eg:指令“jmp$+3”中的“$”表示當前這條指令在**段中的偏移量。
一、eg即“jmp$+3”表示要向前跳轉到距離這條指令3個位元組的地方。若是“jmp$-3”,則表示要向後跳轉到距離這條指令3個位元組的地方。
二、在彙編中是字串結束的標誌
如:data segment
mes1'hello',0ah,0dh,'$'
三、$同時也代表著美元
四、同時也是jquery和php等框架或語言中所用的有特殊作用的符號。
舉例:組合語言中$+4表示
$是指當前指令的地址
$+4就是當前指令+4的地址
舉個$-4的例子,也一樣。
delay:
mov r3,#25
d1:mov r4,#20
d2:djnz r4,d2
djnz r3,d1
ret也可以寫成:
delay:
mov r3,#25
mov r4,#20;mov rn,#data為2位元組指令
djnz r4,$;djnz rn,rel為2位元組指令
djnz r3,$-4;$-4的地址向上-4個位元組單元,指令就是mov r4,#20ret
3樓:網路工程菜鳥
有多種作用,可用做串結束符,也可用於指明當前地址。
4樓:胖大海君
ajmp $ 是一條無條件絕對轉移指令ajmp是操作碼(表示指令的功能是絕對轉移指令) $是運算元: 表示要轉移的目的地址就是該指令的本身地址
ajmp $ 這條指令等價於
ll: ajmp ll ;即不斷執行該指令 不走了(也可以把它 看做是一條暫停指令)
呵呵 滿意就選滿意回答
組合語言中$是什麼意思
5樓:匿名使用者
“$”是彙編
copy
語言中的一個預定義符bai號,等價於當前正彙編到du的段的當前偏移值zhi。
指令“daojmp $+3”中的“$”表示當前這條指令在**段中的偏移量。指令“jmp $+3”表示要向前跳轉到距離這條指令3個位元組的地方。若是“jmp $-3”,則表示要向後跳轉到距離這條指令3個位元組的地方。
“$”可用於表示式,並且可以用於表示式的任意位置。
更具體的內容,請參閱組合語言的“預定義符號”章節。
6樓:匿名使用者
$就是本句語言的指標地址
sjmp $,就是原地踏步
組合語言裡的 "$" 是什麼意思?怎麼用?
7樓:四舍**入
代表當前指令的來地址,如自:
data segment
str1 db a,b,c,d
leng equ $-str
就是當前地址減去str1的初始地址,即可得到str1的長度。
在字串中是結束標誌,就是字串遇到$才會結束,類似於c語言中字串中結尾的'0'。
8樓:君子酒
$: 為地址運算子,屬偽操作指令。當我們需要彙編編譯器自動計算出陣列大小的
內時候,容可能就會用到當前地址計數器$運算子了,masm用$運算子返回當前程式語句的地址偏移值,利用該數值,我們可以計算出陣列的長度。
例如:*** byte 10,20,30,40,50***len = $ - ***
則常量***len就是陣列list的長度值了(=5)。
上句的意思是:當前地址減去變數***的地址,即為5。
9樓:匿名使用者
$在彙編中代表它所在指令的地址,例如
0060h sjmp $
就是跳轉到$,而它編譯時自動變為本行地址0060h,執行時就跳轉回這行,即不斷重複執行
10樓:江西新華子陵
組合語言是計來算機提供自給使用者的最快最有效的語言,也是能夠利用計算機的所有硬體特性並能夠直接控制硬體的唯-語言。但是由於編寫和除錯組合語言程式要比高階語言複雜,因此目前其應用不如高階語言廣泛。
組合語言比機器語言的可讀性要好,但跟高階語言比較而言,可讀性還是較差。不過採用它編寫的程式具有儲存空間佔用少、執行速度快的特點,這些是高階語言所無法取代的。在實際應用中,是否使用組合語言,取決於具體應用要求、軟體開發時間和質量等方面作權衡。
在組合語言裡$符號代表什麼意思?
11樓:匿名使用者
表示原地空轉,一般與跳轉指令相連用 如51 i彙編中,ajmp $表示程式就停在當前位置,相當於
l1: ajmp l1
舉例應用:
如果一個程式只在中斷跑,主程式沒有東西可執行的東東,而這時主程式又不能停,此時就用 ajmp $,那麼此時主程式就在該處原地不動,單步除錯時可以看到就在原地走。這是隻要中斷條件到就執行中斷。
在彙編裡$符號是什麼意思? 5
12樓:匿名使用者
表示原地空轉,一般與跳轉指令相連用 如51 i彙編中,ajmp $表示程式就停在當前位置,相當於
l1: ajmp l1
舉例應用:
如果一個程式只在中斷跑,主程式沒有東西可執行的東東,而這時主程式又不能停,此時就用 ajmp $,那麼此時主程式就在該處原地不動,單步除錯時可以看到就在原地走。這是隻要中斷條件到就執行中斷。
13樓:匿名使用者
程式執行到哪$就跟到哪。$值為所指的記憶體地址空間。
14樓:匿名使用者
請參考http://baike.baidu.com/view/622795.html?wtp=tt
15樓:匿名使用者
看圖你就會明白。實際上標號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 |
| … … |
可見,$用在不同的地方,其表示的當前地址計數是不同的。
組合語言中db是什麼意思,組合語言中DB是什麼意思?
風翼殘念 db作為組合語言中的偽操作命令,它用來定義運算元佔用的位元組數。表示式中可包含符號 字串 或表示式等項,各個項之間用逗號隔開,字串應用引號括起來。括號內的標號是可選項,如果使用了標號。db的作用 在這裡b是byte的縮寫,即位元組,所以,該偽操作所定義的每個運算元佔有1個位元組 8位 如 ...
組合語言的DW是什麼意思,組合語言中的DW怎麼用,能舉個例子說明一下嗎
dw 是定義2位元組空間的意思。dw屬於彙編的一個偽指令,dw定義字型別變數,一個字資料佔2個位元組單元,讀完一個,偏移量加2。db定義位元組型別變數,一個位元組資料佔1個位元組單元,讀完一個,偏移量加1。dd定義雙字型別變數,一個雙字資料佔4個位元組單元,讀完一個,偏移量加4。彙編指令既不控制機器...
這個組合語言題目是什麼意思,請問組合語言 這道題是什麼思路?al bl ah bh 這是什麼意思? 還有怎麼計算啊?
承冷菱 組合語言 assembly language 是一種用於電子計算機 微處理器 微控制器或其他可程式設計器件的低階語言,亦稱為符號語言。在組合語言中,用助記符代替機器指令的操作碼,用位址符號或標號代替指令或運算元的位址。在不同的裝置中,組合語言對應著不同的機器語言指令集,通過彙編過程轉換成機器...