mov bx,ax和mov [bx],ax的不同

qdxby 2002-05-04 06:14:07
其实也就是我不明白,bx和[bx]的不同,多谢!
...全文
4034 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
ydaye 2002-05-12
  • 打赏
  • 举报
回复
哦,原来如此,长知识了,多谢多谢。
wowocock 2002-05-12
  • 打赏
  • 举报
回复
大家都没错,在8086下只有BX,BP,SI,DI可以做变址,但从386以后除了ESP外所有的寄存器都可以做变址寄存器,包括ESP在内的所有寄存其都可以做基址寄存器
这是386强大方便的地方,所以大家学汇编不要拘泥于以前8086,而多研究386以后的保护模式,毕竟DOS已经淘汰了。
ydaye 2002-05-11
  • 打赏
  • 举报
回复
呵呵,终于知道啦?
archer101 2002-05-11
  • 打赏
  • 举报
回复
错了,错了,错了。。。。。。。。。。。。。
这个指令不合法,因为ax不可以用作寄存器间接寻址方式,但是bx,bp,si
和di 可以
archer101 2002-05-11
  • 打赏
  • 举报
回复
to ydaye(ydaye):
这个指令是合法的,你说通不过可能是因为你在debug下直接汇编,这样是会出现error的。mov [bx],ax bx寄存器里存放的不是绝对地址,而是相对地址,就如楼上的说的,[bx]这种引用方法叫寄存器间接寻址方式。
XIAOBUDIAN2 2002-05-11
  • 打赏
  • 举报
回复
bx 是做什么用的呢?
[BX]又是做什么用的呢!
MOV [BX],AX;BX是可以用做寄存器间接寻址的!
自己解决是最好的?
小树


ydaye 2002-05-10
  • 打赏
  • 举报
回复
但是非常抱歉,[ax]的写法是非法的,ax不能作为指针寄存器。
archer101 2002-05-10
  • 打赏
  • 举报
回复 1
mov ax,bx;就是将bx寄存器里的内容赋给ax寄存器,比如原先bx寄存器内的值时4444h,执行该指令后,ax寄存器里的值就是4444h。
mov [ax],bx;其实是可以把ax寄存器看作一个指针,ax寄存器的内容看作是一个地址值,[ax]其实是该地址指向的内存单元。该指令是把bx寄存器里的内容赋给一个内存单元{由[ax]指向}。当然,ax寄存器里的内容不是该单元的实际地址,而是偏移地址。实际地址是ax与dx寄存器里的值相加的结
果(dx:ax)。

比如,dx=1000h,ax=123h,bx=999h,执行该指令后,bx的值赋给了dx:ax指向的内存单元。即地址值为1123h的内存单元值变为了999h.
wowocock 2002-05-07
  • 打赏
  • 举报
回复
建议你自己跟踪一下,DEBUG执行看看就很清楚了,很多问题其实只要自己时间一下就很简单了。
giantzz 2002-05-07
  • 打赏
  • 举报
回复
建议你看看书
qdxby 2002-05-06
  • 打赏
  • 举报
回复
那就只有一句指令
mov ax,bx
那么[ax]是什么呀
wowocock 2002-05-06
  • 打赏
  • 举报
回复
对,就那么简单。
Lesily 2002-05-05
  • 打赏
  • 举报
回复
前一种是寄存器寻址方式。后一种是寄存器间接寻址方式。
自己找本好书看看啦!说的很清楚。
书名:《IBM-PC 汇编语言程序设计》
沈美明 温冬婵 编著
出版社:清华大学出版社
书号:ISBN 7-302-00829-9
qdxby 2002-05-05
  • 打赏
  • 举报
回复
lea bx,buffer
则bx中装的是buffer的偏移量,[bx]中是该偏移地址中存放的内容
是这样理解吗

e_board 2002-05-05
  • 打赏
  • 举报
回复
机器猫说的很对;我非长赞同。
wowocock 2002-05-05
  • 打赏
  • 举报
回复
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
就那么简单
atlantis13579 2002-05-04
  • 打赏
  • 举报
回复
前一个是bx内容,后一个是bx指向的地址
giantzz 2002-05-04
  • 打赏
  • 举报
回复
单就问题看,是寻址方式的不同!

21,496

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