Question: Please translate this ARM64 Assembly Code .text .global fct1, fct2, fct3, main fct1: sub sp, sp,#48 str x30, [sp] str w0, [sp,28] str w1, [sp,24]

Please translate this ARM64 Assembly Code

.text

.global fct1, fct2, fct3, main

fct1: sub sp, sp,#48

str x30, [sp]

str w0, [sp,28]

str w1, [sp,24]

ldr w0, [sp,28]

bl fct2

str w0, [sp,44]

ldr w0, [sp,24]

bl fct2

str w0, [sp,40]

ldr w1, [sp,44]

ldr w0, [sp,40]

add w0, w1, w0

str w0, [sp,36]

bl fct3

str w0, [sp,32]

ldr x30, [sp]

add sp, sp,#48

ret

fct2: sub sp, sp,#16

str w0, [sp,12]

ldr w0, [sp,12]

cmp w0,0

bge L2

ldr w0, [sp,12]

neg w0, w0

str w0, [sp,12]

L2:

ldr w0, [sp,12]

add sp, sp,16

ret

fct3: sub sp, sp,#32

str w0, [sp,12]

mov w0,1

str w0, [sp,28]

str wzr, [sp,24]

ldr w1, [sp,12]

L5:

cmp w1, w0

blt L6

ldr w2, [sp,24]

ldr w0, [sp,28]

add w0, w2, w0

str w0, [sp,24]

ldr w0, [sp,28]

add w0, w0,1

str w0, [sp,28]

b L5

L6:

ldr w0, [sp,24]

add sp, sp,32

ret

main: sub sp, sp,#32

str x30, [sp]

mov w0,-30

str w0, [sp,28]

mov w0,70

str w0, [sp,24]

ldr w1, [sp,24]

ldr w0, [sp,28]

bl fct1

str w0, [sp,20]

mov w0,0

ldr x30, [sp]

add sp, sp,#32

ret

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Computer Network Questions!