Re[2]: __asm in VC6
От: Dr_Sh0ck Беларусь  
Дата: 26.06.02 03:29
Оценка: 3 (2)
Здравствуйте fuurin, Вы писали:


A>>Почему не работает __asm в VC6 ?

A>>Ни досовские, ни BIOS'овские функции не работают, а в BC5 все нормально, почему? Может компилятору или линкеру надо чего-то сказать?

F>Стандартный компилятор в поставке VC6 создаёт только Win32 приложения, а они, ясное дело, о прерываниях DOS понятия не имеют. Аналогично, прерывания BIOS защищены от прямого вызова в любой нормальной мультизадачной системе, и из Win32 приложения до них достучаться не просто.

F>Если ты пишешь под DOS, то и компилятор бери соответственный. Если работать удобно в Visual Studio, то прикручивай к нему этот компилятор.

Машинный код команды вызова прерывания не зависит от того ДОС это или ВИН — CD XX (XX — номер прерывания). Другое дело, что механизм вызова прерывания в реальном(ДОС) и защищенном(ВИН) режимах разный. Да и прерывания BIOS не рассчитаны на работы в защ. режиме. а компилятор тут не при чем. Прада, писать проги под ДОС VC 6.0, конечно, не поможет.
Do not fake yourself ;)
ICQ#: 198114726
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.