arm 指令1(转)
| 指令格式:? 指令{條件}{S} {目的Register},{OP1},{OP2} | "{ }"中的內容可選。即,可以不帶條件只有目的寄存器,或 只有目的寄存器和操作數1,也可以同時包含所有選項。“S” 決定指令的操作是否影響CPSR中條件標志位的值,當沒有S時指令不更新CPSR中條件標志位的值 | ? | ||||||||||||||||||||||||||||||||
| ? | 助記符 | 英文全稱 | 示例、功能 | ? | ||||||||||||||||||||||||||||||
| 跳 轉 指 令 | B | Branch 跳轉指令 | B? Label??? ;程序無條件跳轉到標號Label處執行 | ? | ||||||||||||||||||||||||||||||
| BL | Branch with Link 帶返回的跳轉指令 | BL Label ;當程序無條件跳轉到標號Label處執行時,同時將當前的PC值保存到R14中 | ? | |||||||||||||||||||||||||||||||
| BLX | Branch with Link and exchange帶返回和狀態切換的跳轉指令 | BLX? Label ;從ARM指令集跳轉到指令中所指定的目標地址,并將處理器的工作狀態有ARM狀態切換到Thumb狀態,該指令同時將PC的當前內容保存到寄存器R14中 | ? | |||||||||||||||||||||||||||||||
| BX | Branch and exchange 帶狀態切換的跳轉指令 | BX? Label ;跳轉到指令中所指定的目標地址,目標地址處的指令既可以是ARM指令,也可以是Thumb指令 | ? | |||||||||||||||||||||||||||||||
| ? ? ? ? ? ? 數 據 處 理 ? ? ? ? | MOV | Move 數據傳送 | MOV R1,R0,LSL#3 ;將寄存器R0的值左移3位后傳送到R1 | ? | ||||||||||||||||||||||||||||||
| MVN | Move NOT 數據非傳送 | MVN R0,#0 ;將立即數0取反傳送到寄存器R0中,完成后R0=-1 | ? | |||||||||||||||||||||||||||||||
| CMP | Compare 比較指令 | CMP R1,R0? ;將寄存器R1的值與寄存器R0的值相減,并根據結果設置CPSR的標志位 | ? | |||||||||||||||||||||||||||||||
| CMN | Compare negative 負數比較指令 | CMN R1,R0? ;將寄存器R1的值與寄存器R0的值相加,并根據結果設置CPSR的標志位 | ? | |||||||||||||||||||||||||||||||
| TST | Test 位測試指令 | TST R1,#0xffe ;將寄存器R1的值與立即數0xffe按位與,并根據結果設置CPSR的標志位 | ? | |||||||||||||||||||||||||||||||
| TEQ | Test equivalence 相等測試指令 | TEQ R1,R2 ;將寄存器R1的值與寄存器R2的值按位異或,并根據結果設置CPSR的標志位 | ? | |||||||||||||||||||||||||||||||
| ADD | Add 加法運算指令 | ADD R0,R2,R3,LSL#1?? ; R0 = R2 + (R3 << 1) | ? | |||||||||||||||||||||||||||||||
| ADC | Add with carry 帶進位加法 | ADCS ?? R2,R6,R10 ; R2 = R6+R10+!C,且更新CPSR的進位標志位 | ? | |||||||||||||||||||||||||||||||
| SUB | Subtract 減法運算指令 | SUB? R0,R1,#256 ? ; R0 = R1 – 256 | ? | |||||||||||||||||||||||||||||||
| SBC | Subtract with carry 帶進位減法指令 | SUBS R0,R1,R2 ; R0 = R1 - R2 - !C,并根據結果設置CPSR的進位標志位 | ? | |||||||||||||||||||||||||||||||
| RSB | Reverse subtract 逆向減法指令 | RSB R0,R1,R2 ; R0 = R2 – R1 | ? | |||||||||||||||||||||||||||||||
| RSC | Reverse subtract with carry 帶進位逆向減法指令 | RSC R0,R1,R2? ; R0 = R2 – R1 - !C | ? | |||||||||||||||||||||||||||||||
| AND | And 邏輯與操作指令 | AND R0,R0,#3 ; 該指令保持R0的0、1位,其余位清零。 | ? | |||||||||||||||||||||||||||||||
| ORR | OR 邏輯或操作指令 | ORR R0,R0,#3 ; 該指令設置R0的0、1位,其余位保持不變。 | ? | |||||||||||||||||||||||||||||||
| EOR | Exclusive OR 邏輯異或操作指令 | EOR R0,R0,#3 ; 該指令反轉R0的0、1位,其余位保持不變。 | ? | |||||||||||||||||||||||||||||||
| BIC | Bit clear 位清除指令 | BIC R0,R0,#0b1011 ; 該指令清除 R0 中的位 0、1、和 3,其余的位保持不變。 | ? | |||||||||||||||||||||||||||||||
| CLZ | Count left zero | 計算操作數最高端0的個數 | ? | |||||||||||||||||||||||||||||||
| ? 乘 加 指 令 | MUL | Multiply 32位乘法指令 | MUL R0,R1,R2? ;R0 = R1 × R2 | ? | ||||||||||||||||||||||||||||||
| MLA | Multiply and accumulate 32位乘加指令 | MLAS R0,R1,R2,R3 ;R0 = R1 × R2 + R3,同時設置CPSR中的相關條件標志位 | ? | |||||||||||||||||||||||||||||||
| SMULL | Signed multiply long 64位有符號數乘法指令 | SMULL?? R0,R1,R2,R3? ;R0 = (R2 × R3)的低32位 R1 = (R2 × R3)的高32位 | ? | |||||||||||||||||||||||||||||||
| SMLAL | Signed mul l and accumulate l 64位有符號數乘加指令 | SMLAL?? R0,R1,R2,R3? ;R0 =(R2 × R3)的低32位+R0; R1 =(R2 × R3)的高32位+ R1 | ? | |||||||||||||||||||||||||||||||
| UMULL | Unsigned multiply long 64位無符號數乘法指令 | UMULL?? R0,R1,R2,R3? ;R0 = (R2 × R3)的低32位;R1 =(R2 × R3)的高32位 | ? | |||||||||||||||||||||||||||||||
| UMLAL | Unsigned mul&accumulate lon 64位無符號數乘法指令 | UMLAL?? R0,R1,R2,R3? ;R0 =(R2 × R3)的低位+R0;R1 =(R2 × R3)的高32位+R1 | ? | |||||||||||||||||||||||||||||||
| PSR 訪問 | MRS | Move PSR to register 程序狀態寄存器到通用寄存器的數據傳送指令 | MRS R0,CPSR ;傳送CPSR的內容到R0 | ? | ||||||||||||||||||||||||||||||
| MSR | Move register to PSR通用寄存器到程序狀態寄存器的數據傳送指令 | MSR CPSR_c ,R0 ;傳送R0的內容到SPSR,但僅僅修改CPSR中的控制位域 | ? | |||||||||||||||||||||||||||||||
| 加載/ 存儲 指令 | LDR | Load word 字數據加載指令 | LDR R0,[R1,R2]! ;將存儲器地址為R1+R2的字數據讀入R0,并將新地址R1+R2寫入R1。 | ? | ||||||||||||||||||||||||||||||
| LDRB | Load byte 字節數據加載指令 | LDRB R0,[R1,#8] ;將存儲器地址為R1+8的字節數據讀入R0,并將R0的高24位清零 | ? | |||||||||||||||||||||||||||||||
| LDRH | Load half word 半字數據加載指令 | LDRH? R0,[R1] ;將存儲器地址為R1的半字數據讀入寄存器R0,并將R0的高16位清零 | ? | |||||||||||||||||||||||||||||||
| LDM | Load multiple 批量數據加載指令 | LDMFD? R13!,{R0,R4-R12,PC} ;將堆棧內容恢復到寄存器(R0,R4到R12,LR) | ? | |||||||||||||||||||||||||||||||
| STR | Store 字數據存儲指令 | STR R0,[R1],#8 ;將R0中的字數據寫入R1為地址的存儲器中,并將新地址R1+8寫入R1 | ? | |||||||||||||||||||||||||||||||
| STRB | Store byte 字節數據加載存儲指令 | STRB R0,[R1,#8]? ;將寄存器R0中的字節數據寫入以R1+8為地址的存儲器中 | ? | |||||||||||||||||||||||||||||||
| STRH | Store half word 半字數據存儲指令 | STRH R0,[R1,#8] ;將寄存器R0中的半字數據寫入以R1+8為地址的存儲器中 | ? | |||||||||||||||||||||||||||||||
| STM | Store multiple 批量數據存儲指令 | STMFD R13!,{R0,R4-R12,LR}??? ;將寄存器列表中的寄存器(R0,R4到R12,LR)存入堆棧 | ? | |||||||||||||||||||||||||||||||
| 數據 交換 | SWP | Swap word 字數據交換指令 | SWP R0,R1,[R2] ;R2所指的字數據傳送到R0,同時R1的數據傳送到R2所指的單元 | ? | ||||||||||||||||||||||||||||||
| SWPB | Swap byte 字節數據交換指令 | SWPB R0,R1,[R2] ;R2所指的字節數據傳送到R0,R0高24位清零,同時R1低8位送R2所指單元。 | ? | |||||||||||||||||||||||||||||||
| 移 位 指 令 | LSL | Logic shift left 邏輯左移操作 | MOV? R0, R1, LSL#2(ASL#2) ;將R1中的內容左移兩位后傳送到R0中,低位用0填充 | ? | ||||||||||||||||||||||||||||||
| ASL | Arithmetic shift left 算術左移操作 | ? | ||||||||||||||||||||||||||||||||
| LSR | Logic shift right 邏輯右移操作 | MOV R0, R1, LSR#2 ;將R1中的內容右移兩位后傳送到R0中,左端用零來填充 | ? | |||||||||||||||||||||||||||||||
| ASR | Arithmetic shift right 算術右移操作 | MOV R0, R1, ASR#2 ;將R1中的內容右移兩位后傳送到R0中,左端用第31位的值來填充 | ? | |||||||||||||||||||||||||||||||
| ROR | Rotate right 循環右移操作 | MOV R0, R1, ROR#2?? ;將R1中的內容循環右移兩位后傳送到R0中 | ? | |||||||||||||||||||||||||||||||
| RRX | Rotate right extended 帶拓展的循環右移操作 | 左端用進位標志位C來填充 | ? | |||||||||||||||||||||||||||||||
| 協處 理器 | CDP | Data operations | 協處理器數操作指令 | ? | ||||||||||||||||||||||||||||||
| LDC | Load | 協處理器數據加載指令 | ? | |||||||||||||||||||||||||||||||
| STC | Store | 協處理器數據存儲指令 | ? | |||||||||||||||||||||||||||||||
| MCR | Move to coproc fr ARM reg | 處理器寄存器到協處理器寄存器的數據傳送指令 | ? | |||||||||||||||||||||||||||||||
| MRC | M to ARM reg fr coprocessor | 協處理器寄存器到處理器寄存器的數據傳送指令 | ? | |||||||||||||||||||||||||||||||
| ? | ? | |||||||||||||||||||||||||||||||||
| PSR field | F (Flags field mask byte) | S (Stats field mask byte) | X (Extension field mask byte) | C (control field mask byte) | ? | |||||||||||||||||||||||||||||
| CPSR | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ? | |
| 意義 | N | Z | C | V | Q | DNZ (RAZ) 系統擴展用 | I | F | T | M4 | M3 | M2 | M1 | M0 | ? | |||||||||||||||||||
| ? | ? | |||||||||||||||||||||||||||||||||
| CPSR 各位 詳細 意義 | N | ? | 當前指令運算結果為負時,N = 1; 結果為非負時,N = 0 | ? | ||||||||||||||||||||||||||||||
| Z | ? | 運算結果為0,Z=1;否則Z=0 | ? | |||||||||||||||||||||||||||||||
| C | ? | 上溢出、進位C=1;下溢出、借位C=0 | ? | |||||||||||||||||||||||||||||||
| V | ? | 加減法V=1表示符號位溢出 | ? | |||||||||||||||||||||||||||||||
| I | ? | I=1時,禁止IRQ中斷 | ? | |||||||||||||||||||||||||||||||
| F | ? | F=1時,禁止FIQ中斷 | ? | |||||||||||||||||||||||||||||||
| T | ? | T=0,ARM指令;T=1,Thumb指令 | ? | |||||||||||||||||||||||||||||||
| M[4:0] | 0b10000 | User | ? | |||||||||||||||||||||||||||||||
| 0b10001 | FIQ | ? | ||||||||||||||||||||||||||||||||
| 0b10010 | IRQ | ? | ||||||||||||||||||||||||||||||||
| 0b10011 | Supervisor | ? | ||||||||||||||||||||||||||||||||
| 0b10111 | Abort | ? | ||||||||||||||||||||||||||||||||
| 0b11011 | Undefined | ? | ||||||||||||||||||||||||||||||||
| 0b11111 | System | ? | ||||||||||||||||||||||||||||||||
| ? | ? | |||||||||||||||||||||||||||||||||
| ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| 指令 格式 | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ? | ? | |||||||
| Cond | ? | ? | ? | Opcode | S | Rn | Rd | Shift_operand | ? | ||||||||||||||||||||||||||||||||
| opcode | ? | 指令操作符編碼 | ? | ||||||||||||||||||||||||||||||||||||||
| S | ? | 決定指令的操作是否影響CPSR的值 | ? | ||||||||||||||||||||||||||||||||||||||
| Rd | ? | 目標寄存器編碼 | ? | ||||||||||||||||||||||||||||||||||||||
| Rn | ? | 包含第一個操作數的寄存器編碼 | ? | ||||||||||||||||||||||||||||||||||||||
| Shift_oprand | ? | 表示第二個操作數 | ? | ||||||||||||||||||||||||||||||||||||||
| Cond | ? | 指令執行的條件編碼,詳細如下所示 | ? | ||||||||||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||||||||||||
| ? ? ? ? ? 條 件 域 | EQ | Z=1 | Equal | ? | |||||||||||||||||||||||||||||||||||||
| NE | Z=0 | Not equal, or unordered | ? | ||||||||||||||||||||||||||||||||||||||
| ? | CS/HS | C=1 | Carry set / Unsigned higher or same | Great than or equal, or unordered | ? | ||||||||||||||||||||||||||||||||||||
| CC/LO | C=0 | Carry clear / Unsigned lower | Less than | ? | |||||||||||||||||||||||||||||||||||||
| MI | N=1 | Negative | Less than | ? | |||||||||||||||||||||||||||||||||||||
| PL | N=0 | Positive or zero | Greater than or equal , or unordered | ? | |||||||||||||||||||||||||||||||||||||
| VS | V=1 | Overflow | Unordered | ? | |||||||||||||||||||||||||||||||||||||
| VC | V=0 | No overflow | Not unordered | ? | |||||||||||||||||||||||||||||||||||||
| HI | C=1且Z=0 | Unsigned higher | Greater than, or unordered | ? | |||||||||||||||||||||||||||||||||||||
| LS | C=0或Z=1 | Unsigned lower or same | Less than or equal | ? | |||||||||||||||||||||||||||||||||||||
| GE | N=1且V=1 或N=0且V=0 | Signed greater than or equal | Greater than or equal | ? | |||||||||||||||||||||||||||||||||||||
| LT | N=1且V=0 或N=0且V=1 | Signed less than | Less than , or unordered | ? | |||||||||||||||||||||||||||||||||||||
| GT | Z=0或N=V | Signed greater than | Great than | ? | |||||||||||||||||||||||||||||||||||||
| LE | Z=1或N!=V | Signed less than or equal | Less than or equal , or unordered | ? | |||||||||||||||||||||||||||||||||||||
| AL | ? | Always (normally omitted) | ? | ||||||||||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||||||||||||
| 并行 指令 前綴 | S | ? | Signed arithmetic modulo 28 or 216 ,sets CPSR GE bit | ? | |||||||||||||||||||||||||||||||||||||
| Q | ? | Signed saturating arithmetic | ? | ||||||||||||||||||||||||||||||||||||||
| SH | ? | Signed arithmetic, halving results | ? | ||||||||||||||||||||||||||||||||||||||
| U | ? | Unsigned arithmetic modulo 28 or 216 ,sets CPSR GE bit | ? | ||||||||||||||||||||||||||||||||||||||
| UQ | ? | Unsigned saturating arithmetic | ? | ||||||||||||||||||||||||||||||||||||||
| UH | ? | Unsigned arithmetic ,halving results | ? | ||||||||||||||||||||||||||||||||||||||
| 批量 傳輸 地址 模式 | Block load / store | Stack pop / push | ? | ||||||||||||||||||||||||||||||||||||||
| IA | Increment after | FD | Full descending | ? | |||||||||||||||||||||||||||||||||||||
| IB | Increment before | ED | Empty descending | ? | |||||||||||||||||||||||||||||||||||||
| DA | Decrement after | FA | Full ascending | ? | |||||||||||||||||||||||||||||||||||||
| DB | Decrement before | EA | Empty ascending | ? | |||||||||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||||||||||||
| ? ARM 指令 尋址 方式 | 立即尋址 | ADD R0,R0,#0x3f | R0←R0+0x3f | ? | |||||||||||||||||||||||||||||||||||||
| 寄存器尋址 | ADD R0,R1,R2 | R0←R1+R2 | ? | ||||||||||||||||||||||||||||||||||||||
| 間接尋址 | ADD R0,R1,[R2] | R0←R1+[R2] | ? | ||||||||||||||||||||||||||||||||||||||
| 變址尋址 | LDR R0,[R1,#4] | R0←[R1+4] | ? | ||||||||||||||||||||||||||||||||||||||
| LDR R0,[R1,#4]! | R0←[R1+4]、R1←R1+4 | ? | |||||||||||||||||||||||||||||||||||||||
| LDR R0,[R1] ,#4 | R0←[R1]、R1←R1+4 | ? | |||||||||||||||||||||||||||||||||||||||
| LDR R0,[R1,R2] | R0←[R1+R2] | ? | |||||||||||||||||||||||||||||||||||||||
| 多寄存器尋址 | LDMIA R0,{R1,R2,R3,R4} | R1←[R0];R2←[R0+4];R3←[R0+8];R4←[R0+12] | ? | ||||||||||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||||||||||||
| 偽指令及偽操作 | ? | ||||||||||||||||||||||||||||||||||||||||
| ? 符號 定義 ? | ? | GBLA / LCLA | 定義一個全局 / 局部的數字變量,并初始化為0 | ? | |||||||||||||||||||||||||||||||||||||
| GBLL / LCLL | 定義一個全局 / 局部的邏輯變量,并初始化為F(假) | ? | |||||||||||||||||||||||||||||||||||||||
| GBLS / LCLS | 定義一個全局 / 局部的字符串變量,并初始化為空 | ? | |||||||||||||||||||||||||||||||||||||||
| SETA / SETL / SETS | 給一個數學 / 邏輯 / 字符串變量賦值 | ? | |||||||||||||||||||||||||||||||||||||||
| RLIST | 對一個通用寄存器列表定義名稱,訪問次序為根據寄存器的編號由低到高,與排列次序無關 | ? | |||||||||||||||||||||||||||||||||||||||
| 數據 定義 | ? | DCB(=)/ DCW(DCWU) | 分配一片連續的字節 / 半字存儲單元并用指定的數據初始化 | 后綴U表示不要求對齊 | ? | ||||||||||||||||||||||||||||||||||||
| DCFS(DCFSU)/DCFD(DCFDU) | 分配一片連續的(單 / 雙精度的浮點數)字存儲單元并用指定的數據初始化 | ? | |||||||||||||||||||||||||||||||||||||||
| DCQ(DCQU)/ DCD(DCDU) | 用于分配一片以雙字 / 字為單位的連續的存儲單元并用指定的數據初始化 | ? | |||||||||||||||||||||||||||||||||||||||
| DCDO | 分配字內存但愿,初始化為標號基于靜態基址寄存器R9的偏移量 | ? | |||||||||||||||||||||||||||||||||||||||
| DCI | 和DCD類似,不同處在于DCI內存中的數據被標識為指令 | ? | |||||||||||||||||||||||||||||||||||||||
| SPACE(%) | DataSpace?? SPACE?? 100 ;分配連續100字節的存儲單元并初始化為0 | ? | |||||||||||||||||||||||||||||||||||||||
| MAP(^) | MAP 0x100,R0?? ;定義結構化內存表首地址的值為0x100+R0 | ? | |||||||||||||||||||||||||||||||||||||||
| FIELD(#) | A FIELD 16? ;定義A的長度為16字節 | ? | |||||||||||||||||||||||||||||||||||||||
| ? ? ? 控制 偽 指令 | IF、ELSE、ENDIF | IF?? 邏輯表達式 ???? 指令序列1 ELSE ???? 指令序列2 ENDIF | IF、ELSE、ENDIF偽指令能根據條件的成立與否決定是否執行某個指令序列。 當IF后面的邏輯表達式為真,則執行指令序列1,否則執行指令序列2。其中, ELSE及指令序列2可以沒有,此時,當IF后面的邏輯表達式為真,則執行 指令序列1,否則繼續執行后面的指令。 ? | ? | |||||||||||||||||||||||||||||||||||||
| WHILE、WEND | WHILE??? 邏輯表達式 ???? 指令序列 WEND | WHILE、WEND偽指令能根據條件的成立與否決定是否循環執行某個指令序列。當WHILE后面的邏輯表達式為真,則執行指令序列,該指令序列執行完畢后,再判斷邏輯表達式的值,若為真則繼續執行,一直到邏輯表達式的值為假。 | ? | ||||||||||||||||||||||||||||||||||||||
| MACRO、MEND MEXIT | MACRO $標號 宏名 $參數1,$參數2,……指令序列 MEND | $標號在宏指令被展開時,標號會被替換為用戶定義的符號, 宏指令可以使用一個或多個參數,當宏指令被展開時,這些參數被相應的值替換。 MEXIT用于從宏定義中跳轉出去 | ? | ||||||||||||||||||||||||||||||||||||||
| ? | AREA | AREA??? 段名??? 屬性1,屬性2,…… | 用于定義一個代碼段或數據段。其中,段名若以數字開頭,則該段名需用“|”括起來,如|1_test|。 | ? | |||||||||||||||||||||||||||||||||||||
| ? | ALIGN | AREA Init,CODE,ALIEN=3 | 指定后面的指令為8字節對齊 | ? | |||||||||||||||||||||||||||||||||||||
| ? | CODE | CODE16、CODE32 | 指定指令序列為16位的Thumb指令或32位的ARM指令 | ? | |||||||||||||||||||||||||||||||||||||
| ? | ENTRY | ? | 在一個完整的匯編程序中至少要有一個ENTRY(也可以有多個,當有多個ENTRY時,程序的真正入口點由鏈接器指定),但在一個源文件里最多只能有一個ENTRY(可以沒有)。 | ? | |||||||||||||||||||||||||||||||||||||
| ? | EQU(*) | 名稱 EQU 表達式 {,類型} | 為程序中的常量、標號等定義一個等效的字符名稱 | ? | |||||||||||||||||||||||||||||||||||||
| ? | EXPORT | EXPORT????? 標號 | 用于在聲明一個全局的標號,該標號可在其他的文件中引用。EXPORT可用GLOBAL代替。 | ? | |||||||||||||||||||||||||||||||||||||
| ? | IMPORT | IMPORT????? 標號 | 用于通知編譯器要使用的標號在其他的源文件中定義,無論當前源文件是否引用該標號,該標號均會被加入到當前源文件的符號表中 | ? | |||||||||||||||||||||||||||||||||||||
| ? | EXTERN | EXTERN????? 標號 | 用于通知編譯器要使用的標號在其他的源文件中定義,但要在當前源文件中引用,如果當前源文件實際并未引用該標號,該標號就不會被加入到當前源文件的符號表中 | ? | |||||||||||||||||||||||||||||||||||||
| ? | GET | GET???? 文件名 | 將一個源文件包含到當前的源文件中,并將被包含的源文件在當前位置進行匯編處理 | ? | |||||||||||||||||||||||||||||||||||||
| ? | INCBIN | INCBIN????? 文件名 | INCBIN偽指令用于將一個目標文件或數據文件包含到當前的源文件中,被包含的文件不作任何變動的存放在當前文件中,編譯器從其后開始繼續處理 | ? | |||||||||||||||||||||||||||||||||||||
| ? | RN | 名稱??????? RN????? 表達式 | RN偽指令用于給一個寄存器定義一個別名 | ? | |||||||||||||||||||||||||||||||||||||
| ? | ROUT | {名稱}? ROUT | ROUT偽指令用于給一個局部變量定義作用范圍。在程序中未使用該偽指令時,局部變量的作用范圍為所在的AREA,而使用ROUT后,局部變量的作為范圍為當前ROUT和下一個ROUT之間。 | ? | |||||||||||||||||||||||||||||||||||||
| ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
?
?
?
轉載于:https://www.cnblogs.com/Benzo/p/3342372.html
總結
以上是生活随笔為你收集整理的arm 指令1(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英文网名女生霸气冷酷162个
- 下一篇: 告白情话向男生长篇200个