Hi, I am new to this forum and needing some help from the gurus. I am sure this will be an easy one. I am studying assembly for the first time and I need some help with an assignment, which is working fine except for 1 thing. This assignment has a main program and a subprogram. The main is TestYes and the subprog is YesNo. The problem is when the user enters a character other than y/Y or n/N the program goes to "(Y or N)?"... which is GOOD, that's ok so far. But, coming out of that with an n/N directs the program to "Do you want to continue (Y or N)? instead of "Really Stop".
Anyway, like I said, I am pretty green as far as assembly language is concerned and I am probably overwriting alot of code, but that's just where we are in the book/process, so bear with me there, since we have just left learning about jumps and moving on to subprograms now. The codes for each are below. Thanks.

MLB

;;YesNo.asm

INCLUDE PCMAC.INC

.MODEL SMALL
.586
.STACK 100h
.DATA

Prompt1 DB '(Y or N)? $'
Prompt2 DB 13, 10, '$'




.CODE
EXTRN PutDec: Near
PUBLIC YesNo

YesNo PROC
_Begin

_PutStr Prompt1 ;Prompt to enter y or n
_GetCh
mov bl, al
_PutStr Prompt2
cmp bl, 121 ;ascii for 'y'
je ItsaY ;positive for a y/Y
cmp bl, 89
je ItsaY ;positive for a y/Y
cmp bl, 110 ;ascii for 'n'
je ItsaN ;positive for n/N
cmp bl, 78 ;ascii for'N'
je ItsaN ;positive for n/N
call YesNo ;Start over


ItsaY:

mov bx, 1 ;makes bx = 1
ret
ItsaN:

mov bx, 0 ;makes bx = 0
ret


YesNo ENDP
END YesNo


Subprogram....

;;TestYes.asm

INCLUDE PCMAC.INC

.MODEL SMALL
.586
.STACK 100h
.DATA

Prompt1 DB 'Do you want to continue $'
Prompt2 DB 'Really Stop $'
Prompt3 DB 13, 10, 'Done $'
Prompt4 DB 13, 10, '$'


.CODE
EXTRN YesNo : Near
PUBLIC testyes
TestYes PROC
_Begin

_PutStr Prompt1
call YesNo

cmp bx, 0
jne EntryofY
_PutStr Prompt2
_GetCh
mov bl, al
cmp bl, 121 ;equals y
je EntryofN ;done
cmp bl, 89 ;equals y
je EntryofN ;done
_PutStr Prompt4
call TestYes

EntryofY:
call TestYes

EntryofN:
_PutStr Prompt3
jmp Finish

Finish:
_Exit

TestYes ENDP
END TestYes