对于一个赋值,我必须在x86 ASM中创建一个函数,该函数应该计算矩阵的行列式,并将其结果通过堆栈返回给main函数。
我现在的问题是如何将结果推到堆栈中。
我知道返回值的标准是寄存器%rax,但赋值语句声明使用堆栈。
所以大体上看起来是这样的:
pushq a
pushq b
pushq c
pushq d
call determinante
popq %r12
字符串
其中a,B,c,d是矩阵的值,determinant现在应该将结果推送到main的堆栈框架中,并且使用popq %r12,我们希望将其写入寄存器r12。
不是字面上把它推到堆栈,而是Assignment说:
determinant: # returns the result in the last parameter in stack
型
关于如何在函数中将值推送到堆栈的一个小技巧将有很大帮助。
谢了,贾斯汀
1条答案
按热度按时间ldfqzlk81#
下面是一个16位模式的例子,来解释这个概念:
字符串