[elektro] Munka (C kérdés)
Info
info at kiralyelektronika.hu
Sat Sep 17 18:16:27 CEST 2011
> 0x08004FEA 8912 LDRH r2,[r2,#0x08] ;// félszó beolvasás
Ha LDRSH lenne akkor lenne sign extend, így nem helyes.
Viszont ha int-nek írod akkor meg nem biztos, hogy fogja növelni 32767
fölé. Tehát a count++ -helyett uint16_t(count)++ kellene.
szal ezt:
int16_t count;
if (~count) uint16_t(count)++;
már így kéne fordítaia:
LDRSH r2,[xxx]
MVNS r2,r2
BEQ xxxxxx
>>Nem pont fordítva, hogy csak egyszer végez csak növelést, amikor count==0?>
de, bocsi :)
More information about the Elektro
mailing list