求讲一道汇编题(mov [SI] EAX操作等)

3.1假设(EAX)=9823F456H,(ECX)=1F23491H,(BX)=348CH,(SI)=2000H,(DI)=4044H。在DS段中从偏移地址4044H单... 3.1 假设(EAX)=9823F456H,(ECX)=1F23491H,(BX)=348CH,(SI)=2000H,(DI)=4044H。在DS段中从偏移地址4044H单元开始的4个字节单元中,依次存放的内容为92H,6DH,0A2H和4CH,试问下列各条指令执行完后的目的地址及其中的内容是什么?
(1) MOV [SI],EAX
(2) MOV [BX],ECX
(3) MOV EBX,[DI]
答:(1) 目的地址为DS:2000H,内容依次为:56H,0F4H,23H和98H
(2) 目的地址为DS:348CH,内容依次为:91H,34H,0F2H和01H
(3) 目的操作数为EBX寄存器,(EBX)=4CA26D92H

求讲清楚为什么。。。
还有mov [ ],EAX等左边加方括号是什么操作?
展开
 我来答
溺水的剑鱼
2015-04-26 · TA获得超过277个赞
知道答主
回答量:34
采纳率:0%
帮助的人:9.7万
展开全部
  三条语句都是MOV传送指令,都是内存与寄存器之间数的传送。EAX,ECX,EBX都是32位的通用寄存器,BX,SI,DI都是16位的寄存器。

  三条语句的作用如下:
  (1)MOV [SI],EAX
  本句的作用是把EAX寄存器中的数据9823F456H存入首地址为[SI]的内存中。[SI]指的是一个内存单元(偏移地址存储于SI寄存器中,段基址默认存储在DS中,因此[SI]表示的是DS:[SI]即DS:2000H内存单元)
  由于一个内存单元只能存储2位16进制数,因此用4个内存单元存储9823F456H,数据低位存入低位地址内存,数据高位存入高位地址内存,从内存单元DS:2000H开始存储,因此4个内存单元地址从低到高分别为56H,0F4H,23H和98H。
  (2) MOV [BX],ECX
  本句语法与(1)一致,因此不作解释,作用类似于(1)。作用是把ECX寄存器中的数据1F23491H存入首地址为[BX]的内存中。
  (3) MOV EBX,[DI]
  本句的作用是把[DI]内存单元中的数据也就是起始单元为DS:[4044H]的4个字节单元中的数据92H,6DH,0A2H和4CH按照低位到高位(最低位数据为92H,最高位数据为4CH)存入EBX寄存器中(32位寄存器EBX可以存储8位十六进制数据)。

  关于问题:mov [ ],EAX等左边加方括号是什么操作?
  [ ]表示的是一个内存单元,[ ]内部为一个内存单元的偏移地址。
  方括号内如果是一个寄存器如[BX],那么表示寄存器BX内存储着内存单元的偏移地址;如果方括号内是一个数值,如[25H],则表示此内存单元的偏移地址为25H。一般默认内存单元的段基址是存储在DS段寄存器中的。
Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式