В общем, проблема в следующем. Пытаюсь вызвать прерывание 16h. При компилировании ошибки не выдает, но при запуске сразу вылетает.
Конкретно - вот тот самый код: Код (Text): #include<stdio.h> #include<windows.h> #include "conio.h" void main() { WORD test_buf; __asm { mov ah,0100h int 16h mov test_buf,ax } printf("%u",test_buf); }
Windows -- совсем не DOS и механизм прерываний работает в нем совсем по-другому. API реализован не в виде прерываний, а в виде функций из подключаемых библиотек. В общем, прерывания в Win использовать таким образом нельзя.
т.е. ты в косольной виндовой проге для опроса stdin используешь сервис биоса. Поэтому и вылетает. Попробуй эту вставку в DOSовском приложении - все получится. А здесь надо юзать соотв. ф-цию типа cscanf.