Académique Documents
Professionnel Documents
Culture Documents
BOLLYTRIES DW 0
MOVIENAME db 100,?, 100 dup(' ')
MOVIENAMELEN DB ?
HIDINGCHAR DB 06H
SEPARATOR DB 20H
TEMP db 100,?, 100 dup(' ')
WRONGGUESSES DB 09 DUP(0)
TERMINATOR DB 24H
NEWLINE DB 0AH,0DH, '$'
NEWLINECOUNT DW 2
HIDECHARFLAG DB 0
PLAYER2FLAG DB 0
PLAYER1FLAG DB 0
COMPARECOUNTER DB ?
VALIDGUESSCOUNTER DB 0
GUESSCOUNTER DB 36
CHARCOUNTER DB 0
INVALIDGUESSCOUNTER DB 0
r ;-------------------------------------------
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, ES:DATA
START:
MOV AX,DATA ;initialising data segment
MOV DS,AX ;and extra segment
MOV ES,AX ;registers
;*******************clear screen*****************************
MOV AL, 3
MOV AH, 0
INT 10H
;************************************************************
VALIDGUESS:
MOV [DI], AL
INC SI
INC DI
INC VALIDGUESSCOUNTER
DEC COMPARECOUNTER
CMP COMPARECOUNTER, 0
JNE COMPARELOOP
SKIPVALIDGUESS:
CMP INVALIDGUESSCOUNTER, CH
JE BOLLYTRIESMSG
JMP SKIPBOLLYTRIESMSG
BOLLYTRIESMSG:
INC BOLLYTRIES
MOV WRONGGUESSES[BX], AL
INC BX
CMP BOLLYTRIES, 9
JE PLAYER1WINS
SKIPBOLLYTRIESMSG:
CALL GAMESTATUSPROC
DEC GUESSCOUNTER
CMP GUESSCOUNTER, 0
JNE GUESSLOOP_01
;************************************************************
;************************************************************
;***************program termination***************************
ENDGAME:
CALL NEWLINEPROC
MOV AH, 4CH
INT 21H
;************************************************************
INT 03H
CODE ENDS
END START