我想简单地将一个变量从程序集传递给 C 并将 C 传递给程序集。
问题是我不想使用固定内存寻址(即,将值放在特定位置,然后使用指针访问该特定位置)。
我最初以为我可以使用寄存器,但总共只有 16 个!我可能有超过 16 个要传递的值。
所以接下来我能想到的就是将值推入堆栈。但这是否意味着我必须使用内联汇编才能在 C 中访问它?像这样的东西:
asm ( assembler template
: output operands /* optional */
: input operands /* optional */
: list of clobbered registers /* optional */
);
还有其他方法可以解决这个问题吗?谁能给我一个非常简单的例子,将一些东西放在堆栈上,然后用 C 代码访问它?
组装菜鸟!