You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
1.4 KiB

.data
.globl a
.p2align 2
a:
.word 7
.text
.globl func
.p2align 2
func:
.L.func.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
adrp x13, a
ldr w8, [x13, #:lo12:a]
mov w9, #1
cmp w9, w8
b.eq .L.func.1
b .L.func.2
.L.func.1:
mov w8, #1
mov w0, w8
ldp x29, x30, [sp], #16
ret
.L.func.2:
mov w8, #0
mov w0, w8
ldp x29, x30, [sp], #16
ret
.text
.globl main
.p2align 2
main:
.L.main.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #32
str x19, [sp, #0]
str x20, [sp, #8]
mov w8, #0
mov w20, w8
mov w19, w8
b .L.main.1
.L.main.1:
mov w8, #100
cmp w20, w8
b.lt .L.main.2
b .L.main.3
.L.main.2:
bl func
mov w8, w0
mov w9, #1
cmp w8, w9
b.eq .L.main.4
mov w9, w19
b .L.main.5
.L.main.3:
mov w8, #100
cmp w19, w8
b.lt .L.main.6
b .L.main.7
.L.main.4:
mov w8, #1
add w8, w19, w8
mov w9, w8
b .L.main.5
.L.main.5:
mov w8, #1
add w8, w20, w8
mov w20, w8
mov w19, w9
b .L.main.1
.L.main.6:
mov w8, #1
mov w0, w8
bl putint
b .L.main.8
.L.main.7:
mov w8, #0
mov w0, w8
bl putint
b .L.main.8
.L.main.8:
mov w8, #0
mov w0, w8
ldr x19, [sp, #0]
ldr x20, [sp, #8]
add sp, sp, #32
ldp x29, x30, [sp], #16
ret