很多地方都这样写 LEA BX ,[SI] 为什么不写成 MOV BX,SI.这两种写法不是等价的吗?
来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/09/30 03:26:34
很多地方都这样写 LEA BX ,[SI] 为什么不写成 MOV BX,SI.这两种写法不是等价的吗?
这两条指令完全不一样,MOV BX,SI,只是两个寄存器的传送,把SI的值传送给BX,而LEA BX,[SI]中[SI]是个存储器,它是把该存储器的偏移地址送BX
再问: http://baike.baidu.com/view/4271988.htm百度百科中的一段话: 例1 假设:SI=1000H 执行指令 LEA BX , [SI]后,BX=1000H ////////////////////////// 用MOV BX,SI执行后,BX的内容也是 1000h...
再答: 这只是巧和,[SI]这个内存单元的偏移地址正好是SI寄存器的内容,这样就把SI的内容附给BX了,和MOV BX,SI的含义完全不同,如我们可以写指令LEA BX,[SI+5] ,这是偏移地址就是SI+5为1005H,前者是把内存的偏移地址取出来,后面就是直接寄存器传输。
再问: "这只是巧和,[SI]这个内存单元的偏移地址正好是SI寄存器的内容," /////////////////////////////// 我认为: [SI]这个内存单元的偏移地址 永远是SI寄存器的内容.. 原因: 在8086中[si]的段地址在DS中,偏移地址在si中 所以 LEA BX ,[SI] 和 MOV BX,SI 等价。。。
再答: 等价的概念不仅仅在值上是相同的,应该在功能上是相同的,LEA BX,[SI]的等价指令可写成 MOV BX,OFFSET [SI] 不仅值是相同的,功能也是相同。
再问: http://baike.baidu.com/view/4271988.htm百度百科中的一段话: 例1 假设:SI=1000H 执行指令 LEA BX , [SI]后,BX=1000H ////////////////////////// 用MOV BX,SI执行后,BX的内容也是 1000h...
再答: 这只是巧和,[SI]这个内存单元的偏移地址正好是SI寄存器的内容,这样就把SI的内容附给BX了,和MOV BX,SI的含义完全不同,如我们可以写指令LEA BX,[SI+5] ,这是偏移地址就是SI+5为1005H,前者是把内存的偏移地址取出来,后面就是直接寄存器传输。
再问: "这只是巧和,[SI]这个内存单元的偏移地址正好是SI寄存器的内容," /////////////////////////////// 我认为: [SI]这个内存单元的偏移地址 永远是SI寄存器的内容.. 原因: 在8086中[si]的段地址在DS中,偏移地址在si中 所以 LEA BX ,[SI] 和 MOV BX,SI 等价。。。
再答: 等价的概念不仅仅在值上是相同的,应该在功能上是相同的,LEA BX,[SI]的等价指令可写成 MOV BX,OFFSET [SI] 不仅值是相同的,功能也是相同。
很多地方都这样写 LEA BX ,[SI] 为什么不写成 MOV BX,SI.这两种写法不是等价的吗?
LEA DX,[BX+SI]为什么错了
已知SI=1200H,DS:[1205H]=1234H,试说明指令MOV BX,5[SI]和LEA BX,5[SI]的区
AX,[BX+SI] 和MOV AX,OFFSET [BX+SI]的区别吗
MOV AX,[BX][SI]是什么意思
LEA BX,[BX+20H] [SI]
MOV SI,OFFSET SOURCE 是不是等价于 LEA SI,SOURCE ,结果是不是相同,如果不同有何差异
指出下列指令的错误 1.MOV AH,BX 2.MOV [BX],[SI] 3.MOV AX,[SI][DI] 4.MO
1.MOV [BX],SI 2.MOV CX,AX 3.LEA BL,A 4.MOV BL,200H 5.LEA DI,
指令MOV AX,3[BX] ,MOV AX,2[BX+SI] 中的3[BX] 2[BX+SI]是什么意思
MOV AX,[BX+SI+0002H] ;设BX=000FH,SI=000FH 怎样计算它的物理地址
指出下列源操作数的寻址方式:1、mov bx,2000h 2、mov bx,[2000h] 3、mov bx,[si]