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

📄 aaaaaa).txt

📁 图形显示:一个五角星
💻 TXT
字号:
stack segment stack
dw 512 dup(?)
stack ends
data  segment
       string1   db 'star,press 1',0dh,0ah,'circle,press 2',0dh,0ah,'exit,press esc',0dh,0ah,'$'
       string2   db 'change color,press c',0dh,0ah,'exit,press esc',0dh,0ah,'$'
       string3 db'change r,press - or +',0dh,0ah,'exit,press esc',0dh,0ah,'$'
color db 2
sinx dw 0,349,698,1045,1392,1736,2079,2419
     dw 2756,3090,3420,3746,4067,4384,4695
     dw 5000,5299,5592,5878,6157,6428,6691
     dw 6947,7193,7431,7660,7880,8090,8290
     dw 8480,8660,8829,8988,9135,9272,9397
     dw 9511,9613,9703,9781,9848,9903,9945
     dw 9976,9994,10000
r  dw 20
arc  dw 0
x    dw 160
y    dw 100
data ends
code segment
assume cs:code, ss:stack,ds:data,es:data
start:  mov ax,data
        mov ds,ax
        mov dx,offset string1
            mov ah,9
        int 21h
        mov  ah,1
        int 21h
        cmp al,31h
        jz  sub1  
        cmp al,32h  
        jz sub2  
        cmp al,1bh
        jz finish
sub2:   jmp su2      
finish: mov ah,4ch
        int 21h   
sub1:   mov ah,0       ;画五角星
        mov al,4
        int 10h
        mov ah,0bh
        mov bh,0
        mov bl,08h
        int 10h
        mov ah,0bh
        mov bh,1
        mov bl,1
        int 10h
        mov cx,150
        mov dx,50
again1: mov ah,0ch
        mov al,color
        int 10h
        dec cx
        add dx,3
        cmp dx,80
        jnz again1
again2:  mov ah,0ch
         mov al,color
         int 10h
         add cx,3
         sub dx,2
         cmp dx,60
         jnz again2
again3: mov al,color
        mov ah,0ch
        int 10h
        sub cx,2
        cmp cx,130
        jnz again3
again4: mov al,color
        mov ah,0ch
        int 10h
        add cx,3
        add dx,2
        cmp dx,82
        jnz again4
again5: mov al,color
        mov ah,0ch
        int 10h
        dec cx
        sub dx,3
        cmp cx,150
        jnz again5
        mov dl,color
          push dx     
next1: mov dx,offset string2
        mov ah,9
        int 21h
    pop dx        
        mov ah,1
        int 21h
        cmp al,'c'
        jz change
        cmp al,1bh
        jz finish1
        jmp  next1
change:  inc dl                 ;改变五角星的颜色 
        mov color,dl
        jmp sub1
         finish1:  jmp finish
su2:  
      push ds                      
      xor ax,ax
      push ax
      mov ax,data
      mov ds,ax
      mov es,ax
      mov ah,0
      mov al,4
      int 10h   
      mov ah,0bh
      mov bh,0
      mov bl,02h
      int 10h
      mov ah,0ch
      mov bh,1
      mov bl,1
      int 10h
      lea si,sinx
      mov di,si
      add di,90
      mov cx,10000
      mov bx,r
area1:call culcu
      neg ax
      add ax,x
      neg dx
      add dx,y
      call draw
      add arc,2 
      cmp arc,90
      jb area1
area2:call culcu
      add ax,x
      neg dx
      add dx,y
      call draw
      sub arc,2
      cmp arc,0
      jge area2
      mov arc,0
area3:call culcu  
      add ax,x
      add dx,y
      call draw
      add arc,2
      cmp arc,90
      jb area3
area4:call culcu
      neg  ax
      add ax,x
      add dx,y
      call draw
      sub arc,2
      cmp arc,0
      jge area4
next2:  mov dx,offset string3
      mov ah,9
      int 21h
      mov ah,1
      int 21h
      cmp al,1bh
      jz finish2
       cmp al,2dh
      jz less
      cmp al,2bh
      jz great
      jmp next2
finish2:jmp finish
      cmp al,2dh
      jz less
      cmp al,2bh
      jz great
less: push cx                    ;减小圆的半径
      mov cx,r
      sub cx,10
      mov r,cx
       pop cx
     jmp su2                        
great:  push cx                 ;增大圆的半径 
        mov cx,r
        add cx,10
        mov r,cx
       pop cx
        jmp su2
draw proc                        ;画圆
      push cx
      mov cx,ax
      mov ah,12  
      mov al,2
      int 10h
      pop cx
      ret
draw endp
culcu proc                        ;计算圆的坐标 
      push si
      push di
      add si,arc
      mov ax,[si]
      mul bx
      div cx
      push ax
      sub di,arc
      mov ax,[di]
      mul bx
      div cx
      mov dx,12
      mul dx
      mov dl,10
      div dl
      mov ah,0
      pop dx
      pop di
      pop si
      ret
culcu endp
code ends
end start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -