во-первых, удобный для автора, во-вторых, да, отличия есть. Например, больше никаких указателей, ссылок и прочего! если же какой-то либе или хардваре нужен именно адрес, то его можно взять макросом-функцией OFFSET. Планируется ещё много деталей, но пока что это всё, что успел.
несомненно, эта статья рассчитана на новичков в Python. Я считаю, что эта статья должна получить боььше плюсов, чем сейчас, ведь новички чаще учатся новым для них языкам именно из статей/туторов, чем из референсов, которые для новичка часто могут быть непонятны (говорю по своему опыту)
Я умею писать на С, просто мне нравится ассемблер. В статье про это написано. И да, не отрицаю что в листингах происходят переопределения сишных типов `\_(;-;)_/`
Надо же :) Впрочем, я сейчас работаю над следующей частью - планирую сделать некое подобие DOS Shell, только на свой лад, потом сделать автозагрузку сценария из boot.sh, выйдет, по-моему, неплохо. Однако проблема в том, что UEFI, TianoCore и EDKII рассчитаны на язык С, и мне сложно "добывать" информацию под ассемблер. Что ж, сейчас пытаюсь написать макро, который в цикле сканирует клавишу пока не встретит CRLF. Звучит просто, а с проблемой этой уже весь день сижу, аж стыдно :_)
тогда в таком случае написание ОС с нуля не получилось бы и при legacy boot - ведь BIOS уже сделал первоначальную настройку и тестирование железа, настроил прерывания и сегментные регистры. Не спорю, Legacy boot требует больше кода, но по вашей логике это тогда тоже не с нуля.
во-первых, удобный для автора, во-вторых, да, отличия есть. Например, больше никаких указателей, ссылок и прочего! если же какой-то либе или хардваре нужен именно адрес, то его можно взять макросом-функцией OFFSET. Планируется ещё много деталей, но пока что это всё, что успел.
да и мне не нужен язык из темплейтов и пр.
несомненно, эта статья рассчитана на новичков в Python. Я считаю, что эта статья должна получить боььше плюсов, чем сейчас, ведь новички чаще учатся новым для них языкам именно из статей/туторов, чем из референсов, которые для новичка часто могут быть непонятны (говорю по своему опыту)
Да вроде нет.. г2ч3, все верно.. г1 - разработка под 32-бита и legacy, потом передумал - начал г2, разработка под 64-бита и EFI.
даа, помню пытался собрать ядро Linux на винде, тот ещё ад. ну, сейчас у меня Linux mint и Wine, так что проблем таких нет..
ну, может быть. мне то сейчас 14 y/o, так что, может поэтому?
Я же писал - просто я обожаю ассемблер
Забыл добавить скриншот
2.4 Мб
несложно подправить и перекомпилировать под arm, там Tup, имхо
окей, все равно ещё не до конца определился
Я умею писать на С, просто мне нравится ассемблер. В статье про это написано. И да, не отрицаю что в листингах происходят переопределения сишных типов `\_(;-;)_/`
Это по-моему было лишним. Можно было бы хотя бы vga/cga capability прослойку оставить чтобы проще было.
Ей вдохновляюсь и некоторые файлы (например struct.inc) из её ядра беру :)
Надо же :) Впрочем, я сейчас работаю над следующей частью - планирую сделать некое подобие DOS Shell, только на свой лад, потом сделать автозагрузку сценария из boot.sh, выйдет, по-моему, неплохо. Однако проблема в том, что UEFI, TianoCore и EDKII рассчитаны на язык С, и мне сложно "добывать" информацию под ассемблер. Что ж, сейчас пытаюсь написать макро, который в цикле сканирует клавишу пока не встретит CRLF. Звучит просто, а с проблемой этой уже весь день сижу, аж стыдно :_)
хорошо, приму это к сведению :)
тогда в таком случае написание ОС с нуля не получилось бы и при legacy boot - ведь BIOS уже сделал первоначальную настройку и тестирование железа, настроил прерывания и сегментные регистры. Не спорю, Legacy boot требует больше кода, но по вашей логике это тогда тоже не с нуля.
Честно, мне тоже, но у меня малинки нету `\_(^-^)_/`
Написание ОС с нуля: ...
Ну а за ссылку спасибо, может из исходников тиана че-нидь таки возьму
хотел плюсануть, но уже нельзя :(