Процессор TI DSP — Создание массива указателей в качестве входного аргумента аргумента функции языка ассемблера

#c

Вопрос:

Я пытаюсь создать массив указателей на языке Си, и я не могу понять концепцию. Я продолжаю получать ошибки компилятора, такие как «выражение должно иметь постоянное значение» или «в этом объявлении нет класса хранения или спецификатора типа».

Цель, которую я пытаюсь достичь, — создать массив указателей, представляющий собой список адресов в памяти, где хранятся данные. Я хотел бы передать этот массив в качестве аргумента функции ASM. Вот фрагмент кода:

 extern void doSomething(Int16**);  Int16 arr1[4] = { // data here }; Int16 arr2[4] = { // data here };  Int16 arr3[4] = { // data here }; Int16 arr4[4] = { // data here }; Int16 arr5[4] = { // data here }; Int16 arr6[4] = { // data here }; Int16 arr7[4] = { // data here }; Int16 arr8[4] = { // data here };  Int16* dataPointers[8] = {arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8 };   doSomething(dataPointers);   

Я работаю с процессором TI, поэтому Int16-это тип данных, определенный TI.

Я использую этот маршрут с указателями на массивы, потому что функция ASM должна иметь все 8 этих адресов, но работать только с 5 регистрами.

Я был бы признателен за любые советы.