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

📄 终结版.asm

📁 模拟时钟汇编语言程序设计
💻 ASM
📖 第 1 页 / 共 4 页
字号:
              MOV       y1,AX
               CALL      linex
               CALL      liney
               INC       x1              
               MOV       AX,x1
               CMP       AX,sjx_xmax
               JBE       sjx_line0x
               JMP       sjx_quit12             
              
sjx_zhixianxs: MOV       AX,sjx_xmin
              MOV       x1,AX
              MOV       AX,sjx_ymin
              MOV       y1,AX
sjx_lopxx:         
              CALL      linex
              CALL      liney
              INC       y1
              MOV       AX,sjx_ymax
              CMP       AX,y1
              JAE      sjx_lopxx                                                        
sjx_quit12:  MOV       s,0
              POP       y3   
              POP      y2
              POP      y1
              POP       x3
              POP      x2
              POP      x1                                     
              POPa
              RET
sjxx           ENDP 
              
              
               
;**************************liney      x=(x2-x1)(y-y1)/(y2-y1)+x1
;***************************y++                        
              
              
sjxy  PROC NEAR
              PUSH      x1
              PUSH      x2
              PUSH      x3
              PUSH      y1
              PUSH      y2
              PUSH      y3
              pusha 
              CALL      xymaxmin 
              MOV       AX,xmin
              MOV       sjx_xmin,AX
              MOV       AX,ymin
              MOV       sjx_ymin,AX
              MOV       AX,xmax
              MOV       sjx_xmax,AX
              MOV       AX,ymax
              MOV       sjx_ymax,AX  
              MOV       AX,yminx
              MOV       sjx_yminx,AX                          
              MOV AX,y2
              MOV BX,y1    
              CALL subab
              MOV       sjx_y2y1,AX
              MOV       SI,0
              CMP       SI,AX
              JE        sjxy_heng
              JMP       sjxy_lop1  
sjxy_heng:     
              MOV       DL,s
              MOV       s2,DL
              MOV       s,0                 
              MOV       AX,x3
              MOV       x2,AX
              MOV       AX,y3
              MOV       y2,AX                               
              JMP       sjxy_hengxian                     
sjxy_lop1:    MOV      AX,x2
              MOV      BX,x1            ;x=(x2-x1)(y-y1)/(y2-y1)+x1
              CALL     subab
              MOV       DL,s
              MOV       s2,DL
              MOV       s,0
              MOV       sjx_x2x1,AX
              MOV       AX,x3
              MOV       x2,AX
              MOV       AX,y3
              MOV       y2,AX                               
              MOV       AX,sjx_ymin
              MOV       y1,AX     
             
sjxy_line0y:  SUB       AX,sjx_ymin
              MOV       DX,0 
              MOV       CX,sjx_x2x1    
              MUL       CX
              MOV       CX,sjx_y2y1
              DIV       CX
              MOV       DX,0
              CMP       DL,s2
              JE        sjxy_zhengy
              MOV       CX,AX
              MOV       AX,sjx_yminx
              SUB       AX,CX
              JMP       sjxy_kky3
sjxy_zhengy:                
              ADD       AX,sjx_yminx
sjxy_kky3:                   
               MOV       x1,AX
               CALL      linex
             
               CALL      liney  
               INC       y1              
               MOV       AX,y1
               CMP       AX,sjx_ymax
               JBE       sjxy_line0y
               JMP       sjxy_quity
sjxy_hengxian:     MOV       AX,sjx_ymin
              MOV       y1,AX
              MOV       AX,sjx_xmin
              MOV       x1,AX
sjxy_lopy:    CALL      liney
              CALL      linex
              INC       x1
              MOV       AX,sjx_xmax
              CMP       AX,x1
              JAE       sjxy_lopy                     

sjxy_quity:  MOV       s,0             
              POPa
              POP       y3
              POP      y2
              POP      y1
              POP       x3
              POP      x2
              POP      x1              
              RET
sjxy          ENDP 
         
