NickB53 (30.10.2019 10:57, просмотров: 1) ответил VLLV на А есть какие-то уже придуманные макросы/функции для сдвига битов в uint64_t ?
Вот что дает Keil: Код
static uint64_t TestValue = 1;
uint64_t Test(void)
{
TestValue <<= 48;
return TestValue;
}
Асслемблер
71: TestValue <<= 48;
0x080020F8 4804 LDR r0,[pc,#16] ; @0x0800210C
0x080020FA 8800 LDRH r0,[r0,#0x00]
0x080020FC 0400 LSLS r0,r0,#16
0x080020FE 2100 MOVS r1,#0x00
0x08002100 4A02 LDR r2,[pc,#8] ; @0x0800210C
0x08002102 E9C21000 STRD r1,r0,[r2,#0]
72: return TestValue;
0x08002106 4611 MOV r1,r2
0x08002108 C903 LDM r1,{r0-r1}
73: }