【发布时间】:2017-11-16 00:32:11
【问题描述】:
我正在尝试将这个 x86 汇编代码转换为 Y86 格式:
给定c程序:
int sum(int x) {
if (x == 0 || x ==1) {
return 1;
} else {
return x + sum(x-1);
}
}
生成以下x86-64汇编代码:
sum:
cmpl $1, %rdi
ja .L8
movl $1, %eax
ret
.L8:
pushq %rbx
movl %edi, %ebx
leal -1(%rdi), %edi
call sum
addl %ebx, %eax
popq %rbx
ret
如何将其转换为具有相同功能的 Y86-64 汇编代码?
谢谢!
【问题讨论】:
-
嗯,到目前为止你尝试了什么?