как загрузить адрес метки в реестр в powerpc - PullRequest
0 голосов
/ 20 февраля 2019

Какой фрагмент кода встроенной сборки лучше всего загрузить адрес метки в регистр?

I can do this easily in x86 or ARM. E.g.
lea my_label, %rax
...
my_label:
...
In PPC, should I use $PC and relative address to compute the address of the label? How to do that?

Thanks

1 Ответ

0 голосов
/ 23 февраля 2019

ОК, это, вероятно, сложнее, чем я думал.Это может работать:

void* f(void)
{
  void* var_reg;
  asm volatile(
      "lis %[var_reg], my_label@ha\n"
      "la %[var_reg], my_label@l(%[var_reg])\n"
      "my_label:\n"
      : [var_reg]"=&r"(var_reg)
  );
  return var_reg;
}
...