Chapter 4 ARM 程式设计基础ppt.ppt
文本预览下载声明
Microprocessor Ch4-* Click to edit Master title style Click to edit Master subtitle style * * 第四章 ARM 程式設計基礎 Ping-Liang Lai 賴秉樑 微處理機系統 Microprocessor System 章節大綱 4.1 ARM 編譯器所支援的虛擬指令 4.2 組合語言的語法 4.3 組合語言的程式結構 4.1 ARM 編譯器所支援的虛擬指令 虛擬指令: 一些特殊指令助記符號,這些助記符號與指令系統的助記符號不同,沒有相對應的運算碼 op-code ,通常稱這些特殊指令助記符為虛擬指令,他們所完成的操作稱之為偽操作。 為完成組合語言程式做各種準備工作; 僅於編譯過程起作用,編譯結束,虛擬指令的使命便完成。 虛擬指令的種類 符號定義虛擬指令; 資料定義虛擬指令; 編譯控制虛擬指令; 巨集指令; 其他虛擬指令。 符號定義虛擬指令 符號定義虛擬指令: 用於定義 ARM 組合語言中的變數、對變數設定值以及定義暫存器的別名等操作。 符號定義虛擬指令的種類 用於定義整體變數的 GBLA 、 GBLL 和 GBLS; 用於定義區域變數的 LCLA 、 LCLL 和 LCLS; 用於對變數設定值的 SETA 、 SETL 和 SETS; 為通用暫存器列表定義名稱的 RLIST。 GBLA 、 GBLL 和 GBLS 語法格式 GBLA GBLL 或 GBLS 整體變數名稱 GBLA 、 GBLL 和 GBLS 虛擬指令用於定義一個 ARM 程式中的整體變數,並將其初使化。其中: GBLA 用於定義一個整體的數位變數,並初使化為0; GBLL 用於定義一個整體的邏輯變數,並初使化為F 假值 ; GBLS 用於定義一個整體的字串變數,並初使化為空字串; 程式範例 GBLA Test1 ;定義一個整體的數位變數,名稱為 Test1 Test1 SETA 0xaa ;將該變數設定值為 0xaa GBLL Test2 ;定義一個整體的邏輯變數,名稱為 Test2 Test2 SETL True ;將該變數設定值為真 GBLS Test3 ;定義一個整體的字串變數,名稱為 Test3 Test3 SETS “Testing” ;將該變數設定值為 “Testing” LCLA 、 LCLL 和 LCLS 語法格式 LCLA LCLL 或 LCLS 整體變數名稱 LCLA 、 LCLL 和 LCLS: 虛擬指令用於定義一個 ARM 程式中的區域變數,並將其初使化。其中: LCLA 用於定義一個區域的數位變數,並初使化為0; LCLL 用於定義一個區域的邏輯變數,並初使化為F 假值 ; LCLS 用於定義一個區域的字串變數,並初使化為空字串; 程式範例 LCLA Test4 ;定義一個區域的數位變數,名稱為 Test4 Test4 SETA 0xaa ;將該變數設定值為 0xaa LCLL Test5 ;定義一個區域的邏輯變數,名稱為 Test5 Test5 SETL True ;將該變數設定值為真 LCLS Test6 ;定義一個區域的字串變數,名稱為 Test6 Test6 SETS “Testing” ;將該變數設定值為 “Testing” 章節大綱 4.1 ARM 編譯器所支援的虛擬指令 4.2 組合語言的語法 4.3 組合語言的程式結構 4.2 組合語言的語法 組合語言的語法 標記 指令或虛擬指令 運算元 ;注解 範例 標記 運算碼 運算元 注解
显示全部