Я пытаюсь использовать пользовательский ввод (y/n), но у меня возникают проблемы с сравнением ввода пользователя с соответствующим символом (y или n).Сравнить char для пользовательского ввода char MASM
У меня есть y
и n
определены, а также мой ввод данных пользователем:
cnt = 80
.data
tryResponse BYTE cnt+1 DUP(?)
yesCmp BYTE "y",0
noCmp BYTE "n",0
tryAnother proc
try:
mov edx, OFFSET prompt_3
call WriteString
mov edx, OFFSET tryResponse
mov ecx, cnt
call ReadString
mov eax, OFFSET tryResponse
movzx ebx, yesCmp
mov edx, ebx
call WriteString
movzx ecx, noCmp
cmp eax, ebx
je yes
cmp eax, ecx
je no
invalid:
mov edx, OFFSET invalid_msg
call WriteString
call CrLf
loop try
yes:
jmp main
no:
jmp goodbye
tryAnother endp
Когда я пытаюсь сравнить пользовательский ввод yCmp
или nCmp
, он всегда возвращается как недействительные. Я явно не сравниваю этих персонажей должным образом, я просто не знаю, что я делаю неправильно.