почему добавление «print» после cmp приведет к тому, что вывод будет всегда «1st input больше 2nd»? - PullRequest
0 голосов
/ 30 сентября 2019

Если я введу значение, которое должно быть меньше, чем второй вход, вывод всегда будет "1-й вход больше, чем 2-й".

У меня не возникло бы проблем, если бы я поместил "print"chr $ ("Answer:", 10) "перед оператором CMP. Может ли кто-нибудь помочь понять это, я действительно запутался.

.data
    var1 dd 0
    var2 dd 0

.code
start:

here: print chr$("printing a message with loop"), 10
    mov var1, sval(input("Key in 1st num ber: "))
    mov var2, sval(input("Key in 2nd number: "))

    mov eax, var1

    cmp eax, var2

    print chr$("Answer:", 10)

    jg greater
    je equal
    jng notGreater

print chr$("I am here!", 10)

    greater: print chr$("1st input is greater than 2nd", 10)
        jmp termination

    equal: print chr$("1st input is equal to 2nd", 10)
        jmp termination

    notGreater: print chr$("1st input is lesser than 2nd", 10)
        jmp termination

termination: exit
end start

Вот фактический вывод: https://imgur.com/a/p8kclJr

...