c/c++语言开发共享avr gcc内联asm变量输入操作数

我希望能够在运行时确定内联asm函数的端口寄存器

asm(""::"I" (_SFR_IO_ADDR(PORTD))); 

_SFR_IO_ADDR只接受常量

我找到了这些选项,但似乎无法从变量传递寄存器。

 asm(""::"m" (PORTD)); asm(""::"n" (&PORTD)); 

认为这将是一个常见的问题/请求,但似乎无法找到任何答案

    AVR IN指令仅支持立即端口号。 您可能希望尝试使用内存映射访问(如果可用)。 – 杰斯特

      以上就是c/c++开发分享avr gcc内联asm变量输入操作数相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/522887.html

      (0)
      上一篇 2020年12月11日
      下一篇 2020年12月11日

      精彩推荐