下面的代码可让您使用鼠标在屏幕上绘图,并且工作完美。我的问题是为什么CX
需要除以2?为什么它首先加倍?
code segment
main proc far
mov al, 12h
mov ah, 0 ; set graphics video mode.
int 10h
mov ax, 1 ;shows mouse cursor
int 33h
Next:
mov ax, 3 ;get cursor positon in cx,dx
int 33h
call putpix ;call procedure
jmp Next
mov ah,4ch
int 21h
main endp
;procedure to print
putpix proc
mov al, 7 ;color of pixel
mov ah, 0ch
shr cx,1 ; cx will get double so we divide it by two
int 10h ; set pixel.
ret
putpix endp
code ends
答案 0 :(得分:1)
EMU8086的下一个屏幕截图和您的代码将帮助我们了解正在发生的事情:
shr cx,1
)。
答案 1 :(得分:1)