У меня много проблем, когда я пытаюсь понять, как реализовать это в архитектуре Mips / Mars.
Я делаю игру на линкоре и сохраняю доску в виде массива, который может содержать 100 дюймов.
Мне нужно перебрать массив игрока и преобразовать информацию, хранящуюся в каждой «ячейке», в графические данные с целью отображения доски пользователю.
Мои проблемы связаны с тем, что отображаемые пользователю символы основаны на том, какие значения находятся в каждой ячейке массива.
Если значение равно 0 (пусто), выведите «[]», если 1 (угадано и пусто), напечатайте - «[O]», а если 2 (угадано и найдено), напечатайте - «[X]».
Так что, поскольку я перебираю каждую ячейку в массиве, мне нужно проверить значение и перейти к соответствующей функции печати.
Моя проблема в том, что, если я перехожу на оператор print, как я могу вернуться туда, где был оператор ветвления?
Псевдокод:
Looping through array, 'ArrayCell' = value at current array location
branch if equal ArrayCell, 0, print empty
branch if equal ArrayCell, 1, print miss
branch if equal ArrayCell, 2, print hit
increment array
print empty:
print then jump back to loop
print miss:
print then jump back to loop
print hit:
print then jump back to loop
Как вы возвращаетесь к оператору ветки после печати, чтобы сохранить свое местоположение в массиве?
Большое спасибо!