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

📄 ojam.asm

📁 这是一个用汇编
💻 ASM
字号:
     ORG 0000H
     SJMP MAIN
     ORG 000BH
     LJMP TINT
     ORG 0023H
     LJMP IOIP

MAIN:MOV P1,#0

TEST:CLR TR0
     MOV P0,#0FFH
     MOV R0,#0
     MOV R4,#0
     SETB C
     MOV A,P0
     MOV B,A

ROR: RRC A
     JNC KEY
     INC R4
     CJNE R4,#08,ROR
     JMP TEST

KEY: CLR C
     MOV A,R4
     SUBB A,#0
     JZ GO
     MOV A,R4
     SUBB A,#1
     JZ GO
     MOV A,R4
     SUBB A,#2
     JZ GO
     MOV A,R4
     SUBB A,#3
     JZ GO
     MOV A,R4
     CJNE A,#4,KEY5
     JMP GAME
KEY5:CJNE A,#5,KEY6
     JMP GAME
KEY6:CJNE A,#6,KEY7
     JMP GAME
KEY7:JMP GAME

GO:  MOV TMOD,#01H
     SETB EA
     SETB TR0
     SETB ET0

     MOV DPTR,#TAB1
     MOV A,R4
     RL A
     PUSH ACC
     MOVC A,@A+DPTR
     MOV 050H,A
     POP ACC
     INC A
     MOVC A,@A+DPTR
     MOV 051H,A

     MOV A,R4
     RL A
     PUSH ACC
     MOV DPTR,#TAB2
     MOVC A,@A+DPTR
     MOV 052H,A
     POP ACC
     INC A
     MOVC A,@A+DPTR
     MOV 053H,A

     MOV A,R4
     RL A
     MOV DPTR,#TAB3
     PUSH ACC
     MOVC A,@A+DPTR
     MOV 054H,A
     POP ACC
     INC A
     MOVC A,@A+DPTR
     MOV 055H,A

MUS: MOV A,R0
     MOV DPH,050H
     MOV DPL,051H
     MOVC A,@A+DPTR
     MOV R1,A

     MOV A,R0
     RL A
     PUSH ACC
     MOV DPH,052H
     MOV DPL,053H
     MOVC A,@A+DPTR
     JNZ GOON1
     JMP TEST
GOON1:MOV TH0,A
     MOV R6,A
     POP ACC
     INC A
     MOVC A,@A+DPTR
     MOV TL0,A
     MOV R7,A

     MOV A,R0
     MOV DPH,054H
     MOV DPL,055H
     MOVC A,@A+DPTR
     MOV P1,A
     MOV P2,#3FH

     ACALL DELAY

     MOV P0,#0FFH
     MOV A,P0
     CLR C
     SUBB A,B
     JZ CNT1
     CLR EA
     MOV P1,#0FFH
     LJMP TEST
CNT1:INC R0
     JMP MUS

GAME:SETB EA
     SETB ES
     SETB ET0
     MOV TMOD,#21H
     MOV TH1,#0E6H
     MOV TL1,#0E6H
     MOV SCON,#50H
     SETB TR1

     MOV A,R4
     CLR C
     SUBB A,#4
     MOV R4,A

     MOV DPTR,#TAB1
     MOV A,R4
     RL A
     PUSH ACC
     MOVC A,@A+DPTR
     MOV 050H,A
     POP ACC
     INC A
     MOVC A,@A+DPTR
     MOV 051H,A

     MOV A,R4
     RL A
     PUSH ACC
     MOV DPTR,#TAB2
     MOVC A,@A+DPTR
     MOV 052H,A
     POP ACC
     INC A
     MOVC A,@A+DPTR
     MOV 053H,A

     MOV A,R4
     RL A
     MOV DPTR,#TAB3
     PUSH ACC
     MOVC A,@A+DPTR
     MOV 054H,A
     POP ACC
     INC A
     MOVC A,@A+DPTR
     MOV 055H,A
REC: MOV R0,#0

PLAY:MOV A,R0
     MOV DPH,054H
     MOV DPL,055H
     MOVC A,@A+DPTR
     MOV P1,A
     MOV P2,#3FH

DAY1:MOV R2,#0FFH
DAY2:MOV R3,#0FFH
     DJNZ R3,$
     DJNZ R2,DAY2

     SJMP $

OUT: CLR C
     SUBB A,#1
     JZ RIGHT

WRONG:SETB TR0
     MOV TH0,#0FEH
     MOV R6,#0FEH
     MOV R7,#0E3H
     MOV TL0,#0E3H
     MOV R2,#0FH
D1:  MOV R3,#0FFH
     DJNZ R3,$
     DJNZ R2,D1
     CLR TR0
     
     INC R0
     JMP PLAY

RIGHT:SETB TR0
      MOV DPH,050H
      MOV DPL,051H
      MOVC A,@A+DPTR
      MOV R1,A

      MOV A,R0
      RL A
      PUSH ACC
      MOV DPH,052H
      MOV DPL,053H
      MOVC A,@A+DPTR
      JNZ GOON2
      POP ACC
      cLR TR0
      JMP TEST
      
