Не могу получить ожидаемый результат моей программы на C ++ с вставкой сборки - PullRequest
0 голосов
/ 21 декабря 2018

Я изучаю ассемблер и мне нужно написать программу, которая должна выводить «да» или «нет» в зависимости от того, входит ли число в интервал.Но 0 всегда отображается.Как мне нужно изменить код программы, чтобы получить правильный результат?

Я пытался добавить новую метку для чисел, включенных в интервал, но я получил аналогичный результат.

short a = 5, b = 10;
short n;
cout << "Enter number:";
cin >> n;
short yes = 1;
__asm
{
    mov ax, a
    mov bx, b
    mov cx, n
    cmp ax, bx
    ja no
    cmp bx, cx
    ja no
    jmp exit
    no:
        mov yes, 0
    exit:
}
if (yes == 0) cout << "no";
else cout << "yes";

Я ожидаю получить «да», если число ввода больше 4 или меньше 11, но фактический результат всегда «нет».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...