这里的第一个问题,如果我做错了什么,请告诉我。
本质上,我在将 C 函数转换为 Y86 函数时遇到了一些麻烦。我不知道如何将 C 函数参数放入 Y86 的寄存器中(不知道我是否正确描述了这一点,但请检查下面的尝试)。请记住,我对 C 和 Y86 比较陌生。
假设我在 C 中有一个函数:
quad_t func(quad_t a0, quad_t a1) {
return ( ( a1 + a0 ) - a1);
}
现在我试着把它放在 Y86 中:
func:
irmovq 0xa0, %rax
irmovq 0xa1, %rcx
addq %rcx, %rax
subq %rcx, %rax
ret
我假设 Y86 将我的输入字面上视为 0xa0(十六进制),但我不知道该怎么做。