拍照搜题秒出答案,一键查看所有搜题记录
拍照搜题秒出答案,一键查看所有搜题记录
拍照搜题秒出答案,一键查看所有搜题记录
前一种是寄存器寻址方式后一種是寄存器间接寻址方式。
自己找本好书看看啦!说的很清楚
出版社:清华大学出版社
则bx中装的是buffer的偏移量,[bx]中是该偏移地址中存放的內容
建议你自己跟踪一下DEBUG执行看看就很清楚了,很多问题其实只要自己时间一下就很简单了
mov ax,bx;就是将bx寄存器里的内容赋给ax寄存器,比如原先bx寄存器内的值时4444h执行该指令后,ax寄存器里的值就是4444h
mov [ax],bx;其实是可以把ax寄存器看作一个指针,ax寄存器的内容看作是一个地址值[ax]其实昰该地址指向的内存单元。该指令是把bx寄存器里的内容赋给一个内存单元{由[ax]指向}当然,ax寄存器里的内容不是该单元的实际地址而是偏迻地址。实际地址是ax与dx寄存器里的值相加的结
但是非常抱歉[ax]的写法是非法的,ax不能作为指针寄存器
[BX]又是做什么用的呢!
这个指令是合法的,你说通不过可能是因为你在debug下直接汇编这样是会出现error的。mov [bx],ax bx寄存器里存放的不是绝对地址而是相对地址,就如楼上的说的[bx]这种引用方法叫寄存器间接寻址方式。
错了错了,错了。。。。。。
这个指令不合法,因为ax不可以用作寄存器间接寻址方式但是bx,bp,si
大家都没错,在8086下只有BXBP,SIDI可以做变址,但从386以后除了ESP外所有的寄存器都可以做变址寄存器包括ESP在内的所有寄存其都可以做基址寄存器
这是386强大方便的地方,所以大家学汇编不要拘泥于以前8086而多研究386以后的保护模式,毕竟DOS已经淘汰了
1.指出下列各指令中源操作数和目的操作数的寻址方式
(1)立即寻址寄存器寻址
(2)变址寻址寄存器寻址
(3)寄存器寻址寄存器间接寻址
(4)基址加变址寻址寄存器寻址
(5)寄存器寻址寄存器寻址
(6)直接寻址寄存器寻址
(7)基址加变址寻址寄存器寻址
(8)寄存器寻址寄存器间接寻址
(9)寄存器寻址直接寻址
(10)变址寻址寄存器寻址
(2)前者功能是把竝即数2000H送入AX中,而后者是把内存2000H单元与2001H单元的内容取出送
(3)两者的机器代码不同执行速度也不同,前者执行时间快后者执行时间慢。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。