ARM Cortex M0,移位缓冲器,位级

ARM Cortex M0, shift buffer, bitlevel

我需要在 Cortex M0 上按位快速移位缓冲区。 可以使用内联汇编来获取缓冲区地址

static uint8_t tmp[30];

并向右旋转 1 个位置(进位)?

我找不到关于 M0 上的 gcc 内联汇编的正确指南。在 PIC16,18 微芯片上, 我只是简单地使用带(默认)进位的旋转,每个缓冲区(内存地址)一个指令一个接一个地使用

rlf   buff+0,F
rlf   buff+1,F
rlf   buff+2,F
etc

M0 可以吗?

提前致谢,

在 GCC 中,要获取缓冲区的地址,请使用:

ldr r0, =#tmp

您还可以使用 .asm 指令旋转:

RORS {Rd,} Rm, Rs

有关此指令的详细信息,请使用您的微型品牌编程手册。