汇编 lea指令有啥用80386处理器的lea指令是取指针的地址 如:lea eax,[ebp-4]该指令在运行时按照ebp的值实际计算出地址放到eax中此指令用在存储局部变量但我认为这个指令没啥用,可以用mov 指令

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 05:11:23
汇编 lea指令有啥用80386处理器的lea指令是取指针的地址 如:lea eax,[ebp-4]该指令在运行时按照ebp的值实际计算出地址放到eax中此指令用在存储局部变量但我认为这个指令没啥用,可以用mov 指令

汇编 lea指令有啥用80386处理器的lea指令是取指针的地址 如:lea eax,[ebp-4]该指令在运行时按照ebp的值实际计算出地址放到eax中此指令用在存储局部变量但我认为这个指令没啥用,可以用mov 指令
汇编 lea指令有啥用
80386处理器的lea指令是取指针的地址 如:
lea eax,[ebp-4]
该指令在运行时按照ebp的值实际计算出地址放到eax中
此指令用在存储局部变量
但我认为这个指令没啥用,
可以用mov 指令代替.
直接把ebp的值减4再放到eax中,
在任何时候都没问题.
不知道我推断是不是对的,请高手纠正.
干脆解释程序用个伪指令不更好,把cpu指令弄那么庞大干啥.
4楼假的吧 250倍!那干脆全用lea算了

汇编 lea指令有啥用80386处理器的lea指令是取指针的地址 如:lea eax,[ebp-4]该指令在运行时按照ebp的值实际计算出地址放到eax中此指令用在存储局部变量但我认为这个指令没啥用,可以用mov 指令
实际上,楼主是知道这两条指令的差别的,只是觉得用lea指令有些多此一举.事实不然.
当源操作数很简单的情况下,完全可以用mov指令代替lea指令,如lea esi,Buffer,完全可以用指令mov esi,offset Buffer代替;但当源操作数稍微复杂一点的话,单用mov指令就代替不了了,至少要用到算术运算指令.指令集中提供lea指令,就是为了减少这些计算上的麻烦.
制造出来的设备、工具是为了减轻人们的劳动强度和提高工作效率.犹如,用原始的铁锅、烧柴禾能够烧菜、做饭,用煤气灶、电饭锅也能烧菜、做饭,你愿意用哪个呢?