Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Писанина своей ос

67K
06 мая 2011 года
ASMCoder
9 / / 06.05.2011
Пишу свою ос RealMode,из за желания получше изучить ассемблер.Пока есть BOOTloader ,своя простейшая ФС,Как-бы командная строка.Вопрос:Как осуществить выполнение процесса и возврат в ОС (*.exe,*.com) и как работают резидентные программы в реальном режиме?
З.Ы.Сиснтаксис FASM
316
06 мая 2011 года
Alm3n
889 / / 29.05.2009
ОС не псевдомногозадачна?
67K
06 мая 2011 года
ASMCoder
9 / / 06.05.2011
Нет.Просто для обучения простейшая ОСЬ
67K
06 мая 2011 года
ASMCoder
9 / / 06.05.2011
Еще есть вопрос:Прочитал в литеретуре что можно объявить в исходном тексте на ассемблере процедуру на си,и вызвать её с параметрами в стеке.А как ету процедуру объявлять,как её компилировать (она же на си???),про это не нашёл...Может кто подскажет как её объявлять,вызывать и как (чем) её компилить?
4
06 мая 2011 года
mike
3.7K / / 01.10.2002
Цитата: ASMCoder
Пишу свою ос RealMode,из за желания получше изучить ассемблер.Пока есть BOOTloader ,своя простейшая ФС,Как-бы командная строка.Вопрос:Как осуществить выполнение процесса и возврат в ОС (*.exe,*.com) и как работают резидентные программы в реальном режиме?
З.Ы.Сиснтаксис FASM



Тут все прочитано?
http://www.codenet.ru/progr/os/

360
06 мая 2011 года
P*t*
474 / / 15.02.2007
Компилировать через gcc с опцией типа -ffreestanding. Еще отдельно написать ассемблерный кусок, который будет запускать функцию main, а потом возвращать управление. И слинковать это дело так, чтоб ассемблерный кусок оказался со смещением 0 от начала файла (тут пригодится опция --oformat binary). Затем получившееся нечто засунуть в вашу простейшую ФС.

про взаимодействие СИ и ассемблера можно, например, тут посмотреть:
http://www.opennet.ru/base/dev/from_c_to_asm.txt.html
316
06 мая 2011 года
Alm3n
889 / / 29.05.2009
P*t*
не проще ли было бы скомпилировать Си код в библиотеку и потом прилинковать, как все остальные библиотеки? или не линковать, а использовать GetProcAddres.
360
07 мая 2011 года
P*t*
474 / / 15.02.2007
Цитата: Alm3n
P*t*
не проще ли было бы скомпилировать Си код в библиотеку и потом прилинковать, как все остальные библиотеки? или не линковать, а использовать GetProcAddres.



Ммм... Не знаю. Я написал, как сам делал в аналогичном случае. Про свой способ точно знаю, что он работает. И могу код привести.
Разве что у меня в 32-битном режиме работает, а 16-битный для real mode GCC вроде как не умеет компилить (года 4 назад я тут задавал глупые вопросы на эту тему ;) ). Можно попробовать использовать bcc.

316
07 мая 2011 года
Alm3n
889 / / 29.05.2009
ASMCoder
свою процедуру или из стандартной библиотеки?
260
07 мая 2011 года
Ramon
1.1K / / 16.08.2003
Не пугайте так

Выясняем чем отличается компиляция от линковки.
А для 16 бит есть и DJGPP ко всему прочему.

PS: И не забудьте, чтобы объектники которые вы пытаетесь линковать имели одинаковый формат.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог