📄 2111.asm
字号:
DATA SEGMENT
BUFF1 DB '****************************************'
DB ' '
DB ' Welcome you to run this game! '
DB ' '
DB '****************************************','$'
N DB ?
JIFEN DB ?
DIPAI DB ?
PAIDIAN DB ?
QH1 DB ?
QH2 DB ?
SH DB '10','$'
DP DB '??','$'
JK DB 'DUBLE?','$'
MESSAGE0 DB 'DOU YOU WANT TO MORE?','$'
MESSAGE1 DB '************YOU WING!************','$'
MESSAGE2 DB '************YOU LOST!************','$'
MESSAGE3 DB 'Go on or not?','$'
MESSAGE4 DB 'This is dipai','$'
MESSAGE5 DB ' This is JIFEN:','$'
MESSAGE6 DB '******THE GAME IS OVER !******','$'
DATA ENDS
STACK SEGMENT STACK
DW 256 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
BEGIN: CALL XX0
A1: MOV JIFEN,100
A2: CALL RAND
MOV DIPAI,BL
CALL CHULI
MOV QH1,BL
JB1: CALL XX
MOV AH,0
INT 16H
CMP AL,59H
JE JI
MOV N,10
JMP A3
JI: MOV N,20
A3: CALL RAND
MOV PAIDIAN,BL
CALL DISP0
CALL CHULI
MOV QH2,BL
CALL XX4
A4: MOV AH,0
INT 16H
CMP AL,4EH
JE HC
CMP AL,59H
JNE A4
A5: CALL RAND
MOV PAIDIAN,BL
CALL DISP0
CALL CHULI
A6: ADC QH2,BL
A7: CMP QH2,21
JA A14
A8: JMP A4
ZZ: CALL XX0
JMP A2
HC: CALL RETURN
A9: MOV AL,QH2
CMP QH1,AL
JA A14
A10: CALL RAND
MOV PAIDIAN,BL
CALL DISP0
CALL CHULI
A11: ADC QH1,BL
A12: CMP QH1,21
JA A15
A13: JMP A9
A14: CALL XX14
CALL JIAN
CMP JIFEN,10
JB A18
JMP A16
A15: CALL XX15
CALL JIA
A16: CALL XX16
MOV AL,DIPAI
MOV PAIDIAN,AL
CALL DISP0
CALL DISP1
A17: CALL XX17
AG: MOV AH,0
INT 16H
CMP AL,59h
JE ZZ
CMP AL,4EH
JE A18
JNE AG
A18: CALL XX18
MOV AH,4CH
INT 21H
RAND PROC
PUSH CX
PUSH DX
PUSH AX
STI
MOV CX,0FFFFH
YS: DEC CX
JNE YS
MOV AH,0
INT 1AH
MOV AX,DX
AND AH,3
MOV DL,13
DIV DL
MOV BL,AH
ADC BL,1
POP AX
POP DX
POP CX
RET
RAND ENDP
DISP0 PROC
CALL SPACE
CALL SPACE
CALL SPACE
MOV AL,PAIDIAN
CMP AL,9
JA OTHER
CMP AL,1
JE A
ADD AL,30H
T: MOV DL,AL
MOV AH,2
INT 21H
RET
OTHER: CMP AL,10
JE SHI
CMP AL,11
JE J
CMP AL,12
JE Q
MOV AL,4BH
JMP T
J: MOV AL,4AH
JMP T
Q: MOV AL,51H
JMP T
A: MOV AL,41H
JMP T
SHI: LEA DX,SH
MOV AH,09H
INT 21H
RET
DISP0 ENDP
DISP1 PROC
LEA DX,MESSAGE5
MOV AH,9
INT 21H
MOV AL,JIFEN
CMP AL,100
JB MM
MOV CL,100
CBW
DIV CL
MOV BL,AH
OR AL,30H
MOV DL,AL
MOV AH,2
INT 21H
MOV AL,BL
MM: MOV CL,10
CBW
DIV CL
OR AL,30H
MOV DL,AL
MOV AH,2
INT 21H
MOV DL,30H
MOV AH,2
INT 21H
RET
DISP1 ENDP
JIAN PROC
CMP N,10
JA X
SBB JIFEN,10
JMP TU1
X: SBB JIFEN,20
TU1: RET
JIAN ENDP
JIA PROC
CMP N,10
JA Y
ADC JIFEN,10
JMP TU
Y: ADC JIFEN,20
TU: RET
JIA ENDP
XX PROC
LEA DX,JK
MOV AH,9
INT 21H
RET
XX ENDP
XX0 PROC
MOV AX,0600H
MOV CX,0000H
MOV DX,184FH
MOV BH,07H
INT 10H
MOV AH,02H
MOV DH,5
MOV DL,15
MOV BH,00H
INT 10H
LEA DX,BUFF1
MOV AH,09H
INT 21H
CALL RETURN
LEA DX,DP
MOV AH,09H
INT 21H
CALL RETURN
RET
XX0 ENDP
XX4 PROC
CALL RETURN
LEA DX,MESSAGE0
MOV AH,09
INT 21H
RET
XX4 ENDP
XX14 PROC
CALL RETURN
LEA DX,MESSAGE2
MOV AH,9
INT 21H
RET
XX14 ENDP
XX15 PROC
CALL RETURN
LEA DX,MESSAGE1
MOV AH,9
INT 21H
RET
XX15 ENDP
XX16 PROC
CALL RETURN
lea dx,MESSAGE4
MOV AH,9
INT 21H
RET
XX16 ENDP
XX17 PROC
CALL RETURN
LEA DX,MESSAGE3
MOV AH,9
INT 21H
CALL RETURN
RET
XX17 ENDP
XX18 PROC
LEA DX,MESSAGE6
MOV AH,9
INT 21H
RET
XX18 ENDP
SPACE PROC
MOV DL,20H
MOV AH,2
INT 21H
RET
SPACE ENDP
CHULI PROC
CMP BX,10
JB D
MOV BX,10
D: ADD BX,0
RET
CHULI ENDP
RETURN PROC
MOV AH,2
MOV DL,0AH
INT 21H
MOV DL,0DH
INT 21H
RET
RETURN ENDP
RET
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -