指出下列指出下列每天指令的寻址方式式。 (1)MOV CX,100 (2)MOV AX,25[SI]

拍照搜题秒出答案,一键查看所有搜题记录

拍照搜题秒出答案,一键查看所有搜题记录

拍照搜题秒出答案,一键查看所有搜题记录

}

前一种是寄存器寻址方式后一種是寄存器间接寻址方式。

自己找本好书看看啦!说的很清楚

出版社:清华大学出版社 


则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)错误 没有这样的格式
(2)内存操作数尋址中的寄存器相对寻址 (目的操作数)
寄存器寻址(原操作数)
(3)内存操作数寻址中的基址变址寻址
内存操作数寻址中的直接寻址
内存操莋数寻址中的基址变址寻址
(6)内存操作数寻址中的寄存器间接寻址
}

1.指出下列各指令中源操作数和目的操作数的寻址方式

(1)立即寻址寄存器寻址

(2)变址寻址寄存器寻址

(3)寄存器寻址寄存器间接寻址

(4)基址加变址寻址寄存器寻址

(5)寄存器寻址寄存器寻址

(6)直接寻址寄存器寻址

(7)基址加变址寻址寄存器寻址

(8)寄存器寻址寄存器间接寻址

(9)寄存器寻址直接寻址

(10)变址寻址寄存器寻址

(2)前者功能是把竝即数2000H送入AX中,而后者是把内存2000H单元与2001H单元的内容取出送

(3)两者的机器代码不同执行速度也不同,前者执行时间快后者执行时间慢。

}

我要回帖

更多关于 指出下列指令的寻址方式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信