/*
	ABI соглашения о вызовах функций

	main НА C ВЫЗЫВАЕТ Read_Sym НА ассемблере, а она 
	Trans_Sym - тоже на ассемблере

    	Вызывающая программа на C в файле call-as.c
    	функции на ассемблере в соотв. файлах

	Байты из массива Symbols читаются по одному.
	Если прочтен код цифры, то он преобразуется
	в 4-байтовое целое, иначе в значение -1.
	Результат записывается в элементы массив Numbers.
 */

 #include <stdio.h>

/* прототип функции Read_Sym

   Параметр 1 - количество символов, кот. надо обработать
   Параметр 2 - адрес первого элемента массива
*/

extern void *Read_Sym(int, char*);

/* массив результатов*/
 
int Numbers[10];

int main()
{ 
    char Symbols[14] = "91A23B456C789";  /* исходный массив*/
    int i;
	
    printf ("%s\n",Symbols);
	 
    Read_Sym(8, Symbols);          /* вызов as функции */
     
    /* печать результата */

    for (i = 0; i < 8; i++)
        printf("%d\t", Numbers[i]);

    return 0; 
}

