我在C和Assembly中创建一个项目,我需要从C中的汇编代码中获取一个字符串,所以我使用push将它放入堆栈中,我不能在C中使用它。
这是我的汇编代码:
_continue:
in al, dx
test al, 8
jz _continue
mov cx, 512/2
mov di, [buffer]
mov dx, 1f0h
rep insw
push buffer
ret
这是我的C代码:
extern STRING _readd();
void main()
{
STRING recv = _readd();
PrintString(recv);
PrintChar('\n');
PrintString("Done!");
readStr();
}
可能我在C代码中根本没有访问堆栈是问题吗?