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

📄 汇编俄罗斯.asm

📁 俄罗斯方块的汇编版
💻 ASM
📖 第 1 页 / 共 3 页
字号:
              MOV       AL,Color
              MOV       BH,0
              PUSH      CX
              PUSH      DX
              ADD       CX,lie
              ADD       DX,hang
              INT       10h
              POP       DX
              POP       CX
              INC       DX
              CMP       DX,9
              JNZ       back
              INC       CX
              CMP       CX,9
              JNZ       back1
              POP       DX
              POP       CX
              POP       BX
              POP       AX
	       	RET
   dayin1      ENDP              

    INCscore    PROC      NEAR
              PUSH      AX
              PUSH      BX
              PUSH      CX
              PUSH      DX

              MOV       CX,200     ;???
     back1111: MOV       DX,160
     back1000: MOV       AH,0ch
              MOV       AL,29h
              MOV       BH,0
              INT       10h
              INC       DX
              CMP       DX,180
              JNZ       back1000
              INC       CX
              CMP       CX,299
              JNZ       back1111
              MOV       CH,1
              MOV       CL,xiaonum
              MOV       xiaonum,0
              MOV       BX,OFFSET score
              INC       BX
              ADD       [BX],CL
              CMP       BYTE PTR [BX],10
              JB        NExtinc
              SUB       BYTE PTR [BX],10
   NExtinc1:     
              INC       BX
              INC       CH
              INC       BYTE PTR[BX]
              CMP	      BYTE PTR[BX],10           
              JNZ       NExtinc
              MOV       BYTE PTR[BX],0
              CMP       CH,5
              JZ        NExtinc
              JMP       NExtinc1
NExtinc:      
              MOV       BX,OFFSET score
              ADD       BX,5
              MOV       DX,0a1cH
  NExtinc2:   MOV       AL,[BX]
              ADD       AL,30h
              PUSH      BX
              MOV       AH,2
              MOV       BH,0
              INT       10h
             
              MOV       AH,9
              MOV       BH,0
              MOV       BL,0a5h
              MOV       CX,1
              INT       10h
              INC       DL
              POP       BX            
              DEC       BX
              CMP       BYTE PTR [BX],'$'
              JNZ       NExtinc2
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET
     INCscore ENDP
            
              
        suiji PROC      NEAR              
              PUSH      AX
              PUSH      BX
              PUSH      DX
              MOV       BL,23
              MOV       BH,43
              MOV       DX,7
              MOV       AL,suijibian2
              MUL       BL
              ADD       AX,DX
              DIV       BH
              MOV       suijibian2,AH
              MOV       AL,AH
              MOV       AH,0
              MOV       BL,7
              DIV       BL
              MOV       suijibian,AH
              MOV       DL,AH
              POP       DX
              POP       BX
              POP       AX   
              RET             
        suiji ENDP
              
       
         bianhuan PROC      NEAR
              PUSH      AX
              PUSH      BX
              PUSH      DX
              
              MOV       AH,0
              INT       16h
              
              LEA       BX,tutong
              ADD       BX,4

              CMP       AH,48h
              JNZ       NExtbian2
     nextbian1:
              MOV       AL,[BX]
              XCHG      AL,[BX+1]
              NEG       AL
              MOV       [BX],AL
              ADD       BX,2             
              CMP      BYTE PTR [BX],0fh
              JNZ       NExtbian1
              ADD       [tutong+2],10
              CALL      panz
              SUB       [tutong+2],20
              CALL      pany
              ADD       [tutong+2],10
              SUB       tutong,10
              CALL      panxia
              ADD       tutong,10
              CMP       SIgn,0
              JZ          NExtbia12
              MOV       SIgn,0
                       LEA       BX,tutong
              ADD       BX,4
      NExtbia11:   MOV       AL,[BX]
              NEG       AL
              XCHG      AL,[BX+1]
              MOV       [BX],AL
              ADD       BX,2
              CMP       BYTE PTR [BX],0fh
              JNZ       NExtbia11
     NExtbia12:         
              JMP       exit
     NExtbian2:
              CMP       AH,4bh
              JNZ       NExtbian3
              CALL      panz
              CMP       SIgn,0
              JZ        NExtb2
              MOV       SIgn,0
              JMP       exit
     NExtb2:      SUB      [ tutong+2],10
              JMP       exit
     NExtbian3:
              CMP       AH,4dh
              JNZ       NExtbian4
              CALL      pany
              CMP       SIgn,0
              JZ        NExty2
              MOV       SIgn,0
              JMP       exit

       NExty2:   ADD       WORD PTR [tutong+2],10
              JMP       exit
     NExtbian4:
              CMP       AH,50h
              JNZ       NExtbian5
              CALL      panxia
              CMP       SIgn,0
              JNZ        exit
              ADD       tutong,10
              JMP       exit

  NExtbian5:  CMP       AL,20h
              JNZ       NExtbian6
