`

lea指令

 
阅读更多

资料一

lea   是机器指令,offset   是伪指令。

 

LEA  BX,  BUFFER  ;在实际执行时才会将变量buffer的地址放入bx 

MOV  BX, OFFSET BUFFER ;在编译时就已经计算出buffer的地址为4300(假设),然后将上句替换为: mov bx,4300

 

lea可以进行比较复杂的计算,比如lea   eax,[esi+ebx*4],把ebx的值*4,加上esi的值,存入eax中。
mov就不行了。

OFFSET只能取得用"数据定义伪指令"定义的变量的有效地址,不能取得一般操作数的有效地址(摘自80x86汇编语言程序设计教程)
MOV   BX,OFFSET   [BX+200]这句是错误的     应该用LEA   BX,[BX+200]

 

lea   eax,[ebp]
说明: eax得到ebp指向的堆栈内容的偏移地址, 和寄存器ebp的值是相同的

 

资料二

lea:load effect address. 取得第二个参数的有效地址(也就是去偏移地址)后放入到前面的寄存器(第一个参数)中。
然而lea也同样可以实现mov的操作,例如:
                                  lea edi,[ebx-0ch]
方括号表示存储单元,也就是提取方括号中的数据所指向的内容,然而lea提取内容的地址,这样就实现了把(ebx-0ch)放入到了edi中,但是mov指令是不支持第二个操作数是一个寄存器减去一个数值的。

分享到:
评论

相关推荐

    inout、jmp、lea、lods指令演示

    通过选择要播放的指令演示inout指令基本功能、段间间接转移jmp指令、有效地址传送lea指令及串读取指令

    80x86指令使用实验

    3.使用列子说明mov指令和lea指令的不同以及相同之处 4.将dx、ax两个寄存器组合构成32位数据(dx中是高位)实现rol和rcr移位。 5.在debug中定义内存单元如下,统计其中0的个数; 6.使用例子说明求操作数的补码和相反...

    汇编语言指令系统、伪指令

    LEA、LDS、LES 标志传送指令 LAHF、SAHF、PUSHF、POPF  查表转换指令 XLAT   算术   运算   指令 二进制加法指令 ADD、ADC 加1指令INC 二进制减法指令 SUB、SBB指令、CMP、DEC、...

    汇编语言代 码 风 格(Code style).chm

    ● 对局部变量的地址引用要用lea指令或用addr伪操作,全局变量要用offset;对局部变量的使用要特别注意初始化问题。如何在定义中区分全局变量、局部变量和参数? ● 汇编的源代码占用的行数比较多,代码行数很容易...

    _3.2数据传送指令下lea-flag与算术逻辑加减乘法汇总.pptx

    _3.2数据传送指令下lea-flag与算术逻辑加减乘法汇总.pptx

    数据传送指令与算术逻辑运算和移位指令的使用

    3.目的地址传送指令: LEA,LDS,LES 4. 标志位传送指令: LAHF,SAHF,PUSHF,POPF 二 使用算术逻辑运算和移位指令,可以实现对二进制数据的加、减、乘、除等四则运算,与、或、非、异或等逻辑运算,以及移位运算和...

    8086寻址方式及指令系统

    第三章 8086/8088的寻址方式和指令系统 练习题 一.单项选择题 1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为( )。 A.5000H B.5008H C.23008H D.32008H 2.设DS=1000H,ES=2000H,BX=...

    汇编语言各种指令的解释与用法

    汇编语言各种指令的解释与用法 数据传输指令: 1.传输指令 mov ,进栈指令 push 交换指令 XCHG 输入指令 in 输出指令 out 换码指令 xlat 有效地址传输指lEA 等等汇编指令介绍

    AT&T汇编指令精简介绍

    好不容易找了一篇稍全面又简洁的指令集介绍 add,mov(bwl),test,sub,shr,cmp,lea,je,jne,ja,jb 列出来帮助搜索

    x86架构汇编指令介绍

    文中介绍了汇编指令add, sub, mul, div, inc, dec, cmp, and, or, xor, not, shl, shr, rol, ror, jmp, call, ret, push, pop, mov, lea, nop, xchg, test, fld, fst, fadd, fsub, fmul, fdiv, fist, fistp, fxch, ...

    汇编指令(chm格式)

    一、数据传输指令 ─────────────────────────────────────── 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. ...

    ibm-pc汇编课件 第二版

    LEA、LDS、LES 标志寄存器传送指令 LAHF、SAHF、PUSHF、POPF 类型转换指令 3.3 8086/8088 CPU的指令系统 3.3.1 数据传送指令 8086/8088有4类传送指令,分别是通用传送指令、累加器专用传送指令、地址传送指令和...

    计算机组成原理课设任务书

    该系统在基本模型机的基础上改进并实现IN,OUT,CLR,MOV,ADD,SUB,XOR,OR,LEA,STA,JMP,BZC等指令的功能。最终通过模型机的设计和调试,连贯运用计算机组成原理课程学到的知识,建立计算机整机概念,加深对计算机...

    计算机系统基础第二次作业.doc

    (1)mov 8(%ebp, %ebx, 4), %ax (2)mov %al, 12(%ebp) (3)add ( , %ebx,4), %ebx (4)or (%ebx), %dh (5)push $0xF8 (6)mov $0xFFF0, %eax (7)test %cx, %cx (8)lea 8(%ebx, %esi), %eax 答:如下表...

    计算机系统基础第二次作业(1).doc

    (1)mov 8(%ebp, %ebx, 4), %ax (2)mov %al, 12(%ebp) (3)add ( , %ebx,4), %ebx (4)or (%ebx), %dh (5)push $0xF8 (6)mov $0xFFF0, %eax (7)test %cx, %cx (8)lea 8(%ebx, %esi), %eax 答:如下表...

    计算机组成原理课设

    该系统在基本模型机的基础上改进并实现IN,OUT,CLR,MOV,ADD,SUB,XOR,OR,LEA,STA,JMP,BZC等指令的功能。最终通过模型机的设计和调试,连贯运用计算机组成原理课程学到的知识,建立计算机整机概念,加深对计算机...

    汇编语言程序设计.林邦杰.陈明

    4-4 有效地址送寄存器指令LEA 4-5 指针送寄存器指令LDS及LES指令 4-6 压入PUSH及弹出POP指令 4-7 存储寄存器PUSHA及POPA指令 4-8 标志寄存器传送PUSHF及POPF指令 4-9 没有运算的NOP指令 课后习题 第5章 基本输入与...

    汇编语言程序设计练习

    4、假定DS=2000H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令中源操作数字段是什么寻址方式?它的物理地址是多少?(2.2)  (1)MOV AX,100H (2)MOV AX,[100H]  (3)...

    汇编字符串比较

    输入字符串,可以比较两个字符串,其中用到CMP,还有LEA等汇编指令

    三级pc上机题库答案

     填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。 对程序必须进行汇编,...

Global site tag (gtag.js) - Google Analytics