📄 南维双.txt
字号:
;折线和矩形框,要用到关于直线的算法。
;好好看吧!
data segment
x0 dw ?
y0 dw ?
k1 dw?
x1 dw ?
y1 dw ?
x2 dw ?
y2 dw ?
data ends
draw_zhexian proc near
push ax
push bx
push cx
push dx
wwr1:
mov ax,0005h
mov bx,0h
int 33h
cmp ax,1
jne wwr1
wwr2:
mov ax,0006h
mov bx,0h
int 33h
cmp ax,0
jne wwr2
mov x1,cx
mov y1,dx
cmp cx,143
jl wwr1
wwr3:
mov ax,0005h
mov bx,0h
int 33h
cmp ax,2
je wwrexit
cmp ax,1
jne wwr3
wwr4:
mov ax,0006
mov bx,0h
int 33h
cmp ax,0
jne wwr4
mov ax,2
int 33h
mov x2,cx
mov y2,dx
call linem
wwrx2:
mov ax,x2
mov x1,ax
mov bx,y2
mov y1,bx
mov ax,1
int 33h
jmp wwr3
wwrexit:
pop dx
pop cx
pop bx
pop ax
ret
draw_zhexian endp
draw_juxing proc near
push ax
push bx
push cx
push dx
k1p:
mov ax,1
int 33h
lookmouse2 x1,y1
mov ax,x1
cmp ax,143
jl k1p
lookmouse2 x2,y2
mov ax,2
int 33h
mov ax,x2
cmp ax,x1
je exitt
cmp ax,x1
jl k2j
call hang1
jmp next
k2j:
mov ax,x1
xchg ax,x2
mov x1,ax
call hang1
next:
mov ax,y2
cmp ax,y1
je exitt
cmp ax,y1
jg k3e
call li1
jmp exitt
k3e:
mov ax,y1
xchg ax,y2
mov y1,ax
call li1
exitt:
mov ax,1
int 33h
;mov ax,3
;int 33h
;cmp bx,1
;je zyh
;zyh:jmp k1p
pop dx
pop cx
pop bx
pop ax
ret
draw_juxing endp
hang1 proc near
mov cx,x1
mov dx,y1
h1:
mov ah,0ch
mov al,color
int 10h
Inc cx
cmp cx,x2
jne h1
mov cx,x1
mov dx,y2
h2:
mov ah,0ch
mov al, color
int 10h
inc cx
cmp cx,x2
jne h2
ret
hang1 endp
li1 proc near
mov cx,x1
mov dx,y2
l1:
mov ah,0ch
mov al, color
int 10h
inc dx
cmp dx,y1
jne l1
mov cx,x2
mov dx,y2
l2:
mov ah,0ch
mov al,color
int 10h
inc dx
cmp dx,y1
jne l2
ret
li1 endp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -