Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ASM в MSVC7.0, Вставки на асме работают некоректно 
:(
    Опции темы
shedon
  Дата 20.5.2003, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: 4
Всего: 11



Пишу вставку на асме
Код

__asm
{
mov ah, 00h
mov dx, 0
int 14h
mov ah, 01h
mov dx, 0h
mov al, 81h
               int 14h
mov ah, 01h
mov al, 7eh
int 14h
mov ah, 01h
mov al, 1h
int 14h
mov ah, 02h
               int 14h
}

При вызове прирываний возникает исключение, что делать, и вобще какие есть правила для написания асемблерных вставок на си.
Спасибо.


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
Step
Дата 20.5.2003, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



а исключения происходят в твоей программе или в винде, и вообще напиши что делает 14 прерывание


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Guest_shedon
Дата 20.5.2003, 10:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











14 прерывание Это функции биоса для работы с СОМ портом, но дело в том , что при вызове любого прерывание происходит исключение.
  Вверх
Step
Дата 20.5.2003, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



вообщето если ты програмируеш под винду, то вызов прерываний может перехватываться виндой, а ком порт помоему не перехватывает только 9х винды, не перехватывает порты, а вот прерывания не знаю, наверника перехватывает


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Guest_shedon
Дата 20.5.2003, 10:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я пишу под win2000. Так получается, что прерывание мне в принципе не вызвать ?
  Вверх
DENNN
Дата 20.5.2003, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



PM ICQ   Вверх
Step
Дата 20.5.2003, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



вот именно особенно под 2000, та оно и не нужно, ты можеш в ком порт через поток загонять и читать от туда


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Guest_shedon
Дата 20.5.2003, 11:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Да проблема не в порте, с портом я через WriteFile разговариваю. А что за поток ?
  Вверх
Guest_shedon
Дата 20.5.2003, 11:24 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Через outp ?
  Вверх
Step
Дата 20.5.2003, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



ты либо работаеш через файлы, либо через стремы(потоки).... iostream


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Guest_shedon
Дата 20.5.2003, 12:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А вообще какие ещё есть ограничения на использование асемблерных вставок в MSVC.
  Вверх
Step
Дата 20.5.2003, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



есть ограничения только на то что они делают


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Unregistered
Дата 22.5.2003, 01:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата

Да проблема не в порте, с портом я через WriteFile разговариваю. А что за поток ?


Проблема ка раз в порте попробуй поговорить с LPT (шнур принтера вытащи ) через WriteFile - комп зависнит! Можешь поставить какое угодно время ожидания-эфект будет тот же


  Вверх
Guest_IGOR
Дата 22.5.2003, 01:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
А вообще какие ещё есть ограничения на использование асемблерных вставок в MSVC.


Изначально Windows2000 планировалась как ПЕРЕНОСИМАЯ и БЕЗОПАСНАЯ платфома - поэтому прерывания биос (прераготива процесоров INTEL ) и практически ВСЕ остальные будут вызывать исключительные ситуации. Ну если очень хочется - то надо писать драйвер под конкретное устройство!
  Вверх
Guest_shedon
Дата 22.5.2003, 06:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Понятно, спасибо !
  Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1231 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.