Реализация инструкций MIPS для функции абсолютного значения
В этом семестре я действительно изо всех сил в классе EE, и мой преподаватель изучает инструкции MIPS, как будто мы в совершенстве владеем им! Я пробовал книги, Google, YouTube, репетиторство и общение со студентами, но это либо не имеет смысла, либо они недостаточно уверены в себе, чтобы помочь.
Я действительно мало уверен в том, как начать код. Я настроил это, но не знаю, что делать. Я предоставлю вопрос и обновлю то, что имею, когда получу помощь.
Вопрос:
"Используя только целочисленные инструкции MIPS, напишите функцию, которая сделает x = abs(y), где x и y - числа с плавающей запятой. Ваша функция должна правильно обрабатывать только обычные значения с плавающей запятой, а не NaN и т. Д."
Попытка в работах:
(пока не достигли прогресса:()
####
#
# Float absolute value
#
# x = abs(y)
#
.text
.globl myabs
myabs:
li $t0,y #register t0 = y
# more code..
#
jr $ra # return
Если кто-то может предоставить хороший справочный материал, советы, предложения, советы, подсказки или что-то еще, я был бы очень признателен! Благодарю.
1 ответ
Итак, ieee754.
Читайте об этом.
Думаю об этом.
Поймите, это знаковая величина.
На MIPS случается так, что бит знака находится в той же позиции в слове, что и старший значащий бит в целом числе.
load float as integer x
AND x with 0x7fffffff
store x as float