Как добавить более одного условия в al oop на языке ассемблера MIPS? - PullRequest
0 голосов
/ 25 февраля 2020

В настоящее время я работаю над проблемой домашнего задания для кода ассемблера, который требует от нас проверить, является ли число четным или нечетным. Я подумываю сделать if / else l oop, который вычитает заданное число на два, пока число не станет равным 1 или 0, и затем проверяет, какое из них это, чтобы можно было сказать, что число нечетное или четное (даже если 0, нечетное, если 1). Однако у меня есть одна проблема: я не знаю, как добавить условие, которое проверяет, является ли число 1 или 0. Кроме того, я не уверен, правильно ли я прыгаю на каждый l oop, а также написать код, который сообщит пользователю в тексте, что число является четным или нечетным. Вот код, который я сейчас обдумываю:

    addi s0,0,x                  #x is substituted with whatever number the user wants to check
    addi s1,0,2
    addi s2,0,0 
    addi s3,0,0

    bne s0, s2,else OR s0, s3,else       #Here, I want the code to check if s0 equals s2 or s3.  If so,
                                         #I want itt to jump to a second if statement that will tell you 
                                         #if the number is even or odd.  If it is not, I want it to jump 
                                         #a loop that subtracts by 2 again.
   else:                                  
       sub s0, s0, s1                      # Here I'm pretty sure I have my subtraction right, but how do 
                                           # I jump back to the for loop to check if it is 1 or 0 again?                    
...