O11111 发表于 2021-11-3 01:50:33

如何让编译器在 R5 中期望参数?

我需要从汇编代码中调用 C 函数。
我如何让编译器知道这个 C 函数将在 r5 寄存器中接收它的参数?
内联汇编可能会以某种方式提供帮助?
例如,如果我可以直接从内联汇编中调用 C 函数,那么这将得到解决

O11111 发表于 2021-11-3 06:04:37

本帖最后由 O11111 于 2021-11-3 06:05 编辑

void dummy_decode(DECODER *dec)
{
    int *pcm[] = {dec->out_left_buffer->write_ptr, dec->out_right_buffer->write_ptr};
    //...
    libDecode_type(dec->decoder_data_object, (uint8 *)dec->in_buffer->read_ptr, pcm, &dec->num_input_octets_consumed, fmt);
    //...
}

__asm void dummy_move_decoder(DECODER *dec)
{
    @[
      .restrict dec:bank1_with_rmac<R5>
      .trashed r0
   ]
   @{r0} = @{dec}
   call $dummy_decode
   
}
这样的东西会起作用吗?
dummy_decode 是要从汇编语言中调用的函数
页: [1]
查看完整版本: 如何让编译器在 R5 中期望参数?