DSEG SEGMENT
STRING DB 'Please select 1 or 2 or 3!',0dH,0aH,'$'
STAR DB '*'
BLANK DB ' '
STRING1 DB '******************',0dH,0aH,'$'
STRING2 DB '* *',0dH,0aH,'$'
STRING3 DB '* *',0dH,0aH,'$'
STRING4 DB '* *',0dH,0aH,'$'
STRING5 DB '******************',0dH,0aH,'$'
STRING13 DB ' ******* ',0dH,0aH,'$'
STRING14 DB ' * * ',0dH,0aH,'$'
STRING15 DB ' * * ',0dH,0aH,'$'
STRING16 DB ' * * ',0dH,0aH,'$'
STRING17 DB ' * * ',0dH,0aH,'$'
STRING18 DB ' * * ',0dH,0aH,'$'
STRING19 DB '* *',0dH,0aH,'$'
STRING20 DB '* *',0dH,0aH,'$'
STRING21 DB ' * * ',0dH,0aH,'$'
STRING22 DB ' * * ',0dH,0aH,'$'
STRING23 DB ' * * ',0dH,0aH,'$'
STRING24 DB ' * * ',0dH,0aH,'$'
STRING25 DB ' * * ',0dH,0aH,'$'
STRING26 DB ' ******* ',0dH,0aH,'$' DSEG ENDS STACK
SEGMENT PARA STACK 'STACK' DB 256 DUP (?)
STACK ENDS
CSEG SEGMENT
MAIN PROC FAR
ASSUME CS: CSEG, DS: DSEG SS: STACK
START: PUSH DS
MOV AX,0
PUSH AX
MOV AH,9
MOV DX,SEG STRING
MOV DS,DX
MOV DX,OFFSET
STRING INT 21H
MOV AH,01H
INT 21H
AGAIN: CMP AL,'1'
JZ NEXT1
CMP AL,'2'
JZ NEXT2
CMP AL,'3'
JNZ TMP
JMP NEXT3
TMP: CMP AL,'q'
JNZ NEXT1
JMP EXIT
NEXT1: MOV AH,02H
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
MOV AH,09H
MOV DX,OFFSET
STRING13 INT 21H
MOV DX,OFFSET STRING14
INT 21H
MOV DX,OFFSET STRING15
INT 21H
MOV DX,OFFSET STRING16
INT 21H
MOV DX,OFFSET STRING17
INT 21H
MOV DX,OFFSET STRING18
INT 21H
MOV DX,OFFSET STRING19
INT 21H
MOV DX,OFFSET STRING20
STRING DB 'Please select 1 or 2 or 3!',0dH,0aH,'$'
STAR DB '*'
BLANK DB ' '
STRING1 DB '******************',0dH,0aH,'$'
STRING2 DB '* *',0dH,0aH,'$'
STRING3 DB '* *',0dH,0aH,'$'
STRING4 DB '* *',0dH,0aH,'$'
STRING5 DB '******************',0dH,0aH,'$'
STRING13 DB ' ******* ',0dH,0aH,'$'
STRING14 DB ' * * ',0dH,0aH,'$'
STRING15 DB ' * * ',0dH,0aH,'$'
STRING16 DB ' * * ',0dH,0aH,'$'
STRING17 DB ' * * ',0dH,0aH,'$'
STRING18 DB ' * * ',0dH,0aH,'$'
STRING19 DB '* *',0dH,0aH,'$'
STRING20 DB '* *',0dH,0aH,'$'
STRING21 DB ' * * ',0dH,0aH,'$'
STRING22 DB ' * * ',0dH,0aH,'$'
STRING23 DB ' * * ',0dH,0aH,'$'
STRING24 DB ' * * ',0dH,0aH,'$'
STRING25 DB ' * * ',0dH,0aH,'$'
STRING26 DB ' ******* ',0dH,0aH,'$' DSEG ENDS STACK
SEGMENT PARA STACK 'STACK' DB 256 DUP (?)
STACK ENDS
CSEG SEGMENT
MAIN PROC FAR
ASSUME CS: CSEG, DS: DSEG SS: STACK
START: PUSH DS
MOV AX,0
PUSH AX
MOV AH,9
MOV DX,SEG STRING
MOV DS,DX
MOV DX,OFFSET
STRING INT 21H
MOV AH,01H
INT 21H
AGAIN: CMP AL,'1'
JZ NEXT1
CMP AL,'2'
JZ NEXT2
CMP AL,'3'
JNZ TMP
JMP NEXT3
TMP: CMP AL,'q'
JNZ NEXT1
JMP EXIT
NEXT1: MOV AH,02H
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
MOV AH,09H
MOV DX,OFFSET
STRING13 INT 21H
MOV DX,OFFSET STRING14
INT 21H
MOV DX,OFFSET STRING15
INT 21H
MOV DX,OFFSET STRING16
INT 21H
MOV DX,OFFSET STRING17
INT 21H
MOV DX,OFFSET STRING18
INT 21H
MOV DX,OFFSET STRING19
INT 21H
MOV DX,OFFSET STRING20


