ios下的汇编语法小结
iOS上汇编与gun汇编在语法上有不同之处。
下文是一个ios上汇编的语法小结,指令需要小写,
.include “xxx.h”
.text
.globl _functionA @相当于C中的export/import,gun汇编中的.global
.globl _functionB @函数名前要加下划线,外部调用为“functionB”
.set CONST_0x7fff7fff, 0x7fff7fff @相当于 CONST_0x7fff7fff equ 0x7fff7fff
pSrc .req r0 @ rename register
acc .req q0
.align 4
.macro testMacro @宏定义,不需要写参数列表
.if $3>0 @$n是第n个参数
add r0, $0, $1
.endif
add r0, r0, $2
.endmacro
_functionA: @需要下划线
push {r4-r11,lr}
pop {r4-r11,pc}
.align 4
tableA: @最好放在调用点之前定义
.word 0x00010002,0x00030004
_functionB:
push {r4-r11,lr}
testMacro r2, r3 @宏替换
bl _functionA @函数调用
adr r4, tableA @得到tableA的首地址
ldr r5, [r4]
ldr r5, [r4,#4]
vld1.64 {d0-d1}, [r0,:64] @相当于 vld1.64 {d0-d1}, [r0 @64]
pop {r4-r11,pc}
浙公网安备 33010602011771号