Другие языки программирования и технологии

Запуск ассемблерных программ на "чистом" компьютере.

Можно ли запустить ассемблерную программу на компьютере без единой ОС?
Т. е. запустить программу как ОС?
Если да, то как это надо делать (алгоритм действия) и в какой формат компилировать файл ассемблером (компилятор NASM).
Вот как раз статейка: http://www.xakep.ru/post/28794/ и №2: http://www.xakep.ru/post/28863/default.asp
Андрей Доркин
Андрей Доркин
12 285
Лучший ответ
Можно.
Например, ОС Колибри на FASM создана.
Серега Мякота
Серега Мякота
46 406
Можно. .
Ашот несет ахинею.
Нельзя. Ассемблер делает прогу либо в формате com/exe (нужна DOS), либо elf, bin и еще хз какие (нужна Linux, OS/2, XZ OS)
Только машинный код.
Как бы для спарвки:
Расширение файла .COM (англ. command) использовалось в некоторых компьютерных системах в различных целях.
В системах DOS и в 8-битной CP/M, файл COM — простой тип исполняемого файла, размер которого не может превышать 64 Кбайт-256 байт (65280 = 216 − 28 байт) . COM-файлы для DOS можно выполнять также на эмуляторах, например в среде Windows.
COM и EXE отпадают сразу, ибо сказал что нет ОС.
Также найдите мне ассемблер, дающий сразу же машинный код, без заголовков MZ и COMовских, инициализацию которых проводит DOS! Только машинный код, из obj или bin файлов, с умением работать в HEX и оху@@ым знанием распределения памяти (ибо ОС нет и нужно все делать ручками) , стека, архитектуры процессора и подпрограмм работы с диском низкого уровня. Как бы INT-программное прерывание DOS!!!
Чтобы написать: нужно быть гуру в работе с памятью и стеком.
AK
Arturs Kondratjuks
18 845
Запрос для яндекса: Написание загрузочного сектора. На хакере была статья об этом.
Во что компилировать - в ком, чтобы на сегменты не резал, бут сектор грузится в 0x7c00h.
можно!