Bolic Опубликовано 20 августа, 2004 Жалоба Share Опубликовано 20 августа, 2004 КАК В ЗАЩИЩЕНКЕ ПЕРЕПРАВИТЬ BIOS_ные ВЕКТОРА ПРЕРЫВАНИЙ (по-другому: как сделать так чтобы прерывания BIOSа работали в защищенном режиме), а то программить хард через порты ввода вывода как-то не улыбается. Я понимаю, что это(прерывания BIOSa) не подходит для защищенки, поэтому второй вопрос: как переделать их так, чтобы при вызове в защищенке(PM) работало все нормально. Ссылка на комментарий Поделиться на другие сайты More sharing options...
NightWolF Опубликовано 20 августа, 2004 Жалоба Share Опубликовано 20 августа, 2004 Bolic Ассемблерщик? Под Винды чтоль писать что-нить собрался? Или как? Я чегот не понял? И что тебе через порты не нравиться? Ссылка на комментарий Поделиться на другие сайты More sharing options...
AL-GALI Опубликовано 20 августа, 2004 Жалоба Share Опубликовано 20 августа, 2004 Видимо, придется переключаться в режим виртуального х86. Общая схема: Real mode -> Protected mode -> Virtual Mode. Если отобразить логическое адресное пространство туда, где лежит BIOS - должно заработать. Но, прерывания-то все равно надо обрабатывать в PM. Определять свою IDT... Вобщем, читаем Фроловых и тематические сайты. Если интересует литература - смотрим тут: http://wm.astpage.ru/~galilov/documents/ Фроловы тут http://wm.astpage.ru/~galilov/documents/ Если проблемы с закачкой - пишите, постараюсь организовать на CD. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Bolic Опубликовано 20 августа, 2004 Автор Жалоба Share Опубликовано 20 августа, 2004 Пасиб. ТОКА В PM'e вроде незя перенаправить BIOS'ные прерывашики ил я не прав? Ссылка на комментарий Поделиться на другие сайты More sharing options...
Yujin Опубликовано 21 августа, 2004 Жалоба Share Опубликовано 21 августа, 2004 жутко.. неужели ассемблер еще в моде??? а че на нем делают то сейчас?? не ну понятно что там дрова всякие и прочие вири поганые... ну там для игрушек с графикой... да и то все на цэ делают... но вообще то.. в обыденной профессиональной жизни типа зачем это надо???? мож я че непойму.... я так и не изобрел себе ни одной задачки, гдеб мне асм понадобился... хотя мож я другим занимюсь конечно... но блин... порты какието... биосы... хрениосы.... жуть.... Ссылка на комментарий Поделиться на другие сайты More sharing options...
Bolic Опубликовано 21 августа, 2004 Автор Жалоба Share Опубликовано 21 августа, 2004 Yujin'u: Ты не прав на асме много че ща делают: практически все ядра операционок делают на асме. например MenuetOS полностью на ассемблере сделана. Не тока ядро. Результат-> реактивная у ещё одного фина ОС получилась. И ещё: в защищённом режиме, без поддержки ОС тока на Асме напишешь. Для разработки больших проджектов он мало подходит, но там прерывашку к клаве сделать, вири(не поганые) и.др. маленькие фичи- самый раз. Ссылка на комментарий Поделиться на другие сайты More sharing options...
AL-GALI Опубликовано 21 августа, 2004 Жалоба Share Опубликовано 21 августа, 2004 жутко.. неужели ассемблер еще в моде??? а че на нем делают то сейчас?? не ну понятно что там дрова всякие и прочие вири поганые... ну там для игрушек с графикой... да и то все на цэ делают... но вообще то.. в обыденной профессиональной жизни типа зачем это надо???? мож я че непойму.... я так и не изобрел себе ни одной задачки, гдеб мне асм понадобился... хотя мож я другим занимюсь конечно... но блин... порты какието... биосы... хрениосы.... жуть.... Местами без него - никак. Например, придумайте, как сложить два 8192-битных целых числа без использования ассемблера. Напишите вариант на Си или Паскале, а я вам покажу на том же языке с ассемблерной вставкой. Скорость выполнения программы можно будет сравнить. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Bolic Опубликовано 21 августа, 2004 Автор Жалоба Share Опубликовано 21 августа, 2004 AL-GALI> Скорость это само-сабой разумеющееся для Асмы. Но тока для продуманных алгоритмов. Если бы вы написали безтолковую прогу на тематику вами предложенную(сложение огр.чисел) и блестяще выполненную на C++ ил др. ЯВУ- ПРога на ЯВУ выиграет. Преимущество(основное) асма не в реактивности, а в низкоуровневости(а второе является следствием первого). Я так думаю. Ссылка на комментарий Поделиться на другие сайты More sharing options...
AL-GALI Опубликовано 22 августа, 2004 Жалоба Share Опубликовано 22 августа, 2004 Bolic> Согласен, но не на 100%. Назовите высокоуровневый аналог аналог пары команд ADD и ADC. Например, имея 16-разрядные регистры (и переменные - помните когда-то int был 16 бит), можно складывать числа большой разрядности за счет флага переноса. Последовательность MOV AX, 0FFFFh ; FFFF = 65535 = 2^16 - 1 = 11111111 11111111 MOV BX, 0 ADD AX, 1 ADC BX, 1 Даст в BX результат 2, в AX останется 0. Работает так ADD AX,1 == 11111111 11111111 + 1 -> 1 00000000 00000000 (17-ый разряд уходит в перенос CF) ADC BX,1 == 00000000 00000000 + CF + 1 -> 00000000 00000010 Итого имеем 00000000 00000000 11111111 11111111 BX:AX + 00000000 00000001 00000000 00000001 --------------------------------------------------- 00000000 00000010 00000000 00000000 То же самое для 32-битный, 64-битный и каких угодно еще версий целочисленной арифметики. Как это сделать на ЯВУ? Сложение "по цифоркам" строк вида "3452356547023432" и "5460950369546054" возможно, но явно неэффективно при любой реализации. Ссылка на комментарий Поделиться на другие сайты More sharing options...
AL-GALI Опубликовано 22 августа, 2004 Жалоба Share Опубликовано 22 августа, 2004 практически все ядра операционок делают на асме Далеко не все. Переносимые ядра на ассемблере не пишут (если только самую малость). WinNT, Linux, FreeBSD написаны большей частью на Си. Исключения единичны. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Bolic Опубликовано 22 августа, 2004 Автор Жалоба Share Опубликовано 22 августа, 2004 AL-GALI> Ладно, про операционки я загнул. Но согласитесь,что задача, где надо складывать 8192-битные числа в программирование неочень-то часто в встречается. И ещё, что мы спорим, ассемблер несомненно гибкий язык по сравнению с любыми ЯВУ. И ещё- ответьте на вопрос заданный в самом начале:КАК В ЗАЩИЩЕНКЕ ПЕРЕПРАВИТЬ BIOS_ные ВЕКТОРА ПРЕРЫВАНИЙ, или придётся создавать свои прерывания? Ссылка на комментарий Поделиться на другие сайты More sharing options...
AL-GALI Опубликовано 22 августа, 2004 Жалоба Share Опубликовано 22 августа, 2004 КАК В ЗАЩИЩЕНКЕ ПЕРЕПРАВИТЬ BIOS_ные ВЕКТОРА ПРЕРЫВАНИЙ Пользуйтесь DOS-экстендером dos4gw.exe. Найти можно тут http://www.filesearch.ru/cgi-bin/s?q=dos4gw.exe&t=f&d= Описание интерфейса надо поискать... Ссылка на комментарий Поделиться на другие сайты More sharing options...
Bolic Опубликовано 22 августа, 2004 Автор Жалоба Share Опубликовано 22 августа, 2004 AL-GALI> МОЖЕТ ВЫ НЕ ПОНЯЛИ: У МЕНЯ МОЯ ПРОГА В BIN'e. Ссылка на комментарий Поделиться на другие сайты More sharing options...
AL-GALI Опубликовано 22 августа, 2004 Жалоба Share Опубликовано 22 августа, 2004 МОЖЕТ ВЫ НЕ ПОНЯЛИ: У МЕНЯ МОЯ ПРОГА В BIN'e. Видно, не понял... Значит, конкретного ответа дать не смогу. Возможно, заставить работать BIOS в PM сложнее, чем написать свои функции для аппаратуры. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Bolic Опубликовано 22 августа, 2004 Автор Жалоба Share Опубликовано 22 августа, 2004 AL-GALI> Я тож так думаю. И на счёт аппаратных также. А исключений тем более. Щас аппаратник для клавы начну писать(ударение на втором слоге). Вы меня поняли, что я собрался делать? Ссылка на комментарий Поделиться на другие сайты More sharing options...
AL-GALI Опубликовано 22 августа, 2004 Жалоба Share Опубликовано 22 августа, 2004 Щас аппаратник для клавы начну писать(ударение на втором слоге). Вы меня поняли, что я собрался делать? Понял. Обработчик ввода от клавы. Наподобие INT 16H. Удачи. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Bolic Опубликовано 22 августа, 2004 Автор Жалоба Share Опубликовано 22 августа, 2004 Щас аппаратник для клавы начну писать(ударение на втором слоге). Вы меня поняли, что я собрался делать? Понял. Обработчик ввода от клавы. Наподобие INT 16H. Удачи. Видать не поняли. Я в глобальном смысле. И ещё: "Наподобие INT 16H" - тока если бы INT9 было тоже самое что и INT16H Ссылка на комментарий Поделиться на другие сайты More sharing options...
AL-GALI Опубликовано 22 августа, 2004 Жалоба Share Опубликовано 22 августа, 2004 Ну не понял, так и не понял. Видно не дано Ссылка на комментарий Поделиться на другие сайты More sharing options...
Bolic Опубликовано 22 августа, 2004 Автор Жалоба Share Опубликовано 22 августа, 2004 ОСЬ. ДЛЯ САМОРАЗВИТИЯ. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Marik Опубликовано 23 августа, 2004 Жалоба Share Опубликовано 23 августа, 2004 Балин, и тут флейм! Bolic Для саморазвития ось... это сильно! (или ничего не получится, что чаще всего получается при отсутствии финансирования) или в миру появится ещё одна ненужная и непродоваемая ось/клон. Извини за пессимизм, но так и есть. (не хочу никого обидеть) AL-GALI Сударь, мне очень понравилось, что для асма вы придумали "толковый алгоритм сложения целых чисел", а для ЯПВУ предложили заведомо неправильный. ))) Из разряда: Вот если сравнить по мощности наш Муромец и вашу старую кобылу... так она ж ещё и срёт... Кхее... увлёкся, извините. Bolic Если уж собрался ОСь писать, то прерывания BIOS на фиг не нужны. Любая толковая ОС имеет собственные функции для работы с железом. Отсюда вывод - или вы пишите не ОС, а дос-подобную лабуду (извините, ДОС хотя и называется ОСью, но по сути - гамно это), или же я совсем не понял. PS: Конечно же никого не хотел обидеть. Извините если что не так. )) Все права защищены. CopyLeft, 2004. Всем Респект Ссылка на комментарий Поделиться на другие сайты More sharing options...
Bolic Опубликовано 23 августа, 2004 Автор Жалоба Share Опубликовано 23 августа, 2004 Marik'у> Читай внимательно: ОСЬ для саморазвития(Защищенка как-то легче понимаеться), а не для самовыражения и для выгоды А ты сам-то под защищенку проги писал? Ссылка на комментарий Поделиться на другие сайты More sharing options...
Marik Опубликовано 24 августа, 2004 Жалоба Share Опубликовано 24 августа, 2004 Писал. В школе, когда делать нечего было. А саморазвитие тебе всё-равно нужно для дальнейшего самовыражения, что будет материально оценено (если сам постараешься) Ссылка на комментарий Поделиться на другие сайты More sharing options...
Bolic Опубликовано 24 августа, 2004 Автор Жалоба Share Опубликовано 24 августа, 2004 Marik'y> Постараюсь Ссылка на комментарий Поделиться на другие сайты More sharing options...
AL-GALI Опубликовано 24 августа, 2004 Жалоба Share Опубликовано 24 августа, 2004 AL-GALI Сударь, мне очень понравилось, что для асма вы придумали "толковый алгоритм сложения целых чисел", а для ЯПВУ предложили заведомо неправильный. ))) Что же в алгоритме для ЯПВУ заведомо неправильного, учитывая, что я его не приводил...? Если вы про сложение "по цифоркам", то это как раз тот алгоритм, которым мы складываем "в столбик" с переносами. Что там заведомо неправильного? Если Вам не нравится словосочетание "сложение ... строк", то я поясню: в некоторых ЯВУ, например С++, можно определить собственное действие для операции над объектами заданного класса. Например, "+" для объекта "строка" может и сложение чисел производить, представленных в виде текстовых строк. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Marik Опубликовано 25 августа, 2004 Жалоба Share Опубликовано 25 августа, 2004 AL-GALI Никто не сомневается в ваших познаниях в ЯП. Но складывать числа, представляя их строками... это уж как-то слишком... неправильного в нём - заранее низкое быстродействие (ведь в своём посте вы о быстродействии говорили). Спасибо за пояснение С++, конечно, хотя и не понятно кому оно нужно. Если уж говорить о сложении чисел, то и работать логичнее с числами. При чём тут вообще строки? Ссылка на комментарий Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Заархивировано
Эта тема находится в архиве и закрыта для дальнейших ответов.