在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM匯編程序設(shè)計(jì)之:匯編語言文件格式

            ARM匯編程序設(shè)計(jì)之:匯編語言文件格式

            作者: 時(shí)間:2013-09-30 來源:網(wǎng)絡(luò) 收藏

            本文引用地址:http://www.biyoush.com/article/257046.htm

            10.3匯編語言

            10.3.1匯編語言語句格式

            (Thumb)匯編語法語句格式如下所示。

            {}{|directive|pseudo-}{;comment}

            程序符號(hào)。通常為地址標(biāo)號(hào)(label)。在指令和偽指令中通常為標(biāo)號(hào);在一些偽操作中符號(hào)可能是變量或常數(shù)。詳見偽操作一節(jié)。

            在書寫中,符號(hào)必須從一行的行頭開始,前面不能包含空格或制表符tab。

            ARM或Thumb指令。

            ③directive

            偽操作。詳見ARM偽操作一節(jié)。

            ④pseudo-instruction

            ARM偽指令。詳見ARM偽指令一節(jié)。

            ⑤comment

            語句注釋。注釋以分號(hào)(;)開頭,注釋的結(jié)尾即為一行的結(jié)尾。為了程序清晰易讀,注釋也可以單獨(dú)占用一行。匯編器在對(duì)程序進(jìn)行匯編時(shí)忽略注釋。

            在匯編語言程序設(shè)計(jì)中,每一條指令的助記符可以全部用大寫或全部用小寫,但不允許在一條指令中大、小寫混用。

            同時(shí),如果一條語句太長,可將該長語句分為若干行來書寫,在行的末尾用“”表示下一行與本行為同一條語句。

            10.3.2ARM匯編語言中的符號(hào)

            在匯編語言程序設(shè)計(jì)中,經(jīng)常使用各種符號(hào)代替地址(addresses)、變量(variables)和常量(constants)等,以增加程序的靈活性和可讀性。盡管符號(hào)的命名由編程者決定,但并不是任意的,必須遵循以下的約定。

            (1)符號(hào)區(qū)分大小寫,同名的大、小寫符號(hào)會(huì)被編譯器認(rèn)為是兩個(gè)不同的符號(hào)。

            (2)符號(hào)在其作用范圍內(nèi)必須惟一。

            (3)自定義的符號(hào)名不能與系統(tǒng)的保留字相同。其中保留字包括系統(tǒng)內(nèi)部變量

            (builtinvariable)和系統(tǒng)預(yù)定義(predefined)的符號(hào)。

            (4)符號(hào)名不應(yīng)與指令或偽指令同名。如果要使用和指令或偽指令同名的符號(hào)要用雙斜杠“||”將其括起來,如“||ASSERT||”。

            注意

            雖然符號(hào)被雙斜杠括起來,但雙斜杠并非符號(hào)名的一部分。

            (5)局部標(biāo)號(hào)以數(shù)字開頭,其他的符號(hào)都不能以數(shù)字開頭。

            1.變量(variable)

            程序中的變量是指其值在程序的運(yùn)行過程中可以改變的量。ARM(Thumb)所支持的變量有三種。

            ·數(shù)字變量(numeric)。

            ·邏輯變量(logical)。

            ·字符串變量(string)。

            數(shù)字變量用于在程序的運(yùn)行中保存數(shù)字值,但注意數(shù)字值的大小不應(yīng)超出數(shù)字變量所能表示的范圍。

            邏輯變量用于在程序的運(yùn)行中保存邏輯值,邏輯值只有兩種取值情況:真({TURE})和假({FALSE})。

            字符串變量用于在程序的運(yùn)行中保存一個(gè)字符串,注意字符串的長度不應(yīng)超出字符串變量所能表示的范圍。

            在ARM(Thumb)匯編語言程序設(shè)計(jì)中,可使用GBLA、GBLL、GBLS偽指令聲明全局變量,使用LCLA、LCLL、LCLS偽指令聲明局部變量,可使用SETA、SETL和SETS對(duì)其進(jìn)行初始化。

            2.常量(constants)

            程序中的常量是指其值在程序的運(yùn)行過程中不能被改變的量。ARM(Thumb)所支持的常量有數(shù)字常量、邏輯常量和字符串常量。

            數(shù)字常量一般為32位的整數(shù),當(dāng)作為無符號(hào)數(shù)時(shí),其取值范圍為0~232−1,當(dāng)作為有符號(hào)數(shù)時(shí),其取值范圍為−231~231−1。匯編器認(rèn)為−n和232−n是相等的。對(duì)于關(guān)系操作,如比較兩個(gè)數(shù)的大小,匯編器將其操作數(shù)看作無符號(hào)的數(shù),也就是說“0>−1”,對(duì)匯編器來說取值為“假({FLASE})”。

            邏輯常量只有兩種取值情況,真或假。

            字符串常量為一個(gè)固定的字符串,一般用于程序運(yùn)行時(shí)的信息提示。

            3.程序中的變量代換

            匯編語言中的變量可以作為作為一整行出現(xiàn)在中,也可以作為行的一部分使用。

            如果在數(shù)字變量前面有一個(gè)代換操作符“$”,編譯器會(huì)將該數(shù)字變量的值轉(zhuǎn)換為十六進(jìn)制的字符串,并將該十六進(jìn)制的字符串代換“$”后的數(shù)字變量。

            如果在邏輯變量前面有一個(gè)代換操作符“$”,編譯器會(huì)將該邏輯變量代換為它的取值(真或假)。

            如果在字符串變量前面有一個(gè)代換操作符“$”,編譯器會(huì)將該字符串變量的值代換“$”后的字符串變量。

            如果程序中需要字符“$”,則可以用“$$”來表示。匯編器將不進(jìn)行變量替換,而是將“$$”作為“$”。


            上一頁 1 2 3 4 5 6 下一頁

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