Home » 插件 » arm 汇编指令II

arm 汇编指令II

编 辑:Y ┊ 时 间:2022年03月01日 ┊ 访问: 15 次

运算

67961-5uzkz27f4a5.png

跳转指令

10789-a23evlcghyk.png

b直接跳转
62811-unai8l0u6de.png

bl把下一个指令地址设置到lr中,然后调用函数
pc是执行当前指令的位置
15281-lksj8mckml.png

案例

18303-4hvxn8ju5m9.png

.text

main:
  mov r5, #0
  mov r0,#2
  bl, func1

main_end:
   b main_end


func1:
   mov r12. lr
   cmp r0, #2
   bleq func2
   blne func3
func1_end:
   mov pc, r12

func2:
   add r0, #3
func2_end:
   mov pc,lr

func3:
   sub r0, #1
   mov pc,lr

.end

实现延时

70858-178y400og22.png

@for(i=1000000,i>10;i--){}

delayls:
   ldr r5, =0x3fffff
loop:
   cmp r5, #0
   beq  delayls_end
   sub r5, #1  
   b loop
delayls_end:
   mov pc,lr

50768-06ej9snt8zms.png

mov r0, #9

gcd:
loop:
  cmp r0,r1
  beq gdc_end
  subgt r0,r0,r1
  sublt r1,r1,r0
gdc_end:
   mov pc,lr



Copyright © 2026 Y 版权所有.网站运行:13年238天21小时29分