Как определить, равен ли пользовательский ввод указанным символам MIPS - PullRequest
1 голос
/ 07 апреля 2019

Я пытаюсь получить ввод от пользователя в виде строки в MIPS.

Есть две вещи, которые я хочу сделать, чтобы получить ввод, проверка на наличие ошибок, если строка не равна тому, что яхочу.

По сути, моя идея в том, что я хочу захватить ввод и затем проверить, равен ли ввод какой-либо из букв AP.Если он не равен этим, если он не равен, я хочу, чтобы он зацикливался до тех пор, пока пользователь не введет значение, равное этим

Вещи, которые я пытался использовать, являются beq или Branch, если они равнык.Я не могу понять, как бы я использовал это для сравнения строк с целочисленными значениями, как вы это обычно делаете.

Ниже приведен код, который я пытаюсь реализовать, это, очевидно, неправильно.Но я хотел дать вам, ребята, возможность увидеть, что я пытаюсь сделать, чтобы вы, возможно, дали мне какое-то руководство для решения этой проблемы.

getGridInput

    li $v0, 8 #This read input for string
    la $a0, getGridPrompt
    syscall

    #if input is not equal to a-p, then jal getGridInput
    beq   $a0, "a",  getCellInput
    beq   $a0, "b",  getCellInput
    beq   $a0, "c",  getCellInput
    beq   $a0, "d",  getCellInput
    beq   $a0, "e",  getCellInput
    beq   $a0, "f",  getCellInput
    beq   $a0, "g",  getCellInput
    beq   $a0, "h",  getCellInput
    beq   $a0, "i",  getCellInput
    beq   $a0, "j",  getCellInput
    beq   $a0, "k",  getCellInput
    beq   $a0, "l",  getCellInput
    beq   $a0, "m",  getCellInput
    beq   $a0, "n",  getCellInput
    beq   $a0, "o",  getCellInput
    beq   $a0, "p",  getCellInput

    jal gelGridInput
...