DATA SEGMENT
OUT_TEXT1 DB 0AH,0DH,'1---HELLO',0AH,0DH,'$'
OUT_TEXT2 DB 0AH,0DH,'2---HOW ARE YOU',0AH,0DH,'$'
OUT_TEXT3 DB 0AH,0DH,'3---I CAN DO IT',0AH,0DH,'$'
OUT_TEXT4 DB 0AH,0DH,'4---GOODBYE',0AH,0DH,'$'
FRONTLINE DB 0AH,0DH,'PLEASE ENTER YOUR CHOICE:',0AH,0DH,'$'
WRO_M DB 0AH,0DH,'THE NUMNER IS OUT OF RANGE.$'
END_LINE DB 0AH,0DH,'I ESCAPE FROM THE BORING GAME!!!$'
TEXT_NUMBER DW OUT_TEXT1,OUT_TEXT2,OUT_TEXT3,OUT_TEXT4
USER_NUM DB ?
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 20H DUP(?)
STACK1 ENDS
COSEG SEGMENT
ASSUME CS:COSEG,DS
ATA,SS:STACK1
START:
MOV AX,DATA
MOV DS,AX
S1:
MOV BX,OFFSET TEXT_NUMBER
MOV CX,4
OUTTEXT:
XOR AX,AX
MOV DX,[BX]
MOV AH,09H
INT 21H
ADD BX,2
LOOP OUTTEXT
INPUT:
MOV DX,OFFSET FRONTLINE
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
CMP AL,'0'
JB WRO
CMP AL,'4'
JA WRO
CMP AL,'0'
JE EN
MOV BX,(OFFSET TEXT_NUMBER)-2
XOR CX,CX
SUB AL,'0'
MOV CL,AL
OUTPUT:
XOR AX,AX
ADD BX,2
LOOP OUTPUT
MOV DX,[BX]
MOV AH,09H
INT 21H
MOV AH,08H
INT 21H
JMP S1
WR
MOV DX,OFFSET WRO_M
MOV AH,09H
INT 21H
MOV AH,08H
INT 21H
JMP S1
EN:
MOV DX,OFFSET END_LINE
MOV AH,09H
INT 21H
MOV AH,08H
INT 21H
MOV AH,4CH
INT 21H
COSEG ENDS
END START
[em01][em01][em01]