I'm running a CRC32 polynomial division code over a char array in ARM Assembler, and I've come to realize that part of my code is based off of certain assumptions that I shouldn't make before checking. Specifically:
- The size of each char (1 byte?)
- The size of the array in general
Is it fair to assume that this array will be divisible into a number of 32-bit words without remainder? Also, if I modify the array in C to contain X more chars than it should have (in order to be divisible by 32 bits), but do not set those chars, what will they look like in ASM binary? Like, say I allocate the Array as
int buffersize = 2000;
char buffer[buffersize+3];
And then fill exactly buffersize locations in the array; is there anything to tell what the remaining 3 chars would look like in memory? I'd assume they'd be before the first 00000000 byte, as that's the end of the array, is that correct?