MOV AX,2000H MOW DS,AX MOC CL,4 MOV SI,2000H MOV AL,[SI+1] SI是多少?

问题描述:

MOV AX,2000H MOW DS,AX MOC CL,4 MOV SI,2000H MOV AL,[SI+1] SI是多少?

mov ax,2000H
mov ds,ax
mov cl,4
mov si,2000H
mov al,[si+1]
寄存器si中存放的就是2000H,[si+1]表示的是偏移地址,段地址默认在ds寄存器中即ds:[si+1],
对应的实际地址是2000H*16+2001H=22001H.
si+1是相对于si来的,因为内存的地址分配是一个字节为一个内存单元.ds:[si+1]就是相对于ds:[si]的下一个内存单元.
如果还不明白,你可以把整个源程序贴上来,帮你分析分析,注意别再把字符弄错了.