加載有效地址指令leap

指令描述

leap 源操作數(shù)S, 目標(biāo)操作數(shù)D

作用:
拷貝源操作數(shù)表示的有效地址到目標(biāo)操作數(shù),即D\leftarrow \&S

注意:

  • 目標(biāo)操作數(shù)必須是寄存器

示例

源文件scale.c

long scale(long x, long y, long z)
{
    long t = x + 4 * y + 12 * z;
    return t;
}

匯編碼

leaq    (%rdi,%rsi,4), %rcx
leaq    (%rdx,%rdx,2), %rax
salq    $2, %rax
addq    %rcx, %rax
ret

源文件scale3.c

long scale3(long x, long y, long z)
{
    long t = 10 * y + z + y * x;
    return t;
}

匯編碼

leaq    (%rsi,%rsi,4), %rcx
addq    %rcx, %rcx
addq    %rdx, %rcx
imulq   %rdi, %rsi
leaq    (%rcx,%rsi), %rax
ret
問題3.6.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容