📄 tss.asm
字号:
MOV AX,S_TAIL_Y
MOV TEMPY,AX
DEC S_TAIL_X
MOV AH,0DH
MOV BH,0
MOV DX,S_TAIL_X
MOV CX,S_TAIL_Y
INT 10H
CMP AL,2
JZ NEXT1
INC S_TAIL_X
INC S_TAIL_Y
MOV AH,0DH
MOV BH,0
MOV DX,S_TAIL_X
MOV CX,S_TAIL_Y
INT 10H
CMP AL,2
JZ NEXT1
INC S_TAIL_X
DEC S_TAIL_Y
MOV AH,0DH
MOV BH,0
MOV DX,S_TAIL_X
MOV CX,S_TAIL_Y
INT 10H
CMP AL,2
JZ NEXT1
DEC S_TAIL_X
DEC S_TAIL_Y
MOV AH,0DH
MOV BH,0
MOV DX,S_TAIL_X
MOV CX,S_TAIL_Y
INT 10H
JMP NEXT1
JMP TTT
NEXT1: JMP NEXT2
TTT:
JMP RRR
ADDTAIL: CALL DISPNUM
MOV AX,EGG_X
MOV EGG_X_D,AX
ADD EGG_X_D,7
MOV AX,EGG_Y
MOV EGG_Y_R,AX
ADD EGG_Y_R,7
MOV DX,EGG_X
ZYX: MOV CX,EGG_Y
XYZ: MOV AH,0CH
MOV BH,0
MOV AL,0
INT 10H
INC CX
CMP CX,EGG_Y_R
JB XYZ
INC DX
CMP DX,EGG_X_D
JB ZYX
REMOVE: MOV AX,X
MOV EGG_X,AX
ADD AX,7
MOV EGG_X_D,AX
MOV AX,Y
MOV EGG_Y,AX
ADD AX,7
MOV EGG_Y_R,AX
MOV DX,EGG_X
BBA: MOV CX,EGG_Y
ABB: MOV AH,0DH
MOV BH,0
INT 10H
CMP AL,2
JNZ NEXT4
ADD X,10
ADD Y,10
CMP X,400
JB REMOVE
JA ZZZ
CMP Y,500
JB REMOVE
ZZZ: MOV X,40
MOV Y,40
JMP REMOVE
NEXT4: INC CX
CMP CX,EGG_Y_R
JB ABB
INC DX
CMP DX,EGG_X_D
JB BBA
MOV AX,X
MOV EGG_X,AX
ADD AX,7
MOV EGG_X_D,AX
MOV AX,Y
MOV EGG_Y,AX
ADD AX,7
MOV EGG_Y_R,AX
MOV DX,EGG_X
HJK: MOV CX,EGG_Y
KJH: MOV AH,0CH
MOV AL,0CH
MOV BH,0
INT 10H
INC CX
CMP CX,EGG_Y_R
JB KJH
INC DX
CMP DX,EGG_X_D
JB HJK
MOV AH,0CH
MOV BH,0
MOV AL,2
MOV DX,TEMPX
MOV CX,TEMPY
INT 10H
MOV AX,TEMPX
MOV S_TAIL_X,AX
MOV AX,TEMPY
MOV S_TAIL_Y,AX
JMP PHEAD
RRR:
NEXT2: MOV AH,0CH
MOV AL,0
MOV BH,0
MOV DX,TEMPX
MOV CX,TEMPY
INT 10H
MOV AH,S_DIRTIN
MOV TEMP_DIR,AH
MOV AH,1
INT 16H
JZ BG1
MOV AH,0 ;取走键盘缓冲区中的内容,以便在以后的循环中INT16的1号功能可以接收字符
INT 16H
CMP AH,SUP
JZ SU
CMP AH,SDOWN
JZ SD
CMP AH,SLEFT
JZ SL
CMP AH,SRIGHT
JZ SR
CMP AH,SESC
JZ PAUSE
JMP BG
SU: MOV S_DIRTIN,1
JMP BG
SD: MOV S_DIRTIN,2
JMP BG
SL: MOV S_DIRTIN,3
JMP BG
SR: MOV S_DIRTIN,4
JMP BG
PAUSE: MOV DX,29
MENUB2: MOV CX,539
MENUB1: MOV AH,0CH
MOV AL,1
MOV BH,0
INT 10H
INC CX
CMP CX,629
JB MENUB1
ADD DX,100
CMP DX,130
JB MENUB2
JMP BBB
BG1: MOV DX,29
MENUB4: MOV CX,539
MENUB3: MOV AH,0CH
MOV AL,0
MOV BH,0
INT 10H
INC CX
CMP CX,629
JB MENUB3
ADD DX,100
CMP DX,130
JB MENUB4
MOV CX,539
MOV DX,29
MENUA3: MOV AH,0CH
MOV AL,0
MOV BH,0
INT 10H
INC DX
CMP DX,130
JB MENUA3
MOV CX,629
MOV DX,29
MENUA4: MOV AH,0CH
MOV AL,0
MOV BH,0
INT 10H
INC DX
CMP DX,130
JB MENUA4
JMP BG
BBB:
MOV CX,539
MOV DX,29
MENUA1: MOV AH,0CH
MOV AL,1
MOV BH,0
INT 10H
INC DX
CMP DX,130
JB MENUA1
MOV CX,629
MOV DX,29
MENUA2: MOV AH,0CH
MOV AL,1
MOV BH,0
INT 10H
INC DX
CMP DX,130
JB MENUA2
MOV AH,0
INT 16H
CMP AH,SESC
JZ BG1
CMP AH,SKEYN
JZ AGAIN1
; CMP AH,SKEYL
; JZ LOADGAME
; CMP AH,SKEYS
; JZ SAVEGAME
CMP AH,SKEYQ
JZ QUIT
JMP PAUSE
JMP CCC
AGAIN1: JMP AGAIN
CCC:
RP1: MOV AH,2
MOV BH,0
MOV DH,14
MOV DL,26
INT 10H
MOV AH,9
MOV DX,OFFSET CHAR
INT 21H
ASK: MOV AH,0
INT 16H
CMP AL,59H
JZ AGAIN1
CMP AL,79H
JZ AGAIN1
CMP AL,4EH
JZ QUIT
CMP AL,6EH
JZ QUIT
JMP ASK
QUIT:
MOV AH,0
MOV AL,3
INT 10H
RET
PROC1 ENDP
DISPNUM PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
INC GEWEI
CMP GEWEI,9
JBE DISP
MOV GEWEI,0
INC SHIWEI
CMP SHIWEI,9
JBE DISP
MOV SHIWEI,0
INC BAIWEI
CMP BAIWEI,9
JBE DISP
MOV BAIWEI,0
INC QIANWEI
CMP QIANWEI,9
JBE DISP
MOV QIANWEI,0
INC WANWEI
CMP WANWEI,9
JBE DISP
MOV WANWEI,0
DISP: MOV AH,2
MOV BH,0
MOV DH,0
MOV DL,0
INT 10H
MOV AH,2
MOV DL,WANWEI
ADD DL,30H
INT 21H
MOV AH,2
MOV BH,0
MOV DH,0
MOV DL,1
INT 10H
MOV AH,2
MOV DL,QIANWEI
ADD DL,30H
INT 21H
MOV AH,2
MOV BH,0
MOV DH,0
MOV DL,2
INT 10H
MOV AH,2
MOV DL,BAIWEI
ADD DL,30H
INT 21H
MOV AH,2
MOV BH,0
MOV DH,0
MOV DL,3
INT 10H
MOV AH,2
MOV DL,SHIWEI
ADD DL,30H
INT 21H
MOV AH,2
MOV BH,0
MOV DH,0
MOV DL,4
INT 10H
MOV AH,2
MOV DL,GEWEI
ADD DL,30H
INT 21H
POP DX
POP CX
POP BX
POP AX
RET
DISPNUM ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -