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

📄 汇编俄罗斯.asm

📁 俄罗斯方块的汇编版
💻 ASM
📖 第 1 页 / 共 3 页
字号:
              CMP       BYTE PTR [BX],0fh
              JNZ       NExtzh1
              
   exitzh:           
              POP       SI
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET
         panz  ENDP

pany        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
	   	  ADD        CH,1
              LEA       BX,tutong
              ADD       BX,4

              
     NExty1:
              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,15
              JL        NExty41  
              MOV       SIgn,1
              JMP        exity
              
   NExty41:        ADD       AX,DX
              MOV       SI,AX
              CMP        [tupan+SI],0
              JZ      NExty4
              MOV       SIgn,1
              JMP       exity
   NExty4:  
              ADD       BX,2
              CMP       BYTE PTR [BX],0fh
              JNZ       NExty1
              
   exity:           
              POP       SI
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET
         pany  ENDP
  
            
           
 cunchu       PROC      NEAR
              PUSH      AX
              PUSH      BX
              PUSH      CX
              PUSH      DX
              PUSH      SI
              
              MOV       AX,tutong 
              MOV       BL,10
              SUB       AX,jihang
              IDIV      BL
              MOV       CL,AL
              MOV       AX,[tutong+2]
              SUB       AX,jilie
              IDIV      BL
              MOV       CH,AL
              LEA       BX,[tutong+4]
    NExtch:   MOV       AL,CL
              MOV       DL,CH
              MOV       DH,0
       
              ADD       AL,[BX+1]
              ADD       DL,[BX]
              PUSH      BX
              MOV       BL,15
              IMUL      BL
              ADD       AX,DX
              MOV       SI,AX
              MOV       [tupan+SI],1
              POP       BX
              ADD       BX,2
              CMP       BYTE PTR [BX],0fh
              JNZ       NExtch
              
              POP       SI
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET       
         Cunchu ENDP
              
      xiaohang 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,4
              MOV       CL,15
              MUL       CL
              SUB       AX,1
              MOV       SI,AX 
              CMP       SI,375
              JB         NExtxiaocm
              MOV       SI,374           
 NExtxiaocm:  MOV       CX,8
              MOV       xiaosign2,0
  NExtxiao4:  MOV       BX,0
              MOV       xiaoSIgn,1
  NExtbx:     CMP       [tupan+SI],1
              JZ        NExtxiao1
              MOV       xiaosign,0
   NExtxiao1: DEC       SI
              INC       BX
              CMP       BX,15
              JNZ       NExtbx
              CMP       xiaosign,1
              JNZ       NExtxiao2
              INC       xiaonum
              CMP       xiaosign2,1
              JZ        NExtxiao3
              MOV       xiaosign2,1
              MOV       AX,SI
              ADD       AX,15
              MOV       beginxiao,AX
              JMP       NExtxiao3
  NExtxiao2:  
              CMP       xiaosign2,1
              JNZ       NExtxiao3
              MOV      xiaosign2,0
              MOV       AX,SI
              ADD       AX,15
              MOV      ENDxiao,AX
              CALL      shuaxin2
              CALL      fuzhi
              
              MOV       ENDxiao,0
              MOV       color,35h
              CALL      shuaxinf
              CALL      INCscore
  NExtxiao3:  LOOP      NExtxiao4
              POP       SI
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET
xiaohang      ENDP         
           
shuaxin2      PROC      NEAR
              PUSH      CX
              PUSH      AX
              MOV       CX,2
  LOOPshua:    MOV       color,29h
              CALL      shuaxin
              CALL       delay
              MOV       AL,colorbiao
              MOV       Color,AL
              CALL      shuaxin
              CALL      delay
              
               LOOP      LOOPshua  
              POP       AX                 
              POP       CX
              RET
 shuaxin2     ENDP
              
delay         PROC      NEAR
              PUSH      CX
              PUSH      AX
              MOV       AX,0
   NExtdelay: MOV       CX,0
   LOOPdelay: LOOP      LOOPdelay
              INC       AX
              CMP       AX,50
              JB       NExtdelay
              POP       AX
              POP       CX
              RET
delay         ENDP
              
fuzhi         PROC      NEAR
              PUSH      AX
              PUSH      BX
              PUSH      CX
              PUSH      DX
              PUSH      SI
              
              MOV       SI,beginxiao
              SUB       SI,ENDxiao
              MOV       DX,OFFSET tupan
              DEC       DX
              MOV       BX, OFFSET tupan             
              ADD       BX,endxiao              
 nextfu:      MOV       AL,[BX]
              MOV       [BX+SI],AL
              

              
              
              DEC       BX
              CMP       BX,DX
              JA        NExtfu
              SUB       DX,SI
NExtfu1 :     MOV       BYTE PTR [BX+SI],0
              DEC       BX
              CMP       BX,DX
              JA       NExtfu1
              POP       SI
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET
fuzhi         ENDP              
              
shuaxin       PROC      NEAR
              PUSH      AX
              PUSH      BX
              PUSH      CX
              PUSH      DX
              PUSH      SI
		  MOV     SI,beginxiao             
              MOV       CX,ENDxiao
        
  NExtshua:   MOV       AX,SI
              MOV       DL,15
              DIV        DL
              MOV       BX,AX
              MOV       DL,10
              IMUL       DL
              MOV       AH,0
              ADD       AX,jihang
              MOV       hang,AX
              MOV       AL,BH
              IMUL       DL
              ADD       AX,jilie
              MOV       lie,AX
              CALL      dayin1

              DEC       SI
              CMP       SI,CX
              JNZ       NExtshua
              
              POP       SI              
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET
  shuaxin       ENDP        
 shuaxinf       PROC      NEAR
              PUSH      AX
              PUSH      BX
              PUSH      CX
              PUSH      DX
              PUSH      SI
		  MOV     SI,beginxiao             
              MOV       CX,ENDxiao
        
  NExtshuaf:   MOV       AX,SI
              CMP       [tupan+SI],1
              JZ        NExtshuaf1
              MOV       color,26h
              JMP       NExtshuaf2
 NExtshuaf1:  MOV       color,02h
 NExtshuaf2:  MOV       DL,15
              DIV        DL
              MOV       BX,AX
              MOV       DL,10
              IMUL       DL
              MOV       AH,0
              ADD       AX,jihang
              MOV       hang,AX
              MOV       AL,BH
              IMUL       DL
              ADD       AX,jilie
              MOV       lie,AX
              CALL      dayin1
              DEC       SI
              CMP       SI,CX
              JNZ       NExtshuaf
              
              POP       SI              
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET
  shuaxinf       ENDP 
              

  ENDMain     PROC      NEAR
              PUSH      BX
              PUSH      CX
              MOV       ENDSign,0
              MOV       BX,OFFSET tupan
              
              CMP       BYTE PTR [BX+8],1
              JNZ       NExtend
              MOV       ENDSign,1
   NExtend:   
              POP       CX
              POP       BX
              RET
  ENDMain     ENDP     
                                       
              
code          ENDS
              END       start

⌨️ 快捷键说明

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