第三章的检测题的第3题
能够将ax中的内容送到内存0000:0200H处的指令序列是____。
1、 mov ds,0
mov bx,200h
mov [bx],ax
2、 mov ax,200h
mov ds,ax
mov bx,0
mov [bx],ax
3、 mov ax,20h
mov ds,ax
mov bx,0
mov [bx],ax
4、 mov bx,20h
mov ds,bx
mov bx,0
mov [bx],ax
答案选择第4个。我是用排除法选择的。
第1选择 直接给ds赋值是错误的。
第2选择 算出来得地址,肯定不是0200
第3选择 修改了ax的值,
所以选择第4。
但是我搞不明白的就是,第4选择,我查了一下 [bx]的用法,
说mov [bx],ax的意思是将ax的值付给 ds:bx内容作为偏移地址。
那么,我们来确定一下第4选择执行的时候的寄存器的变化:
ax bx ds
mov bx,20h ax值不变 0020H
mov ds,bx ax值不变 0020H 0020H
mov bx,0 ax值不变 0000H 0020H
mov [bx],ax ax值不变 0020H
那么,ds:[bx]代表的地址是 0020:0000H,并非题目要求的0000:0200H!
所以,问题出在对[bx]理解上?
[bx]到底代表什么意思? |