📄 t.txt
字号:
title Tu Xing Bian Ji
;******************************************************
setcursor macro page,crow,ccol ;set cursor
mov ah,2
mov bh,page ;page No
mov dh,crow ;row
mov dl,ccol ;column
int 10h
endm
zuobiao1 macro x,y ;
mov ah,0ch
mov dx,x
mov cx,y
mov al,4
int 10h
endm
renew macro ;
mov ah ,7
mov al,30
mov bh,0fh
mov ch,3
mov cl,18
mov dh,27
mov dl,76
int 10h
mov bh,0
mov dh,8
mov dl,20
mov ah,2
int 10h
endm
line macro x1,y1,x2,y2,color
local line1
mov cx,x1
mov dx,y1
line1:
mov ah,0ch
mov al,color
int 10h
inc cx
cmp cx,x2
jne line1
endm
row macro x1,y1,x2,y2,color
local row1
mov cx,x1
mov dx,y1
row1:
mov ah,0ch
mov al,color
int 10h
inc dx
cmp dx,y2
jne row1
endm
show_juxing macro x1,y1,x2,y2,color
local show1
mov si,y1
show1:
line x1,si,x2,si,color
inc si
cmp si,y2
jne show1
endm
display_str macro str,len,x,y,color
mov ah,13h
mov al,0
mov cx,len
mov bp,offset str
mov bl,color
mov dh,x
mov dl,y
int 10h
endm
lookmouse1 macro x1,y1
local mouse11
mouse11:
mov ax,0003h
int 33h
cmp bx,1
jne mouse11
mov x1,cx
mov y1,dx
endm
lookmouse2 macro x,y
local mouse21
local mouse22
mouse21:
mov ax,0005h
mov bx,0h
int 33h
cmp ax,1
jne mouse21
mouse22:
mov ax,0006h
mov bx,0h
int 33h
cmp ax,0
jne mouse22
mov x,cx
mov y,dx
endm
write macro x,y
mov ah,0ch
mov al,color
mov dx,y
mov cx,x
int 10h
endm
;*********************************************************
data segment
str1 db 'Graphic',0dh,0ah,'$'
str2 db ' Line ',0dh,0ah,'$'
str3 db ' Ploygon ',0dh,0ah,'$'
str4 db ' Circle ',0dh,0ah,'$'
str5 db 'Rectangle',0dh,0ah,'$'
str6 db ' Other ',0dh,0ah,'$'
str7 db 'pen','$'
str8 db 'Color',0dh,0ah,'$'
str9 db 'ew','$'
str10 db 'ove ','$'
str11 db 'elete','$'
str12 db 'ave','$'
str13 db 'uit','$'
str15 db 'O', '$'
str16 db 'N','$'
str17 db 'M','$'
str18 db 'D','$'
str19 db 'S','$'
str20 db 'Q', '$'
str14 db 'Xian Shi Zuo Biao: ','$'
a db '000'
b db '000'
str22 db ' $'
str21 db ', $'
x0 dw ?
y0 dw ?
x1 dw ?
y1 dw ?
x2 dw ?
y2 dw ?
yuanx dw ? ;yuan xin
yuany dw ?
i dw ?
temp dw ?
highbity dw ?
lowbity dw ?
rc dw ?
m dw ?
n dw ?
mx1 dw ?
my1 dw ?
k1 dw ? ; xie lu
x dw ?
y dw ?
svsr db 0
color db 0
data ends
;********************************************************
code segment
main proc far
assume cs:code,ds:data,es:data
start:
push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
;------------------------
call init
call choose
; nnnn:
; push ax
; mov ah,07h
; int 21h
; cmp al,'n'
; jne nnnn
; call init
; pop ax
ret
main endp
;-------------------------------------------
init proc near
mov ah,0
mov ax,12h
int 10h
;-----------------------
mov ah,0bh
mov bh,0
mov bl,1
int 10h
;-----------------------
line 0,0,639,0,10
line 0,1,639,1,10
show_juxing 0,2,639,35,9
line 0,35,639,35,10
line 0,36,639,36,10
line 0,478,639,478,10
line 0,479,639,479,10
row 0,0,0,479,10
row 1,0,1,479,10
row 637,0,637,479,10
row 638,0,638,479,10
line 30,40,120,40,10
row 30,40,30,270,10
line 30,270,120,270,10
row 120,40,120,270,10
show_juxing 31,41,119,269,8
line 30,280,120,280,10
line 30,449,120,449,10
row 30,280,30,449,10
row 120,280,120,449,10
show_juxing 31,281,119,448,8
show_juxing 50,320,100,335,12
show_juxing 50,345,100,360,13
show_juxing 50,370,100,385,9
show_juxing 50,395,100,410,6
show_juxing 50,420,100,435,17
line 140,40,620,40,15
line 140,41,620,41,15
line 140,448,620,448,15
line 140,449,620,449,15
row 140,40,140,449,15
row 141,40,141,449,15
row 619,40,619,449,15
row 620,40,620,449,15
line 2,452,637, 452,10
line 2,453,637,452,10
show_juxing 2,454, 637,478 ,9
call zuobiao
line 140,244,620,244,1
row 380,40,380,449,1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -