Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2012, 10:21   #1
Новичок!
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 35
По умолчанию Объясните код

есть код(qbasic):
Код:
FOR i = 1 TO 10000
OUT i, 0
NEXT
когда запустили у друга на компе, тот страшно запищал,появились сообщения об ошибках, потом прога вырубилась и вроде всё стало норм, но после перезагрузки стал показавать BSOD, пришлось переустанавливать винду. Почему?
Новичок! вне форума Ответить с цитированием
Старый 15.06.2012, 10:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

out - команда вывода данных в некий порт. В данном случае (я не знаю как винда пропустила) ты ей порты обнулил. В ДОСе это приводило к крашу, но винду этим положить... Сомневаюсь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.06.2012, 10:27   #3
Новичок!
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 35
По умолчанию

Но BSOD то появился
Новичок! вне форума Ответить с цитированием
Старый 15.06.2012, 10:44   #4
Новичок!
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 35
По умолчанию

Цитата:
В данном случае (я не знаю как винда пропустила) ты ей порты обнулил.
а после перезагрузки они так и остались обнуленными?
Новичок! вне форума Ответить с цитированием
Старый 15.06.2012, 13:20   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Я вообще не знаю почему этот код так на винду повлиял...
Она просто должна была выкинуть ошибку... По крайней мере у меня так было. Но чтоб дрова порвать...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.06.2012, 14:19   #6
Новичок!
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 35
По умолчанию

У нас тоже появлялись ошибки (вроде что то про невозможную операцию) , но мы жмали ОК и прога продолжала работать... Странно
Новичок! вне форума Ответить с цитированием
Старый 15.06.2012, 18:14   #7
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

В этой связи возникает 2 вопроса:
1. Зачем нужно было писать эту программу?
2. С какой целью запускать ее на своем компьютере?

Строго говоря, "правильная" программа должна бы выглядеть так:
Код:
FOR i = 0 TO 65535
OUT i, 0
NEXT
s-andriano вне форума Ответить с цитированием
Старый 16.06.2012, 09:41   #8
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Я вообще не знаю почему этот код так на винду повлиял...
Да не мог он так повлиять: в самом начале цикла находятся порты контроллера DMI и прерываний - если система даёт доступ к ним, то дальше компьютер в лучшем случае в перезагруз уйдёт. Скорее всего, BSOD явился результатом сбоя в работе другого процесса, не связанного с программой.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 16.06.2012, 11:13   #9
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

А если не дает?
А если первые порты, к которым можно получить доступ из прикладной программы, это CMOS?
s-andriano вне форума Ответить с цитированием
Старый 17.06.2012, 05:38   #10
Новичок!
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 35
По умолчанию

А если её запустить в виртуальной машине, это не повлияет на основную систему?
Новичок! вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните код tinton Помощь студентам 7 10.05.2012 21:05
Объясните код ANtonP Помощь студентам 1 22.02.2011 21:19
Объясните код Neymexa SQL, базы данных 1 23.03.2010 17:55
Объясните код Neymexa Общие вопросы по Java, Java SE, Kotlin 1 29.11.2008 02:33
объясните код Rend1 Общие вопросы Delphi 18 01.02.2008 14:52