使用cltq

问题描述

cltq是它自己的指令,还是其他名称的别名?我在x86 page上找不到它。确实如此:

cltq  # fill high 32 bits with 1 if current (eax) MSB is 1 else 0
# movslq %eax,%rax

它是否还有其他“形式”,以便可以在其他字节大小或寄存器上运行,还是仅在累加器寄存器上运行?如果总是固定于此,为什么将其固定为如此常见?我唯一的想法是,如果返回值是C语言中的int,并且通常将其转换为long,但这只是一个随机的猜测。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)