assume cs:code
data segment
dw 1,2,3,4,5,6,7,8
dd 0,0,0,0,0,0,0,0
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
mov di,16
mov cx,8
s:mov bx,[si]
call cube
mov [di],ax
mov [di].2,dx ->这里的DX是什么用的?
add si,2
add di,4
loop s
mov ax,4c00h
int 21h
cube:mov ax,bx
mul bx
mul bx
ret
code ends
end start
用DEBUG跟踪发现,dx的值一直是0000,如果说是为了将DATA段中的偏移地址置0,那么上面data定义的DD 8 DUP (0)不是变得没有意义了吗,并且代码中并没有定义DX的值,这个想不明白,恳请各位老师指点一下,谢谢! |