📄 mn.asm
字号:
mov cx,x1
mov dx,y1
k3k:
mov ah,0ch
mov al,color
int 10h
cmp cx,x2
je exit3
inc cx
jmp k3k
exit3:
ret
linec endp
;...........................................
lined proc near
mov cx,x2
mov dx,y2
k4:
mov ah,0ch
mov al, color
int 10h
cmp cx,x1
je exit4
inc cx
jmp k4
exit4:
ret
lined endp
;..........................................
jsxl proc near
push cx
push dx
mov ax,y2
sbb ax,y1
mov cx,150
imul cx
cwd
mov bx,x2
sbb bx,x1
idiv bx
mov k1,ax
pop dx
pop cx
ret
jsxl endp
;.........................................
linex proc near
mov ax,x1
cmp ax,x2
jl k5j
xchg ax,x2
mov x1,ax
mov ax,y1
xchg ax,y2
mov y1,ax
k5j:
mov cx,x1
mov dx,y1
k6:
mov ah,0ch
mov al,color
int 10h
inc cx
cmp cx,x2
jne k7
jmp exit5
k7:
call jsy
mov dx,y
jmp k6
exit5:
ret
linex endp
;..............................................
jsy proc near
push dx
mov ax,k1
mov bx,cx
push cx
sbb bx,x1
imul bx
cwd
mov cx,150
idiv cx
add ax,y1
mov y,ax
pop cx
pop dx
ret
jsy endp
;--------------------------------------
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
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
;-------------------------------------------
draw_circle proc near
push ax
push bx
push cx
push dx
k10:
mov ax,1
int 33h
lookmouse2 x1,y1
mov ax,x1
cmp ax,143
jl k10
mov ax,2
int 33h
mov ah,0ch
mov al,color
mov cx,x1
mov dx,y1
int 10h
mov ax,1
int 33h
lookmouse2 x2,y2
mov ax,2
int 33h
mov ax,x1
mov yuanx ,ax
sub ax,x2
imul ax
mov cx,ax
mov bx,dx
mov ax,y1
mov yuany, ax
sub ax,y2
imul ax
add cx,ax
adc bx,dx
call sqrt
mov ax,m
mov rc,ax
call write_circle1
call write_circle2
call write_circle3
call write_circle4
mov ax,1
int 33h
pop dx
pop cx
pop bx
pop ax
ret
draw_circle endp
write_circle1 proc near
mov cx,0
mov ax,rc
mov i,ax
next1d:
mov ax,rc
mul ax
mov lowbity,ax
mov highbity,dx
sub ax,ax
mov ax,i
mul ax
sub lowbity,ax
sbb highbity,dx
mov cx ,lowbity
mov bx,highbity
call sqrt
mov temp,ax
mov ax ,yuanx
sub ax,temp
mov x1,ax
sub ax,ax
mov ax,yuanx
add ax,temp
mov x2,ax
mov ax,0
mov ax,yuany
add ax,i
mov y,ax
write x1,y
write x2,y
dec i
cmp i,0
je exitod
jmp next1d
exitod:
ret
write_circle1 endp
write_circle2 proc near
mov cx,0
mov ax,rc
mov i,ax
next1c:
mov ax,rc
mul ax
mov lowbity,ax
mov highbity,dx
sub ax,ax
mov ax,i
mul ax
sub lowbity,ax
sbb highbity,dx
mov cx ,lowbity
mov bx,highbity
call sqrt
mov temp,ax
mov ax ,yuanx
sub ax,temp
mov x1,ax
sub ax,ax
mov ax,yuanx
add ax,temp
mov x2,ax
mov ax,0
mov ax,yuany
sub ax,i
mov y,ax
write x1,y
write x2,y
dec i
cmp i,0
je exitoc
jmp next1c
exitoc:
ret
write_circle2 endp
write_circle3 proc near
mov cx,0
mov ax,rc
mov i,ax
next1e:
mov ax,rc
mul ax
mov lowbity,ax
mov highbity,dx
sub ax,ax
mov ax,i
mul ax
sub lowbity,ax
sbb highbity,dx
mov cx ,lowbity
mov bx,highbity
call sqrt
mov temp,ax
mov ax ,yuany
sub ax,temp
mov y1,ax
sub ax,ax
mov ax,yuany
add ax,temp
mov y2,ax
mov ax,0
mov ax,yuanx
sub ax,i
mov x,ax
write x,y1
write x,y2
dec i
cmp i,0
je exitoe
jmp next1e
exitoe:
ret
write_circle3 endp
write_circle4 proc near
mov cx,0
mov ax,rc
mov i,ax
next1f:
mov ax,rc
mul ax
mov lowbity,ax
mov highbity,dx
sub ax,ax
mov ax,i
mul ax
sub lowbity,ax
sbb highbity,dx
mov cx ,lowbity
mov bx,highbity
call sqrt
mov temp,ax
mov ax ,yuany
sub ax,temp
mov y1,ax
sub ax,ax
mov ax,yuany
add ax,temp
mov y2,ax
mov ax,0
mov ax,yuanx
add ax,i
mov x,ax
write x,y1
write x,y2
dec i
cmp i,0
je exit0f
jmp next1f
exit0f:
ret
write_circle4 endp
;-----------------------------------------------------
sqrt proc near
mov ax,1
mov n,ax ;ji shu
sqrt1:
mov ax,2
mul n
sub ax,1
sbb dx,0
sub cx,ax ;bei kaifangshu'low in cx
sbb bx,dx ;bei kaifangshu'high in bx
and bh,10000000b
cmp bh,0 ;pan duan shi fu wei fu
jne endsqr0 ;is-->end
push ax
mov ax,n
add ax,1
mov n,ax ;cun sqrt+1
pop ax
jmp sqrt1
endsqr0:
mov ax,n
sub ax,1
mov m,ax ;cun sqrt
ret
sqrt endp
;----------------------------------------------------
zuobiao proc near
zuobiao1 125,383
zuobiao1 125,382
zuobiao1 125,381
zuobiao1 65,383
zuobiao1 65,382
zuobiao1 65,381
zuobiao1 80,383
zuobiao1 80,382
zuobiao1 80,381
zuobiao1 95,383
zuobiao1 95,382
zuobiao1 95,381
zuobiao1 110,383
zuobiao1 110,382
zuobiao1 110,381
zuobiao1 125,383
zuobiao1 125,382
zuobiao1 125,381
zuobiao1 140,383
zuobiao1 140,382
zuobiao1 140,381
zuobiao1 155,383
zuobiao1 155,382
zuobiao1 155,381
zuobiao1 170,383
zuobiao1 170,382
zuobiao1 170,381
zuobiao1 185,383
zuobiao1 185,382
zuobiao1 185,381
zuobiao1 200,383
zuobiao1 200,382
zuobiao1 200,381
zuobiao1 215,381
zuobiao1 230,381
zuobiao1 215,382
zuobiao1 230,382
zuobiao1 215,383
zuobiao1 230,383
zuobiao1 260,383
zuobiao1 260,382
zuobiao1 260,381
zuobiao1 275,383
zuobiao1 275,382
zuobiao1 275,381
zuobiao1 290,383
zuobiao1 290,382
zuobiao1 290,381
zuobiao1 305,383
zuobiao1 305,382
zuobiao1 305,381
zuobiao1 320,383
zuobiao1 320,382
zuobiao1 320,381
zuobiao1 335,383
zuobiao1 335,382
zuobiao1 335,381
zuobiao1 351,383
zuobiao1 351,382
zuobiao1 351,381
zuobiao1 366,383
zuobiao1 366,382
zuobiao1 366,381
zuobiao1 381,383
zuobiao1 381,382
zuobiao1 381,381
zuobiao1 396,383
zuobiao1 396,382
zuobiao1 396,381
zuobiao1 411,383
zuobiao1 411,382
zuobiao1 411,381
zuobiao1 241,396
zuobiao1 242,396
zuobiao1 243,396
zuobiao1 241,411
zuobiao1 242,411
zuobiao1 243,411
zuobiao1 241,426
zuobiao1 242,426
zuobiao1 243,426
zuobiao1 241,441
zuobiao1 242,441
zuobiao1 243,441
zuobiao1 241,456
zuobiao1 242,456
zuobiao1 243,456
zuobiao1 241,471
zuobiao1 242,471
zuobiao1 243,471
zuobiao1 241,486
zuobiao1 242,486
zuobiao1 243,486
zuobiao1 241,501
zuobiao1 242,501
zuobiao1 243,501
zuobiao1 241,516
zuobiao1 242,516
zuobiao1 243,516
zuobiao1 241,531
zuobiao1 242,531
zuobiao1 243,531
zuobiao1 241,546
zuobiao1 242,546
zuobiao1 243,546
zuobiao1 241,561
zuobiao1 242,561
zuobiao1 243,561
zuobiao1 241,576
zuobiao1 242,576
zuobiao1 243,576
zuobiao1 241,366
zuobiao1 242,366
zuobiao1 243,366
zuobiao1 241,351
zuobiao1 242,351
zuobiao1 243,351
zuobiao1 241,336
zuobiao1 242,336
zuobiao1 243,336
zuobiao1 241,321
zuobiao1 242,321
zuobiao1 243,321
zuobiao1 241,306
zuobiao1 242,306
zuobiao1 243,306
zuobiao1 241,291
zuobiao1 242,291
zuobiao1 243,291
zuobiao1 241,276
zuobiao1 242,276
zuobiao1 243,276
zuobiao1 241,261
zuobiao1 242,261
zuobiao1 243,261
zuobiao1 241,246
zuobiao1 242,246
zuobiao1 243,246
zuobiao1 241,231
zuobiao1 242,231
zuobiao1 243,231
zuobiao1 241,216
zuobiao1 242,216
zuobiao1 243,216
zuobiao1 241,201
zuobiao1 242,201
zuobiao1 243,201
zuobiao1 241,186
zuobiao1 242,186
zuobiao1 243,186
zuobiao1 241,171
zuobiao1 242,171
zuobiao1 243,171
ret
zuobiao endp
code ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -