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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2009, 17:44   #1
AJlxuMuk
 
Регистрация: 08.10.2009
Сообщений: 8
По умолчанию Загрузка чистой программы с flash

Появилось желание написать программу, которая будет грузиться не под управлением сторонней ОС, а сразу - с загрузочного сектора (при помощи БИОС). Сразу прошу не задаваться вопросом, зачем мне это нужно; я хорошо осознаю, что написание собственной ОС занятие неперспективное. На данный момент я заинтересован только загрузчиком маленькой программы.
Итак, покопавшись в Интернет-ресурсах, я нашел ответ на свой вопрос, да только подготовка ко всей этой прелести происходит под Linux: http://gazette.linux.ru.net/lg77/art...shnakumar.html
Загрузочный сектор я написать смогу. Далее - записать его нужно не на флоппи, а на флэш-диск. При том используя средства Windows (там приведен пример под Linux), желательно используя среду VS 2005 и выше.
Да и потом там производят очистку исполняемого файла от заголовка, для получения "чистого" кода. Все это средствами Linux, что мне не подходит.
Жду отзывов. Если кто этим занимался - опишите, пожалуйста, весь процесс и, если возможно, иллюстрируйте исходниками.
AJlxuMuk вне форума Ответить с цитированием
Старый 12.10.2009, 00:35   #2
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

На данный момент я занят той же проблемой. Будет ли BIOS эмулировать физическую структуру дискеты на флешке, я не знаю, потому пока что пробую просто записать пару секторов на флешку. Загрузчик вам так или иначе придется писать на ассемблере. Причем, лучше что бы вы его написали полностью - включая ту часть которая будет переходить в защищенный режим, так как там много чего нужно сделать с самим процессором. Например перепрограммировать localAPIC что бы внешние прерывания устройств не съезжали на эксепшены процессора. Я бы на вашем месте писал бы все на ассемблере - так как будет полный контроль происходящего. А компиляторы - они могут где попало наставить оффсетов совершенно левых, а дебаг в таком случае очень затруднен - единственное человеческое решение для дебага я видел под Linux - это оболочка для Debug-режима Bochs.
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Старый 12.10.2009, 00:49   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Bochs
он же и под вин есть
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.10.2009, 01:03   #4
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

Bochs да, а расширение для Debug-а только под Linux.
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DynamicSkinForm - загрузка списка скинов в list Box при запуске программы dani92 Компоненты Delphi 3 20.08.2009 19:22
Flash? Tirendus Свободное общение 5 31.07.2009 13:40
Алгоритм подсчёта чистой прибыли (Delphi) dmitriyzahar73 Фриланс 3 02.04.2009 16:56
Как сделать что бы при открытии программы база была чистой Moel БД в Delphi 3 08.08.2007 18:19