1. 要用 asm 關鍵字加圓括號,最後要有分號。
asm(assembly language tmplate
: output operands
: input operands
: list of clobbered registers);// 被破壞的寄存器列表
2. 如果想要防止編譯程序優化彙編代碼,可以使用關鍵字 volatile :
asm volatile ( …
3. 如需適用 POSIX ,可使用關鍵字 __asm__ 和 __volatile__ ,而不是 asm 和 volatile 。
4. 操作數描述:
“r” 用於輸出操作數,輸出變量會在代碼執行後保存在內存中。
“0” "1""2" 表示使用與前面編號相同的寄存器。
“cc” 表示符號位,用於損壞部。
“&r” 在輸入操作數之前就已改變。
“I” 、 ”Ir” 表示常數。
“Jr” indexing constans -4095~4095。e.g. LDR R1, [PC, #operand]
“memory”
“M”0~32
的整數。用法:MOV, R2, R1, ROR #operand
“+” 操作數被指令既讀又寫。
“=” 表示輸出操作數只寫,經常用於輸出部。