У меня возникли проблемы с определением того, какие инструкции будут изменены компоновщиком, а какие нет. В моем учебнике утверждается, что те, которые будут изменены, - это те, значение которых определяется как начальный адрес программы + - константа. Это дает следующие 2 MIPs примеры:Что действительно делает линкер?
- J есть # Существуют некоторые этикетки в исходной программе
- SW $ 5, результат #where результата является меткой в программе
Затем говорит, что те которые не требуют модификации являются те, чьи выражения не зависят от начального адреса программы
- Li $ l2, buffend-буфер # bufend и буфер ярлыки
- BNE $ 2, $ 0, выход
я, запутался особенно, потому что я думал, что BNE был PC относительной адресации, поэтому я подумал, что это потребует линкера. Я думаю, что мое понимание линкеров не хватает, если кто-то может помочь мне получить некоторое понимание, я был бы очень благодарен.
Спасибо,
ред