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.

102 lines
1.7 KiB

.data
.globl a
.p2align 2
a:
.word 1
.globl b
.p2align 2
b:
.word 0
.globl c
.p2align 2
c:
.word 1
.globl d
.p2align 2
d:
.word 2
.globl e
.p2align 2
e:
.word 4
.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]
adrp x13, a
ldr w9, [x13, #:lo12:a]
adrp x13, b
ldr w8, [x13, #:lo12:b]
mul w8, w9, w8
adrp x13, c
ldr w9, [x13, #:lo12:c]
sdiv w8, w8, w9
adrp x13, e
ldr w9, [x13, #:lo12:e]
adrp x13, d
ldr w10, [x13, #:lo12:d]
add w9, w9, w10
cmp w8, w9
b.eq .L.main.4
b .L.main.3
.L.main.1:
mov w8, #1
mov w19, w8
b .L.main.2
.L.main.2:
mov w0, w19
bl putint
mov w0, w19
ldr x19, [sp, #0]
add sp, sp, #32
ldp x29, x30, [sp], #16
ret
.L.main.3:
adrp x13, a
ldr w8, [x13, #:lo12:a]
adrp x13, b
ldr w9, [x13, #:lo12:b]
adrp x13, c
ldr w10, [x13, #:lo12:c]
mul w9, w9, w10
sub w8, w8, w9
adrp x13, d
ldr w9, [x13, #:lo12:d]
adrp x13, a
ldr w10, [x13, #:lo12:a]
adrp x13, c
ldr w11, [x13, #:lo12:c]
sdiv w10, w10, w11
sub w9, w9, w10
cmp w8, w9
b.eq .L.main.1
mov w8, #0
mov w19, w8
b .L.main.2
.L.main.4:
adrp x13, a
ldr w8, [x13, #:lo12:a]
adrp x13, a
ldr w9, [x13, #:lo12:a]
adrp x13, b
ldr w10, [x13, #:lo12:b]
add w9, w9, w10
mul w8, w8, w9
adrp x13, c
ldr w9, [x13, #:lo12:c]
add w9, w8, w9
adrp x13, d
ldr w8, [x13, #:lo12:d]
adrp x13, e
ldr w10, [x13, #:lo12:e]
add w8, w8, w10
cmp w9, w8
b.le .L.main.1
b .L.main.3