Поиск:

Ответ в темуСоздание новой темы Создание опроса
> загрузка операционных систем, процесс загрузки системы 
:(
    Опции темы
Logree
Дата 16.12.2009, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.11.2006
Где: Самара

Репутация: нет
Всего: 2



Цитата

вот, вопрос в том, что тут же перекрываются адреса, т.е. если сегментный адрес  и смещение в пределах от 0000 до FFFF, например:
13E5h x 10h + 17h = 13E50h + 17h = 13E67h 
и
13E6h x 10h + 07h = 13E60h x 07h = 13E67h

так получается, что сегментный адрес имеет не весь диапозон от 0000 до FFFF

собственно, как это понять? или может я что недопонимаю?

Всё правильно smile - сегменты могут перекрываться, сегментный адрес имеет весь диопазон до 0FFFFh (адрес сегмента должен быть кратен 10h)
Пример:
чтобы загрузить программу по физ.адресу 10600h ты можешь
1. занести в сегментный регистр CS=1060h в IP=0000 (на рпямую с IP работать нельзя для этого нужно сделать jmp 1060h:0000h)
2. занести в сегрегистр CS = 1000h в IP=0600h (jmp 1000h:0600h)
в обоих случаях ты попадёшь на один и тот же код, только если ты таким образом передаёшь управление программе для первого случая нужно указать org 0, для второго org 0600h.
Цитата
2) когда запускается программа, у нее есть как минимум три сегмента (cs, ds, ss)
не понимаю, каким образом в них записываются адреса соответствующих сегментов и как они разбросаны в оперативной памяти? предполагаю, что это делает каким то образом операционка, ну а если просто эта программа загружается во время загрузки(типа как загрузчик), кто ж тогда нахначает адреса этих сегментов? всю жизнь считал, что исполняемый код представляет некую так сказать абстракцию, и весь это код последовательно загружается в оперативную память и последовательно выполняется(т.е. получается, что код загрузился по какому то адресу, а в сегментные регистры записываются адреса из этого загруженного кода соответствующие адреса сегментов)


прои загрузке сначала из ПЗУ копируется и запускается код BIOS, а вот он-то и назначает для загрузчика CS=0000h IP(OFFSET)=7C00h
Вообще выше я тебе уже советовал почитать Bios Boot Specification  там про это написано более подробно, ды и эта информация есть практически в любой статье про "написание собственного загрузч(щ)ика" smile



--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
500mhz
Дата 16.12.2009, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: нет
Всего: 14



я так понимаю ТС хочет свой мсдос написат, я бы посоветовал смотреть в сторону flat mode (unreal mode)  там и фрейм буффер и памяти вся что есть и адресное пространство линейное


--------------------

PM MAIL ICQ   Вверх
Logree
Дата 16.12.2009, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.11.2006
Где: Самара

Репутация: нет
Всего: 2



Цитата

я так понимаю ТС хочет свой мсдос написат

ТС с вами не согласен smile
Цитата

хочу изучить ядро FreeBSD



--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
500mhz
Дата 16.12.2009, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: нет
Всего: 14



какая связь между загрузкой , сегментами памяти и ядром которое работает в пмоде и грузиться какимнить лилом или грубом? кстати сорцы последних паблике лежат , да и ядра тоже, изучай нехочу )))) имхо тут завуалированое оседевелоперство )


--------------------

PM MAIL ICQ   Вверх
Logree
Дата 16.12.2009, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.11.2006
Где: Самара

Репутация: нет
Всего: 2



smile Вы слишком много смотрели Коломбо


--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
500mhz
Дата 16.12.2009, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: нет
Всего: 14



омг!
сударь мы с вами земляки (Тольятти) но я там 11 лет как не живу (я не в России), неужели и туда докатился Коломбо? )))


--------------------

PM MAIL ICQ   Вверх
Logree
Дата 16.12.2009, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.11.2006
Где: Самара

Репутация: нет
Всего: 2



Да, отметился smile



--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
BSDyashnik
Дата 16.12.2009, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 12.12.2009

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



спасибо, уже разобрался

целью написать ОС для себя не ставлю, цель другая, хорошо понимать проц, этапы загрузки и функционирование ядра


PM   Вверх
Logree
Дата 16.12.2009, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.11.2006
Где: Самара

Репутация: нет
Всего: 2



Это ты сейчас так говоришь ;)


--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
BSDyashnik
Дата 17.12.2009, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 12.12.2009

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



 smile 
PM   Вверх
500mhz
Дата 17.12.2009, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: нет
Всего: 14



TC увиливает ) 99% умеющих кодить пытались написать свой мсдос )))


--------------------

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



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



Цитата(500mhz @  17.12.2009,  11:29 Найти цитируемый пост)
99% умеющих кодить пытались написать свой мсдос )))

откуда статистика?
PM MAIL ICQ   Вверх
500mhz
Дата 17.12.2009, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: нет
Всего: 14



GoldFinch
а что сударь вы попал в 1%?


--------------------

PM MAIL ICQ   Вверх
Logree
Дата 17.12.2009, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.11.2006
Где: Самара

Репутация: нет
Всего: 2



только не мсдос а свою МОГООСЬ.


--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
GoldFinch
Дата 17.12.2009, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



500mhz, я не занимаюсь бессмысленными вещами, это же относится и ко многим
PM MAIL ICQ   Вверх
Google
  Дата 23.5.2019, 14:07 (ссылка)  





  Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Linux/Unix"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для Linux/Unix | Следующая тема »


 




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


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

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