Стоит ли создавать функцию, если код функции короче кода для сохранения регистров, которые он использует в стеке? - PullRequest
1 голос
/ 26 марта 2020

Я программировал некоторую домашнюю работу для универа, и у меня возник вопрос:

Стоит ли создавать функцию, если код функции короче кода для сохранения регистров, которые он использует в стек?

Позвольте мне объяснить это с помощью некоторого кода:

Я пытался вернуть значение указанной позиции c внутри двумерного массива cubi c, используя этот код прямо здесь:

mul $v0, $a1, $a3
add $v0, $v0, $a2
mul $v0, $v0, DATA_SIZE
add $v0, $v0, $a0

Где:

  • DATA_SIZE - размер данных, хранящихся в массиве
  • $ v0 - это значение, которое мы хотим получить доступ и возврат
  • $ a0 - базовый адрес массива
  • $ a1 - координата строки
  • $ a2 - координата столбца
  • $ a3 это длина массива (длина строк и столбцов, которая равна, потому что это cubi c)

Мне было интересно, стоило ли это сделать функцию, которая делает это, как код сохранить в стек значения $ v0, $ a0, $ a1, $ a2 и $ a3 и вернуть эти значения поздно На самом деле r больше, чем внутри функции.

Заранее спасибо!

...