下面的代码为什么执行
mov es:[bx],cl
mov es:[bx+1],dl
的时候写入的并不是cl,dl的值呢????
assume cs:code,ds:data
data segment
db 'welcome to masm!',0
data ends
code segment
start:
mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str:
mov ax,0b800h
mov es,ax
mov bx,ax
mov al,0ah
mul dh
mov dh,0
add bx,ax
add bx,dx
mov dl,cl
s:
mov cl,[si]
mov ch,0
jcxz ok
mov es:[bx],cl
mov es:[bx+1],dl
inc si
add bx,2
jmp short s
ok:
ret
code ends
end start |