xymaxmin      PROC      NEAR        ;yminx对应x2组
              PUSHa
              PUSH      x1          ;xminy对应x1组
              PUSH      x2
              PUSH      y1
              PUSH      y2                            
              MOV       AX,x1
              CMP       AX,x2
              JAE       x1dyx2
              MOV       xmin,AX    ;x1<x2
              MOV       AX,y1
              MOV       xminy,AX
              MOV       AX,x2
              MOV       xmax,AX
              JMP       ymaxmin
x1dyx2:       MOV       xmax,AX
              MOV       AX,x2
              MOV       xmin,AX
              MOV       AX,y2
              MOV       xminy,AX        ;xminx 所对应的y
ymaxmin:      MOV       AX,y1
              CMP       AX,y2
              JAE       y1dyy2
              MOV       ymin,AX
              MOV       AX,x1
              MOV       yminx,AX       ;所对应的x
              MOV       AX,y2
              MOV       ymax,AX
              JMP       xymax_quit
y1dyy2:       MOV       ymax,AX
              MOV       AX,y2
              MOV       ymin,AX
              MOV       AX,x2
              MOV       yminx,AX
xymax_quit:                 
              POP      y2
              POP      y1
              POP      x2
              POP      x1                            
              POPa
              RET 
xymaxmin      ENDP   
                      
DIan PROC NEAR           ;画一点x,y
       PUSHa
       MOV       AH,s       
       MOV       s3,AH       
       MOV       AH,SIgle       
       AND       AH,80h
       CMP       AH,0
       JE        puanduan
paint:                                                         
       MOV AL,color
       MOV BH,page1   
       MOV       DX,y                
       MOV CX,x        ;列号
       MOV AH,0ch
       INT 10h
       JMP       DIanquit       
puanduan:
              CALL      readerdian
              MOV       DIancolor,AL
              MOV       AH,SIgle
               
              AND       AH,7fh
              CMP       AH,0
              JE        NEw0
              CMP       AH,1
              JE        NEw1
              CMP       AH,2
              JE        NEw2
              CMP       AH,3
              JE        NEw3
              CMP       AH,4
              JE        NEw4
              CMP       AH,5
              JE        NEw5
              CMP       AH,6
              JE        NEw6
              JMP       DIanquit
              
NEw0:         CMP       DIancolor,0
              JE        topaint
              JMP       DIanquit
NEw1:         CMP       DIancolor,0
              JE        topaint
              MOV       AH,color_hour
              CMP       DIancolor,AH
              JE        topaint
              JMP       DIanquit
topaint:      JMP       paint              
                                   
NEw2:         MOV       AH,color_min
              CMP       DIancolor, AH
              JE        topaint
              JMP       DIanquit
NEw3:         JMP       NEw0
NEw4:         JMP       NEw0
NEw5:         MOV       AH,color_hour                                                
              CMP       DIancolor,AH
              JE        topaint
              JMP       DIanquit
NEw6:         CMP       DIancolor,0
              JE        topaint
              JMP       DIanquit
              MOV       AX,x
              MOV       BX,x0
              CALL      SUBab
              CMP       AX,5
              JA        topaint
              MOV       AX,y
              MOV       BX,y0
              CALL      SUBab
              CMP       AX,5
              JA        topaint
            
                            
DIanquit:     MOV       AH,s3
              MOV       s,AH                                              
              POPa
              RET
DIan ENDP
              
yuanxin       PROC
              MOV       AL,color_second
              ADD       AL,1
              MOV       BH,PAGE1
              MOV       DX,y0
              MOV       CX,x0
              MOV       AH,0ch
              INT       10h
              DEC       DX              
              MOV       AH,0ch
              INT       10h
              DEC       CX
              MOV       AH,0ch
              INT       10h
              INC       DX
              MOV       AH,0ch
              INT       10h
              INC       DX
              MOV       AH,0ch
              INT       10h
              INC       CX
              MOV       AH,0ch
              INT       10h
              INC       CX
              MOV       AH,0ch
              INT       10h
              SUB       DX,1
              MOV       AH,0ch
              INT       10h
              DEC       DX
              MOV       AH,0ch
              INT       10h              
              
              RET
yuanxin       ENDP                            
              
readerdian    PROC
              MOV       BH,page1   
              MOV       DX,y                
              MOV       CX,x        ;列号
              MOV       AH,0dh
              INT       10h  
              RET
