MOV AX,[BX]与MOV AX,BX有什么区别

作者&投稿:嬴诸 (若有异议请与网页底部的电邮联系)
汇编语言 mov ax,bx和mov ax,[bx]功能上有什么区别?~

mov bx,ax,把AX的值赋予BX比如AX=1234,BX=1000那么执行后AX=BX=1234
mov [bx],ax把AX的值赋予BX所指向的内存单元比如AX=1234,BX=1000
DS:1000内容为1111那么执行后AX=1234,BX=1000,DS:1000的内容为1234

不一样。很不一样。[bx]中存放着的是内容。bx的代表的是地址。就像C语言的指针一样。

我们这样来讲吧,假如BX是一个存储器指针,其指向一个内存地址,而BX则为该地址的内存数据,这样的话就属于存储器间接寻址。mov AX, [BX]是把该地址的数据传给AX,而mov AX, BX则是将内存地址传给AX,两者还是有一定区别的。

mov AX, [BX]是把该地址的数据传给AX,而mov AX, BX则是将内存地址传给AX,两者是不同的。

后者的意思是 将BX里的内容送到AX里去,这个应该没问题吧; 前者的意思是 将BX里的内容当作内存地址,然后将该地址所指的内存单元里的东西取出来送到AX里去,比如说BX=0x1000,那么指令执行完后,AX等不等于0x1000呢? 不等! 而是到内存单元里去取数送到AX里去,那么到底取哪个单元里的内容呢? 地址为0x1000单元里的内容将被取出来送AX

mov ax,[bx]是将bx中存放的数据作为一个偏移地址EA,段地址SA默认在ds中,将SA:EA中的数据送入ax中,mov ax,bx是将bx寄存器中的数据直接送入ax中

mov bx,ax,把AX的值赋予BX比如AX=1234,BX=1000那么执行后AX=BX=1234
mov [bx],ax把AX的值赋予BX所指向的内存单元比如AX=1234,BX=1000
DS:1000内容为1111那么执行后AX=1234,BX=1000,DS:1000的内容为1234


灵寿县19689056921: MOV AX,BX与MOV AX,[BX]功能上有什么区别? -
樊施曲普: 不一样.很不一样.[bx]中存放着的是内容.bx的代表的是地址.就像C语言的指针一样.

灵寿县19689056921: MOV AX,[BX]与MOV AX,BX有什么区别 -
樊施曲普: 假如BX是一个存储器指针,其指向一个内存地址,而[BX]则为该地址的内存数据,属于存储器间接寻址. mov AX, [BX]是把该地址的数据传给AX,而mov AX, BX则是将内存地址传给AX,两者是不同的. 可以用C语言作类比: 假如p是一个指针变量,那么p存储的数据就只能是地址(相当于上例中的BX),如:int *p; p = &a; 而对p进行解引用操作后,实际上指的是指针p指向的内存单元的数据(相当于上例中的[BX]),这里的*p也就是a.*p也是间接寻址.

灵寿县19689056921: 下列指令中,源操作数的寻址方式为基址寻址的指令有? -
樊施曲普: (1) MOV AX,[0100H] ;直接寻址 (2) MOV AX,[BX] ;寄存器间接寻址 (3) MOV AX.ES:[BX] ;寄存器间接寻址 (4) MOV AX,[BP] ;基址寻址 (5) MOV AX,[BX+10H] ;相对基址寻址 (6) MOV AX,VAL[BX] ;相对基址寻址 (7) MOV AX,[BX][SI] ;基址变址寻址 (8) MOV AX,VAL[BX][SI] ;相对基址变址寻址 (9) MOV AX,ES:VAL[SI] ;相对变址寻址 (10)MOV AX,BX ;寄存器寻址

灵寿县19689056921: 汇编语言 mov ax,bx和mov ax,[bx]功能上有什么区别?
樊施曲普: 执行结果一样只能说碰巧 bx所指向地址单元的内容和bx的内容一样 但是这两条指令的含义是不同的

灵寿县19689056921: 请问 在汇编中的两条语句 mov ax,es:bx 与 mov ax,es:[bx]中的 bx 分别代表什么意思? -
樊施曲普: 这两句中的bx意思相同,都是将bx作为间址寄存器的,这两句的结果都是将偏移地址为bx中内容的连续的两个内存单元中的内容作为一个字传入ax中!! 我已经验正了!!

灵寿县19689056921: 求教:MOV AX,[AX],MOV BX,[BX],MOV CX,[CX],MOV DX,[DX]四条指令,哪条是正确的?为什么? -
樊施曲普: MOV BX,[BX]是正确的,因为只有BX寄存器可以用作间接寻址.

灵寿县19689056921: 微机原理MOV指令的选择题,因该选择哪个答案? 4.下列MOV指令中,不正确的指令是(). -
樊施曲普:[选项] A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 选哪个,为什么?

灵寿县19689056921: 汇编语言中,关于mov ax,[bx] 和mov al,[bx]的一些疑惑. -
樊施曲普: mov ax,[bx]将ffff:0中和ffff:0001中的值一起放到ax中 mov al,[bx]将ffff:0放到al中

灵寿县19689056921: 汇编中,mov ax,bx 和 mov ax,【bx】 他们的有效地址和物理地址分别是多少?如果其中的 bx换成bp呢?(bx)=1290 h (ds)=2e92 h (ss)=2030h (bp)= 6756h -
樊施曲普: mov ax,bx ; ax=1290h mov ax,[bx] ; ax=地址1290h处的内容

灵寿县19689056921: 8086在执行mov ax,0001[bx]和mov ax,[bx+1]有什么区别,依次执行时为什 -
樊施曲普: mov ax,0001[bx]和 mov ax,[bx+1]有什么区别 --是相同的.--你可以看看它们的机器码.依次执行时为什么内存会有变化 --没有内存的事.--要看 AX.--AX 应该是相同的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网