Размер массива известен только во время выполнения в MIPS

Итак, у меня есть настольная игра, и ожидается, что пользователь введет размер доски 3,4,5...будет 3х3, 4х4, 5х5 и т.д...

Здесь:

board: .word 0:100  # declare a board of size 100 and make ints '0' , O = 1, X = 2

Как видите, это статическое объявление... Мне нужно каким-то образом создать массив SIZE пользовательского ввода, найденного, например, в t0...


person Amzraptor    schedule 17.10.2013    source источник


Ответы (1)


Похоже, вам нужно выделить немного памяти в куче. Эмулятор MARS syscall для этого $v0 = 9, $a0 = количество байтов для выделения, возвращает адрес выделенной памяти в $v0. Источник: функции системных вызовов MIPS, доступные в MARS

Таким образом, ваши шаги будут такими:

  • Получить размер массива от пользователя
  • квадрат это
  • Сделайте системный вызов 9 с размером, который вы рассчитали
person RobertB    schedule 17.10.2013