Yoda писал(а):
Я имел ввиду всего лишь простой образ вообще без файловой системы, но такой чтобы грузилось скомпилированное в файл ядро.
Да, виртуалки легко делают пустой диск, а как ткда записать бинарник то?
pavia писал(а):
Тоже считаю что современные языки устарели. Но пока нет идей как сделать лучше.
Сам по себе компилятор бесполезен, а если есть система, то программируя в ней на асме хочется некоторые моменты систематизировать.
Например тот же стек (кстати узнал недавно, что процы АРМа его не требуют, а bl (аналог call) помещает адрес возврата не в стек, а в регистр LR, было бы интересно про них почитать, у них ещё говорят прерывания используют отдельные наборы регистров), в кривой IA-32 в стеке адреса вызовов, переменные, параметры, история сна, ... . При изучении АРМов вообще, всё что делалось для IA-32 кажется бредом, а особенно подход к загрузчикам(труд Yodы окажется бесполезным) система не должна зависеть от архитектуры так сильно. А на АРМах скоро все будем, IA-32 скоро умрёт(формально уже).
Параметры компиляторы не позволяют смотреть прошлой функции, а я на асме могу спокойно через [esp+] смотреть параметры позапрошлой функции, про использование ebp для выделения параметров это вообще такой бред. Реч о том, что компилятор может спокойно отслеживать изменения в стеке и адресоваться на переменные в стеке прошлых функций.
В трансляторе мне только не хватает голой инструкции для формирования таблицы релокации если org не известен, а то, что эти таблицы создаются для существующих форматов, это мне не нужно, как и сами форматы.
В создании системы на данный момент считаю самым главным организовать работу с объектами имеющими стек, его переключение в системе и хранение там задач и всего остального, соответственно самое интересное.