微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

寄存器是算术计算操作数的唯一来源吗?

如何解决寄存器是算术计算操作数的唯一来源吗?

(1) 我想知道寄存器是不是唯一可以进行算术计算的地方? 看起来像: add BYTE PTR [var],10 — add 10 to the single byte stored at memory address var 语法也正确,有隐式寄存器吗?

(2) CMP 指令怎么样, register 是唯一可以发生这条指令的地方吗?

(3) POP 指令怎么样,栈值是否也弹出到一个隐式的非易失性寄存器中?

(4) 非易失性寄存器的值必须与函数一起保存,这样理解正确吗?在函数内部,它使用 RSI 寄存器从堆栈中获取值。是否需要保留该值?也就是说,RSI寄存器只能被这个函数使用一次?

(5) 如果函数改变了非易失性寄存器的值,它是否可以在堆栈或另一个寄存器中保留先前的值?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。