readerdian    ENDP                                 
                            
              
b1002         PROC      NEAR           ;入口DX-光标定位
              MOV       BH,0
              MOV       AH,02h
              INT       10h
              RET
b1002         ENDP

              
CLear         PROC
              MOV       DX,0410h
              CALL      b1002
              MOV       CX,6000
              MOV       BH,PAGE1
              MOV       AL,' '
              MOV       AH,0ah
              INT       10h
              RET
CLear         ENDP              
                        

;      12根******************************             
skin2         PROC
              PUSHa
              MOV       AL,color6
              MOV       color,AL
              
              MOV       CX,12
              MOV       AX,0
skin2_kk1:    PUSH      CX   
                  
              PUSH      AX
              MOV       BX,r0
              MOV       CX,y0
              MOV       DX,x0
              
              CALL      enovate
              MOV       AX,x
              MOV       x1,AX
              MOV       AX,y
              MOV       y1,AX
              POP       AX
              PUSH      AX
              
              MOV       BX,r0
              ADD       BX,10
              MOV       CX,y0
              MOV       DX,x0

              CALL      enovate
              MOV       AX,x
              MOV       x2,AX
              MOV       AX,y
              MOV       y2,AX
              CALL      linex
              CALL      liney
              POP       AX
              ADD       AX,30
              
              POP       CX
              LOOP      skin2_kk1
              MOV       CX,4
              MOV       AX,0
skin2_kk2:    PUSH      CX   
                  
              PUSH      AX
              MOV       BX,r0
              MOV       CX,y0
              MOV       DX,x0
              
              CALL      enovate
              MOV       AX,x
              MOV       x1,AX
              MOV       AX,y
              MOV       y1,AX
              POP       AX
              PUSH      AX
              
              MOV       BX,r0
              ADD       BX,20
              MOV       CX,y0
              MOV       DX,x0

              CALL      enovate
              MOV       AX,x
              MOV       x2,AX
              MOV       AX,y
              MOV       y2,AX
              CALL      linex
              CALL      liney
              POP       AX
              ADD       AX,90
                            
              POP       CX
              LOOP      skin2_kk2
                                    
              POPa
              RET
skin2         ENDP     
;60根**********************************88              
              
skin3         PROC
              PUSHa
              MOV       AL,color5
              MOV       color,AL
              MOV       CX,60
              MOV       AX,0
skin2_kk3:    PUSH      CX   
                  
              PUSH      AX
              MOV       BX,r0
              MOV       CX,y0
              MOV       DX,x0
              
              CALL      enovate
              MOV       AX,x
              MOV       x1,AX
              MOV       AX,y
              MOV       y1,AX
              POP       AX
              PUSH      AX
              
              MOV       BX,r0
              ADD       BX,3
              MOV       CX,y0
              MOV       DX,x0

              CALL      enovate
              MOV       AX,x
              MOV       x2,AX
              MOV       AX,y
              MOV       y2,AX
              CALL      linex
              CALL      liney
              POP       AX
              ADD       AX,6
                            
              POP       CX
              LOOP      skin2_kk3
              POPa
              RET
skin3         ENDP                       
;数字加圆**************************************88                            
skin          PROC      NEAR
              MOV       AL,color4
              MOV       color,AL
              MOV       BX,r0
              CALL      yuan
              MOV       BX,r0              
              MOV       DH,7
              MOV       DL,39
              CALL      b1002
              MOV       DL,'1'
              MOV       AH,2
              INT       21h
              MOV       DH,7
              MOV       DL,40
              CALL      b1002
              MOV       DL,'2'
              MOV       AH,2
              INT       21h 
              
              
              MOV       DH,8
              MOV       DL,47
              CALL      b1002
              MOV       DL,'1'
              MOV       AH,2
              INT       21h  
              
              MOV       DH,11
              MOV       DL,53
              CALL      b1002
              MOV       DL,'2'
              MOV       AH,2
              INT       21h 
  
              MOV       DH,19
              MOV       DL,53
              CALL      b1002
              MOV       DL,'4'
              MOV       AH,2
              INT       21h

⌨️ 快捷键说明

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