Mips Assembly печатать строку печатает странный знак отрицания вместо цикла - PullRequest
0 голосов
/ 14 сентября 2018

Кто-нибудь сталкивался с подобной проблемой? Я понятия не имею, почему это происходит, но я замечаю, что когда я запускаю свою программу некоторое время (> 7 или 8 циклов, повторяя функцию печати), в середине цикла результат начинает выводить символ отрицания "¬ "вместо" Введите целое число: \ n ", как и предполагалось. Я знаю, что цикл все еще повторяется, и команда после того, как он все еще работает - он все еще читает целые числа, которые я ввожу, и помещаю его в массив, и когда я выхожу из функции, чтобы вернуться к вызывающей функции, печать там работает отлично - просто функция печати в этом разделе не всегда работает ... Я новичок в MIPS, поэтому я был бы признателен, если кто-то может помочь объяснить мне, почему. Вот фрагмент кода:

readArray:
        li      $t2, 0          #t2 = i
        startwholeloop:
            blt     $t2,$t1,smallerthanHowMany
        j   exitwholeloop
        smallerthanHowMany:
            blt     $t2,9,smallerthanlength
        j   exitwholeloop
            smallerthanlength:
             li          $v0, 4                # $v0 = 4  --- this is to call print_string()
             la          $a0, message1         #"Enter an integer: \n"
                     syscall                           # call print_string
             li          $v0, 5                # $v0 = 5
                     syscall     
             move        $t3, $v0           #store num int in t3
             sw      $t3, 0($a1)        #store value num to first element of array
             addi        $t2,$t2,1          #i++
             addi        $a1,$a1,4              #increment a1 to move to next address
             j       startwholeloop
...