美文网首页CSAPP_3e
加载有效地址指令leap

加载有效地址指令leap

作者: 橡树人 | 来源:发表于2020-07-03 09:23 被阅读0次

指令描述

leap 源操作数S, 目标操作数D

作用:
拷贝源操作数表示的有效地址到目标操作数,即D\leftarrow \&S

注意:

  • 目标操作数必须是寄存器

示例

源文件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

相关文章

  • 加载有效地址指令leap

    指令描述 作用:拷贝源操作数表示的有效地址到目标操作数,即 注意: 目标操作数必须是寄存器 示例 源文件scale...

  • 2018-11-11 CSAPP 第三章读书笔记part2

    3.5算数和逻辑操作 3.5.1加载有效地址 加载有效地址(load effective address)指令le...

  • 程序的机器级表示 -- 算数和逻辑操作(一)

    《深入理解计算机系统(第三版)》阅读随笔 加载有效地址 加载有效地址指令 leaq(load effective ...

  • 汇编lea命令

    lea命令为加载有效地址(load dffective address) 和mov用法一样。指令并不是从制定的位置...

  • 《深入浅出计算机组成原理》笔记二

    指令周期 1.Fetch(取得指令),从 PC 寄存器里找到对应的指令地址,根据指令地址从内存里把具体的指令,加载...

  • ARM汇编之加载地址到寄存器

    有这几种方式可以加载地址到寄存器: 使用ADR汇编指令 使用ADRL伪指令 使用MOV32伪指令 使用LDR Rd...

  • lea

    Load effect address 取有效地址,也就是取偏移地址,地址传送指令之一 8086有20位物理地址,...

  • X86 Assemble指令--LEA

    LEA指令描述 LEA指令 LEA指令用来计算第二个操作数(源操作数)的有效地址,并且将该地址保存到第一个操作数(...

  • 12_unity+LeapMotion

    安装方式 地址:https://developer.leapmotion.com/unityCore 包Leap ...

  • 指令

    指令格式 一般有四地址指令、三地址指令、二地址指令、一地址指令、和零地址指令 数据寻址的方式 1. 立即寻址:形式...

网友评论

    本文标题:加载有效地址指令leap

    本文链接:https://www.haomeiwen.com/subject/xumjqktx.html