久久久久久久麻豆,中日韩av在线,麻豆av在线免费,中文字幕二区三区,欧美日韩视频一区二区,亚洲欧美日韩在线一区,国产无毒不卡

ARM匯編偽指令介紹


序列 1   
    ELSE   
    指令序列 2   
    ENDIF   
    IF 、 ELSE 、 ENDIF 偽指令能根據(jù)條件的成立與否決定是否執(zhí)行某個指令序列。當 IF 后面的邏輯表達式為真,則執(zhí)行指令序列 1 ,否則執(zhí)行指令序列 2 。其中, ELSE 及指令序列 2 可以沒有,此時,當 IF 后面的邏輯表達式為真,則執(zhí)行指令序列 1 ,否則繼續(xù)執(zhí)行后面的指令。   
    IF 、 ELSE 、 ENDIF 偽指令可以嵌套使用。   
    使用示例:   
    GBLL Test ;聲明一個全局的邏輯變量,變量名為 Test……   
    IF Test = TRUE   
    指令序列 1   
    ELSE   
    指令序列 2   
    ENDIF   

    2、 WHILE、WEND   
    語法格式:   
    WHILE 邏輯表達式   
    指令序列   
    WEND   
    WHILE 、 WEND 偽指令能根據(jù)條件的成立與否決定是否循環(huán)執(zhí)行某個指令序列。當 WHILE 后面的邏輯表達式為真,則執(zhí)行指令序列,該指令序列執(zhí)行完畢后,再判斷邏輯表達式的值,若為真則繼續(xù)執(zhí)行,一直到邏輯表達式的值為假。   
    WHILE 、 WEND 偽指令可以嵌套使用。   
    使用示例:   
    GBLA Counter ;聲明一個全局的數(shù)學變量,變量名為 Counter   
    Counter SETA 3 ;由變量Counter 控制循環(huán)次數(shù)   
    ……   
    WHILE Counter < 10   
    指令序列   
    WEND   

    3、 MACRO、MEND   
    語法格式:   
    $ 標號 宏名 $ 參數(shù) 1 , $ 參數(shù) 2 ,……   
    指令序列   
    MEND   
    MACRO 、 MEND 偽指令可以將一段代碼定義為一個整體,稱為宏指令,然后就可以在程序中通過宏指令多次調(diào)用該段代碼。其中, $ 標號在宏指令被展開時,標號會被替換為用戶定義的符號, 宏指令可以使用一個或多個參數(shù),當宏指令被展開時,這些參數(shù)被相應的值替換。   
    宏指令的使用方式和功能與子程序有些相似,子程序可以提供模塊化的程序設計、節(jié)省存儲空間并提高運行速度。但在使用子程序結(jié)構(gòu)時需要保護現(xiàn)場,從而增加了系統(tǒng)的開銷,因此,在代碼較短且需要傳遞的參數(shù)較多時,可以使用宏指令代替子程序。   
    包含在 MACRO 和 MEND 之間的指令序列稱為宏定義體,在宏定義體的第一行應聲明宏的原型(包含宏名、所需的參數(shù)),然后就可以在匯編程序中通過宏名來調(diào)用該指令序列。在源程序被編譯時,匯編器將宏調(diào)用展開,用宏定義中的指令序列代替程序中的宏調(diào)用,并將實際參數(shù)的值傳遞給宏定義中的形式參數(shù)。   
    MACRO 、 MEND 偽指令可以嵌套使用。   

    4、 MEXIT   
    語法格式:   
    MEXIT   
    MEXIT 用于從宏定義中跳轉(zhuǎn)出去。  

    其他常用的偽指令   
    還有一些其他的偽指令,在匯編程序中經(jīng)常會被使用,包括以下幾條:   
    — AREA   
    — ALIGN   
    — CODE16 、 CODE32   
    — ENTRY   
    — END   
    — EQU   
    — EXPORT (或 GLOBAL )   
    — IMPORT   
    — EXTERN   
    — GET (或 INCLUDE )   
    — INCBIN   
    — RN   
    — ROUT   
    1、 AREA   
    語法格式:   
    AREA 段名 屬性 1 ,屬性 2 ,……   
    AREA 偽指令用于定義一個代碼段或數(shù)據(jù)段。其中,段名若以數(shù)字開頭,則該段名需用 “ | ” 括起來,如 |1_test| 。   
    屬性字段表示該代碼段(或數(shù)據(jù)段)的相關(guān)屬性,多個屬性用逗號分隔。常用的屬性如下:   
    — CODE 屬性:用于定義代碼段,默認為 READONLY 。   
    — DATA 屬性:用于定義數(shù)據(jù)段,默認為 READWRITE 。   
    — READONLY 屬性:指定本段為只讀,代碼段默認為 READONLY 。   
    — READWRITE 屬性:指定本段為可讀可寫,數(shù)據(jù)段的默認屬性為 READWRITE 。   
    — ALIGN 屬性:使用方式為 ALIGN 表達式。在默認時, ELF (可執(zhí)行連接文件)的代碼段和數(shù)據(jù)段是按字對齊的,表達式的取值范圍為 0 ~ 31 ,相應的對齊方式為 2 表達式次方。   
    — COMMON 屬性:該屬性定義一個通用的段,不包含任何的用戶代碼和數(shù)據(jù)。各源文件中同名的 COMMON 段共享同一段存儲單元。   
    一個匯編語言程序至少要包含一個段,當程序太長時,也可以將程序分為多個代碼段和數(shù)據(jù)段。   
    使用示例:   
    AREA Init , CODE , READONLY   
    該偽指令定義了一個代碼段,段名為 Init ,屬性為只讀   

    2、 ALIGN   
    語法格式:   
    ALIGN { 表達式 { ,偏移量 }}   
    ALIGN 偽指令可通過添加填充字節(jié)的方式,使當前位置滿足一定的對其方式 | 。其中,表達式的值用于指定對齊方式,可能的取值為 2 的冪,如 1 、 2 、 4 、 8 、 16 等。若未指定表達式,則將當前位置對齊到下一個字的位置。偏移量也為一個數(shù)字表達式,若使用該字段,則當前位置的對齊方式為: 2 的表達式次冪+偏移量。   
    使用示例:   
    AREA Init , CODE , READONLY , ALIEN = 3 ;指定后面的指令為 8 字節(jié)對齊。   
    指令序列   
    END   

    3、 CODE16、CODE32 &

COPYRIGHT(C) 2011 廈門永宏亞得機電科技有限公司版權(quán)所有(閩ICP備05025945號) ALL RIGHTS RESERVED?

電話: 0592-5190891 傳真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 廈門市海滄區(qū)興港六里17號2607室 郵編:361009 聯(lián)系人:翟先生