Я пишу макрос сборки для C-программы, и, будучи новичком в этом, я кое-что застрял. Я пытаюсь написать макрос для перемещения данных из регистра общего назначения в регистр специального назначения.
Моя проблема в том, что синтаксис, который я нашел для перемещения данных из GPR в SPR, принимает постоянное значение SPR, в то время как я хочу использовать переменную, хранящуюся в другом регистре.
# SPR is constant, rA is the value to be written
mtspr SPR, rA
Мне нужно что-то вроде этого:
# rA contains the number of the SPR, and rB the value to be moved.
AWESOMEmtspr rA, rB
Есть ли причина, по которой такой макрос недоступен, и как мне его сделать самому?
Спасибо заранее.
---- Редактировать: ---- Как сейчас выглядит, у меня есть гигантский переключатель в моем C-коде, который переходит к нужному разделу mtspr. У меня есть двадцать с лишним секций для чтения и записи определенных SPR, каждая из которых выглядит совершенно одинаково, но отличается постоянным значением.