Я использую архитектуру SPARC. Мне нужно обновить номер длинного аргумента, не возвращая его, но я не знаю, как это сделать, потому что входные регистры используются как для параметров, так и для возврата значения. Я видел, используя такие инструкции, как
add %l0, %l1, %i1
что можно изменить содержимое регистра i, но, насколько я могу судить, это изменяет «копию» параметра, а не сам параметр. Я экспериментировал с командой загрузки и командой сохранения такими способами, как
ld [%o1], %i1
и
st %l1, [%fp-8]
и они, кажется, не меняют то, что мне нужно изменить.