NExtbianx:    CALL      panxia
              CMP       SIgn,0
              JNZ        exit
              ADD       tutong,10
              JMP       NExtbianx

              
  NExtbian6:  CMP       AL,63h
              JNZ       NExtbian7 
              MOV       AH,4ch
              INT       21h   
NExtbian7:    CMP       AL,30h
              JNZ       exit
              MOV       suijibian2,2
                                    

         exit:          
              POP       DX
              POP       BX
              POP       AX
              RET
              bianhuan ENDP   
              
                  
  WAITe      PROC      NEAR
              PUSH      AX
              PUSH      BX
              PUSH      CX
              MOV       BL,0
     nextw1 : MOV       CX,0
     LOOPs:   
              MOV       AH,1
              INT       16h
              JZ        NExtw2
              MOV       AL,colordi
              MOV       color,AL
              CALL      Dayin
              CALL      bianhuan
              MOV       AL,colorbiao
              MOV       Color,AL
              CALL      dayin
    NExtw2 :  LOOP      LOOPs
              INC       BL
              CMP       BL,sudu
              JNZ       NExtw1 
              POP       CX
              POP       BX
              POP       AX
              RET
 WAITe        ENDP    
              
 panxia        PROC      NEAR
              PUSH      AX
              PUSH      BX
              PUSH      CX                
              PUSH      DX             
              PUSH      SI
              
              MOV       AX,tutong
              SUB       AX,jihang
              MOV       CL,10
              IDIV      CL 
              ADD       AL,1
              MOV       CH,AL
              MOV       AX,[tutong+2]
              SUB       AX,jilie
              MOV       CL,10
              IDIV      CL
              MOV       CL,AL
              XCHG      CL,CH
              LEA       BX,tutong
              ADD       BX,4

              
     NExtpan1:
              MOV       DH,[BX]
              MOV       DL,[BX+1]          
              ADD       DL,CL
               MOV       AL,DL
              MOV       DL,15
              IMUL      DL
              MOV       DL,DH
              MOV       DH,0
              ADD       DL,CH
              ADD       AX,DX
              MOV       SI,AX
              CMP        [tupan+SI],0
              JZ      NExtpan4
              MOV       SIgn,1
              JMP       exitpan
   NExtpan4:  
              ADD       BX,2
              CMP       BYTE PTR [BX],0fh
              JNZ       NExtpan1
              
   exitpan:           
              POP       SI
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET
         panxia  ENDP
              
panz        PROC      NEAR
              PUSH      AX
              PUSH      BX
              PUSH      CX                
              PUSH      DX             
              PUSH      SI
              
              MOV       AX,tutong
              SUB       AX,jihang
              MOV       CL,10
              IDIV      CL 
              MOV       CH,AL
              MOV       AX,[tutong+2]
              SUB       AX,jilie
              MOV       CL,10
              IDIV      CL
              MOV       CL,AL
              XCHG       CL,CH
	   	    SUB        CH,1
              LEA       BX,tutong
              ADD       BX,4

              
     NExtzh1:
              MOV       DH,[BX]
              MOV       DL,[BX+1]          
              ADD       DL,CL
               MOV       AL,DL
              MOV       DL,15
              IMUL      DL
              MOV       DL,DH
              MOV       DH,0
              ADD       DL,CH
              CMP       DL,0
              JNL        NExtzh41  
              MOV       SIgn,1
              JMP        exitzh
              
   NExtzh41:        ADD       AX,DX
              MOV       SI,AX
              CMP        [tupan+SI],0
              JZ      NExtzh4
              MOV       SIgn,1
              JMP       exitzh
   NExtzh4:  
              ADD       BX,2

⌨️ 快捷键说明

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