汇编关于LEA的一条指令

来源:百度知道 编辑:UC知道 时间:2024/06/11 00:12:55
从0100H和010A单元开始存放分别存放两个字符数~~

LEA SI,0100H
LEA DI,0114H

这样传对吗?还是要

LEA SI,[0100H]
LEA DI,[0114H]

LEA SI,[0100H]
LEA DI,[0114H] 这个事正确的,因为带方括号的指的是取其中的内容,而LEA SI,0100H
LEA DI,0114H 指的是把立即数送给SI或DI,是错误的,无法编译

取有效地址指令LEA(Load Effective Address),把一个内存变量的有效地址送给指定的寄存器。其指令格式如下:
LEA Reg, Mem
该指令通常用来对指针或变址寄存器BX、DI或SI等置初值。

LEA SI,0100H
LEA DI,0114H
肯定是错误的,不会通过编译。要用:
LEA SI,[0100H]
LEA DI,[0114H]

LEA 的源操作数(第二个操作数)必须是内存寻址方式
不可以是立即数寻址方式和寄存器寻址方式

用mov的话可以直接
mov si,0100h
mov di,0114h
lea就不行了


何不直接mov si,0100h

LEA SI,0100H
LEA DI,0114H
是正确的