您是否被允许与LEA进行抽象通话,如:
LEA [x], [y]
Run Code Online (Sandbox Code Playgroud)
其中x和y是有效的寄存器或地址.前几天有人问我,我不知道.加载有效地址将加载到地址x的包含值指向的地址,我想.如果这种代码方式有效,那会怎样呢?
不.唯一有效的LEA形式是LEA register, memory.(即目标操作数必须是寄存器).有关此问题的详尽参考,请参阅英特尔64和IA-32架构软件开发人员手册的第2卷.
序列:
LEA reg, [y]
MOV [x], reg
Run Code Online (Sandbox Code Playgroud)
相当于你的假设指令; 这不是一个非常有用的序列,但它也没有用处.除此之外,它还可用于存储直接引用结构或数组成员的指针.