当编译如下所示的一行代码(X86)时,会生成相应的汇编指令。895 是一个 -ve 数字,以 2 的补码形式存储在 %esp 指向的内存位置。
int a = -895 --> compiler ---> movl $-895, 24(%esp)
我的疑问是,汇编程序是直接将-895 转换为2 的补码形式并生成机器指令,还是CPU 的ALU 在执行以-895 作为参数的相应机器指令时是否并存储在内存位置?
当编译如下所示的一行代码(X86)时,会生成相应的汇编指令。895 是一个 -ve 数字,以 2 的补码形式存储在 %esp 指向的内存位置。
int a = -895 --> compiler ---> movl $-895, 24(%esp)
我的疑问是,汇编程序是直接将-895 转换为2 的补码形式并生成机器指令,还是CPU 的ALU 在执行以-895 作为参数的相应机器指令时是否并存储在内存位置?