彙編中標號的使用

2021-06-18 00:42:49 字數 484 閱讀 6572

其實標號就代表乙個位址,在這個位址上儲存著資料,可以是指令或是其他的位址。

下面就是涉及到標號的指令的使用了,尤其是跳轉指令,看到底是取標號代表的位址,還是所代表位址處儲存的指令或資料。

1)b,bl等跳轉指令,是跳轉到該標號所代表的的位址處去執行所儲存的指令。

2)ldr pc 標號1;就是把標號1所代表的的位址處儲存的內容給pc.

如:ldr   pc   標號1                //把 標號1的內容傳遞給pc

標號1  .word 標號2       //標號1處儲存的內容即標號2的位址,也可以說明.word是取得標號所代表的的位址。

標號2:**

.word  .word expr …  分配一段字記憶體單元,並用expr初始化字記憶體單元(32bit)

還有ldr 偽指令 ldr   r0,=0x123456;即把這個位址值給r0.所以ldr偽指令是取標號所代表位址的,而ldr指令是取標號代表位址處儲存的內容。

組合語言中標號和變數的區別

變數和標號都是使用者定義的符號位址,標號有兩個屬性,段基位址 偏移位址 變數有三個屬性,段基位址 偏移位址和資料型別 一般來說,標號只在 段中被定義,而變數則可以被定義在資料段和 段中。標號是個死數,指的是乙個固定的值,一般指向的目標不是程式段就是資料段 而且定義完就不能變了。編譯程式的時候,編譯器...

ARM彙編中的標號使用

參考自 1 標號 在arm 彙編中,標號代表乙個位址,段內標號的位址在彙編時確定,而段外標號的位址值在連線時確定。根據標號的生成方式,可以有以下3 鐘 基於pc 的標號 基於pc 的標號時位於目標指令前的標號或程式中的資料定義偽指令前的標號,這種標號在彙編時將被處理成pc 值加上或減去乙個數字常量。...

ARM彙編中的標號

arm彙編中的標號 標號 label 是為一組機器指令所起名字,表示程式中的指令或者資料位址的符號。標號可有可無,只有當需要用符號位址來訪問該語句時,才給此語句賦予標號。通過在目標位址的前面放上乙個標號,可以在指令中使用標號來代替直接使用位址。標號是程式目標標誌,總是和某位址相聯絡,供轉移或迴圈指令...