回 帖 发 新 帖 刷新版面

主题:一道汇编题

start dw 10h,20h,30h,40h
ee1 dw 3
    mov bx,offset start
    add bx,ee1
    mov ax,[bx]
最后AX的内容为什么会是3000H?为什么不是0040H?

回复列表 (共4个回复)

沙发


为什么是3000h就不知道
但绝不会是40h
因为start 的数据是dw的,所以移的时候每一个单位要移2,所以如果想要40h的话
add bx,6才对。我认为如此

板凳

谢谢,我胡嘟了。。。想取最后一个还要offset...
还有数据居然放到代码里去了,你看来没学好

3 楼


他就那么一些罢了,难道start后面就必须是代码?不过是个标号么。
楼上要有好方法说出来就行了,大家都可以学学,哪那么多别的话?

4 楼

我想明白了,的确是3000H。因为START定义的是字,所以占二个单元,BX经过加3后,指针应该指在存放00H的单元,加上取的是字,下一下单元的内容是30H,所以(AX)=3000H。

还有请问二楼的大虾,我哪里把数据放到了代码段里去了?请指出,谢谢。

我来回复

您尚未登录,请登录后再回复。点此登录或注册