GOON2:MOV TH0,A
      MOV R6,A
      POP ACC
      INC A
      MOVC A,@A+DPTR
      MOV R7,A
      MOV TL0,A

      MOV A,R0
      MOV DPH,054H
      MOV DPL,055H
      MOVC A,@A+DPTR
      MOV P1,A
      MOV P2,#3FH

      ACALL DELAY
      
OVER: MOV P0,#0FFH
      MOV A,P0
      CLR C
      SUBB A,B
      JZ CNT2
      CLR EA
      CLR TR0
      MOV P1,#0FFH
      LJMP TEST
CNT2: INC R0
      JMP PLAY

TINT:CPL P1.0
     MOV TH0,R6
     MOV TL0,R7
     RETI

IOIP: CLR RI
      MOV A,SBUF
      POP DPH
      POP DPL
      MOV DPTR,#OUT
      PUSH DPL
      PUSH DPH
      RETI

DELAY:
 LOP1:MOV R2,#020H
 LOP2:MOV R3,#0F0H
 LOP3:NOP
      NOP
      DJNZ R3,LOP3
      DJNZ R2,LOP2
      DJNZ R1,LOP1
      RET
EXIT: NOP
SOUND1:  DW 0FD08H,0FD81H,0FDC7H,0FD08H,0FD81H,0FCABH,0FD08H,0FD81H,0FDC7H,0FE21H,0FDC7H,0FD81H,0FC43H,0FD08H,0FCABH,0FCABH,0FD08H,0FD81H,0FCABH,0FD08H,0FB8FH,0FB8FH,0FC43H,0FCABH,0FD08H,0FCABH,0FC0BH,0FB8FH,0FC43H,0FB03H
         DW 0FD08H,0FD81H,0FDC7H,0FD08H,0FD81H,0FCABH,0FD08H,0FD81H,0FDC7H,0FE21H,0FDC7H,0FD81H,0FC43H,0FD08H,0FCABH,0FCABH,0FD08H,0FD81H,0FCABH,0FD08H,0FB8FH,0FB8FH,0FC43H,0FCABH,0FD08H,0FCABH,0FC0BH,0FB8FH,0FB03H,0FC43H
         DW 0FE21H,0FE21H,0FDC7H,0FE21H,0FDC7H,0FE21H,0FDC7H,0FD81H,0FD81H,0FD08H,0FDC7H,0FD81H,0FC43H,0FCABH,0FC43H,0FCABH,0FD08H,0FD08H,0FD08H,0FCABH,0FD08H,0FE21H,0FE21H,0FE05H,0FDC7H,0FD08H,0FD08H,0FCABH,0FD08H,0FE21H,0FE05H,0FDC7H,0FD08H,0FD81H
         DW 0FD08H,0FD81H,0FDC7H,0FD08H,0FD81H,0FCABH,0FD08H,0FD81H,0FDC7H,0FE21H,0FDC7H,0FD81H,0FC43H,0FD08H,0FCABH,0FCABH,0FD08H,0FD81H,0FCABH,0FD08H,0FB8FH,0FB8FH,0FC43H,0FCABH,0FD08H,0FCABH,0FC0BH,0FB8FH,0FB8FH,0FC43H,0
TAP1:    DB 8,8,48,8,8,48,8,8,8,16,8,16,8,8,48,8,8,48,8,8,48,8,8,24,8,8,8,8,8,48
         DB 8,8,48,8,8,48,8,8,8,16,8,16,8,8,48,8,8,48,8,8,48,8,8,24,8,8,8,8,8,40
         DB 8,8,8,40,8,8,8,48,8,8,24,8,16,8,4,4,40,8,8,8,40,8,8,8,40,8,8,24,8,8,8,8,8,48
         DB 8,8,48,8,8,48,8,8,8,16,8,16,8,8,48,8,8,48,8,8,48,8,8,24,8,8,8,8,8,48,0
GAME1:   DB 2,4,8,8,4,2,16,32,2,4,8,2,16,8,4,2,32,8,16,4,32,2,8,16,32,4,2,8,16,8
         DB 2,4,8,8,4,2,16,32,2,4,8,2,16,8,4,2,32,8,16,4,32,2,8,16,32,4,2,8,16,8
         DB 4,8,16,32,16,32,2,4,8,16,2,32,16,8,4,16,8,32,2,32,16,4,8,2,16,32,2,4,2,4,8,16,32,8
         DB 2,4,8,8,4,2,16,32,2,4,8,2,16,8,4,2,32,8,16,4,32,2,8,16,32,4,2,8,16,8
