У вас есть проблема в использовании реестра $gp
, чтобы сохранить стоимость? Думаю, мой вопрос в том, какова истинная функциональность $gp
, и почему-то она вызывается за кадром, чтобы, если бы я ее использовал, все могло бы пойти очень не так?
5
A
ответ
5
Ну, регистр $ gp указывает на глобальную область. Convention указывает, что вы должны хранить его при написании функции (см. Ccprestore).
Если вам нужно использовать его (если честно, не могу понять, почему), Remeber эти вещи:
1) Всегда храните его в Сохраненный регистр Площадь вашего стека.
2) Всегда загружайте это значение в $ gp при уничтожении стека.
3) Не используйте его. (i) нет доступа глобальный объем)
Кроме того, я не уверен, но вы можете забыть о коде PIC.
Спасибо за совет! – Hristo