это МК ? Или компьютер ?
Сначала надо узнать, что должно получиться в итоге
Это комп c TurboC++3.
В итоге должно быть 1 2 3 4 5 6 7 8 9 10
В более общем случае будет прерывание от LPT (с частотой несколько кГц), чтение из него, запись в BuffList, а параллельно чтение из BuffList и обработка данных
Проверил Ваши предложения. Ваша обработка прерывания дает те же результаты.
А распечатка
//распечатка
struct BuffList* curr=first;
for(;curr;){}
вылетает не входя в цикл.
Вставлял текст из обработки прерывания в main (заполнял циклом) все работает.
Предполагаю, что почему-то неправильно работает malloc при работе с прерыванием.
Жду еще предложений.