SOUND2:  DW 0FE84H,0FE6DH,0FE84H,0FE6DH,0FE84H,0FE05H,0FE55H,0FE21H,0FDC7H,0FD08H,0FDC7H,0FE05H,0FD08H,0FE05H,0FE21H
         DW 0FE84H,0FE6DH,0FE84H,0FE6DH,0FE84H,0FE05H,0FE55H,0FE21H,0FDC7H,0FD08H,0FDC7H,0FE05H,0FD08H,0FE21H,0FE05H,0FDC7H
         DW 0FE05H,0FE21H,0FE55H,0FE84H,0FDC7H,0FE99H,0FE84H,0FE55H,0FDC7H,0FE84H,0FE55H,0FE21H,0FDC7H,0FE55H,0FE21H,0FE05H
         DW 0FE84H,0FE6DH,0FE84H,0FE6DH,0FE84H,0FE05H,0FE55H,0FE21H,0FDC7H,0FD08H,0FDC7H,0FE05H,0FD08H,0FE21H,0FE05H,0FDC7H,0
TAP2:    DB 8,8,8,8,8,8,8,8,40,8,8,40,8,8,48,8,8,8,8,8,8,8,8,40,8,8,40,8,8,8,40
         DB 8,8,8,40,8,8,8,40,8,8,8,40,8,8,8,48,8,8,8,8,8,8,8,8,40,8,8,40,8,8,8,48,0

SOUND3:  DW 0FB8FH,0FB8FH,0FD08H,0FCABH,0FC43H,0FC0BH,0FC43H,0FC0BH,0FB8FH,0FB03H,0FB8FH,0FB8FH,0FB8FH,0FC43H,0FB8FH,0FC43H,0FCABH,0FCABH,0FD08H,0FD33H,0FD08H,0FCABH,0FD08H,0FD08H,0FD81H,0FDC7H,0FD81H,0FD08H,0FCABH,0FC43H,0FCABH,0FD08H,0FCABH,0FD08H,0FB8FH,0FC0BH,0FC0BH,0FB8FH,0FB03H,0FC0BH,0FB03H,0FA14H,0FC43H,0FC0BH,0FB8FH
         DW 0FB8FH,0FDC7H,0FD81H,0FDC7H,0FD08H,0FD81H,0FD08H,0FD81H,0FDC7H,0FD81H,0FCABH,0FCABH,0FD08H,0FD81H,0FD08H,0FCABH,0FD08H,0FC43H,0FB8FH,0FB8FH,0FC43H,0FB8FH,0FB8FH,0FD81H,0FDC7H,0FD08H,0FCABH,0FD08H
         DW 0FB8FH,0FDC7H,0FD81H,0FDC7H,0FD08H,0FD81H,0FD08H,0FD81H,0FDC7H,0FD81H,0FCABH,0FCABH,0FD08H,0FD81H,0FD08H,0FCABH,0FD08H,0FC43H,0FB8FH,0FB8FH,0FC43H,0FB8FH,0FB8FH,0FD08H,0FCABH,0FD08H,0FD08H,0FCABH,0FD08H,0FD08H,0FD81H,0FB03H,0FB8FH,0
TAP3:    DB 16,16,32,8,8,16,16,16,8,8,112,16,16,32,8,8,16,16,8,8,8,8,112,8,8,48,8,8,48,8,8,48,8,8,64,16,8,8,16,32,8,8,16,16,128
         DB 16,32,8,8,8,8,8,8,32,16,16,16,8,8,8,8,64,8,8,48,8,8,48,8,8,8,8,128
         DB 16,32,8,8,8,8,8,8,32,16,16,16,8,8,8,8,64,8,8,48,8,8,48,8,8,48,8,8,48,16,48,16,128

SOUND4:  DW 0FD08H,0FDC7H,0FDC7H,0FDC7H,0FE05H,0FE21H,0FE05H,0FDC7H,0FD81H,0FD81H,0FDC7H,0FE05H,0FDC7H,0FD08H,0FD08H,0FCABH,0FD08H
         DW 0FD81H,0FD81H,0FD81H,0FD08H,0FCABH,0FD08H,0FD81H,0FDC7H,0FE05H,0FE21H,0FE05H,0FDC7H,0FE05H,0FD81H,0FD81H,0FDC7H,0FE05H,0FDC7H
         DW 0FE05H,0FE05H,0FE21H,0FE21H,0FE55H,0FE55H,0FE84H,0FE55H,0FE84H,0FEC0H,0FE84H,0FE84H,0FE55H,0FE21H,0FE84H,0FE21H,0FE55H,0FE05H,0FE21H,0FE55H,0FE21H,0FE05H,0FDC7H,0FE21H,0FE05H,0FD81H,0FD81H,0FDC7H,0FE05H,0FDC7H,0
TAP4:    DB 16,16,16,16,8,8,8,8,16,16,8,8,16,16,24,8,64,16,16,8,8,8,8,16,8,8,16,8,8,16,16,16,8,8,64
         DB 16,16,16,16,16,16,16,8,8,16,16,24,8,64,16,16,16,16,8,8,8,8,16,16,16,16,16,8,8,64
TAB1:    DW TAP1,TAP2,TAP3,TAP4
TAB2:    DW SOUND1,SOUND2,SOUND3,SOUND4
TAB3:    DW GAME1,GAME1,GAME1,GAME1

      END

⌨️ 快捷键说明

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