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}

posted on 2012-01-30 14:09  Hevcer  阅读(547)  评论(0)    收藏  举报