01. if 结构一 .section .rodata .align 2 .LC0: .string "i > 10\n" .LC1: .string "i <= 10\n" .section .text .align 2 .global main main: push {lr} mov r2, #1 cmp r2, #10 ldrgt r0, =.LC0 ldrle r0, =.LC1 bl printf mov r0, #0 pop {pc} 1. 2. 3. 4. 5. 6...
调用:在程序里移动到不同的标签,然后执行标签里的内容 1. 使用链接寄存器进行分支并返回 假设我要写一个程序,作用是将两个数值相加,然后将这个功能设置为一个函数,以便重复利用 首先我们随便移动一些值到寄存器里 .global _start _start: mov r0,#1 mov r1,#3 1. 2. 3. 4. 然后写一个分支,作用是相加两...
.section .rodata .align 2 .LC0: .string "i > 10\n" .LC1: .string "i <= 10\n" .section .text .align 2 .global main main: push {lr} mov r2, #1 cmp r2, #10 ldrgt r0, =.LC0 ldrle r0, =.LC1 bl printf mov r0, #0 pop {pc} 1. 2. 3. 4. 5. 6. 7. 8. 9. ...