Здравствуйте, я пытаюсь создать массив из 3 индексов, который будет заполнен функцией, в которую я его передаю.
@ r4 contains length
sub sp, sp, #12 @ allocate 3 indexes for NEW array
mov r3, #4 @ r3 = 4
mul sp, sp, r3 @ sp = (# array elements)*4
mov r0, r4 @ r0 = r4 = length parameter
mov r1, sp @ r1 = (sp*index number) len[0] parameter
bl convert2pixel @ convert2pixel(length, len)
Здесь что-то не так. потому что я продолжаю segfaulting, когда я перехожу к convert2pixel
Convert2Pixel C Код:
void convert2pixel(int length, unsigned char len[3])
{
// byte3-byte2-byte1
unsigned char byte1, byte2, byte3;
byte1 = (unsigned char)(length % 256);
byte2 = (unsigned char)((length >> 8) % 256);
byte3 = (unsigned char)((length >> 16) % 256);
len[0] = byte1;
len[1] = byte2;
len[2] = byte3;
}