汇编帮助解释cltq

时间:2011-12-09 23:21:14

标签: assembly

    movl    -60(%rbp), %eax
    cltq
    salq    $3, %rax
    movq    %rax, %rdi
    .cfi_offset 3, -24

任何人都可以解释上面的代码块意味着什么

例如salq $ 3,%rax做什么

谢谢

1 个答案:

答案 0 :(得分:1)

movl    -60(%rbp), %eax      ;load a 32 bit (int) parameter or local var from the stack
cltq                         ;sign extend to 64 bit
salq    $3, %rax             ;shift left by 3 (multiply with 8)
movq    %rax, %rdi           ;move the value (possibly an offset) to rdi

这看起来像地址计算的一部分。很难说因为很多东西都缺失了。