putchar是否清除堆栈?

时间:2016-02-10 16:07:53

标签: assembly stack push pop putchar

我正在修改putcharpushpop。 当我尝试推送rcx的值时,使用它执行某些操作,调用putchar并将其弹回到rcx,我发现rcx中的值已更改为0。 就像在第一段代码中一样。

为了进行比较,我制作了第二段代码,我推了rcx,用putchar做了一些事情并将其弹回rcx,{{1}仍然是它所推动的价值。

rcx


mov rcx, 123
push rcx
inc rcx
call [putchar]
pop rcx
call [putchar]

mov rcx, 123 push rcx inc rcx pop r12 call [putchar] mov rcx, r12 call [putchar] 是否真的清除了堆栈? 有谁知道如何保护堆栈(或至少它的重要部分)?

0 个答案:

没有答案