⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t.txt

📁 汇编课程设计 图形编辑器
💻 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 + -