🦥Alex Fails
да
Ned
биос инициализирует устройства, и грузит с них код в порядке приоритета. откуда именно с устройства начинает исполняться код?
Ned
словом, куда пишутся загрузчики?
🦥Alex Fails
MBR - в нулевой сектор 0 дорожки, вроде б
Ned
а MBR - это не таблица, где сказано, откуда какой сектор начинается и где кончается? + тип, размер, бутфлаг, итд?
🦥Alex Fails
я не совсем в теме этого
🦥Alex Fails
как освобожусь, я поищу инфы и напишу сюда
Олег
есть нулевой сектор - у hdd - там хранится партишин тэейбл. Как все происходит - читай вот этот абзац https://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BE%D1%87%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C#.D0.90.D0.BB.D0.B3.D0.BE.D1.80.D0.B8.D1.82.D0.BC_.D0.B7.D0.B0.D0.B3.D1.80.D1.83.D0.B7.D0.BA.D0.B8_.D0.BA.D0.BE.D0.BC.D0.BF.D1.8C.D1.8E.D1.82.D0.B5.D1.80.D0.B0_.D1.81_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5.D0.BC_MBR
Олег
да, а потом управление передается на активный логический раздел
Олег
а там уже менюшка рисуется - все дела)
Олег
еще вот это последнее время тема пошла https://ru.wikipedia.org/wiki/%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_GUID
Ned
а откуда загрузчик грузит ОСь - это дело загрузчика, так?
Ned
то есть если пишешь свою ось, тебе нужен свой загрузчик, который будет правильно её запускать?
🦥Alex Fails
Да
Олег
ну загрузчик уже содержет модуль чтения файловой системы...
Ned
кхм...
Ned
а что если у меня есть флеха и я хочу заставить комп исполнять свой код? что мне для этого нужно?
Ned
код лежит на этой флешке
Олег
MBR на флехе должен быть, в партиции должн быть загрузчик.
Олег
код исполняймый можно вместо загрузчика вставить
Олег
на хабре статью видел про это - чел показывал как запускать код без оси
Ned
если код не на асм, а на С, что ему может понадобиться сверх того?
Олег
там как раз в этой статье было про это
🦥Alex Fails
Тож гдето читал
Олег
я уже не помню- вроде ничего такого уж и не надо.
Олег
там вроде дело с ключами компилятора
Ned
главное чтоб код был статичен, ага?
Олег
но могу ошибаться
Олег
возможно
Ned
ну да, понятное дело, что либы ему сосать неоткуда...
Ned
а достаточно ли libc чтобы без абстракции ядер и ОСей иметь доступ к клаве и фреймбуфферу?
Олег
в той статье это тоже было.
Олег
там вроде даже несколько их было... автор даже графический режим переключал вроде
🦥Alex Fails
Там веса режимы вроде были?
🦥Alex Fails
VESA
Sergey
Sergey
Разводка ужасна, да
Sergey
Но работает
Sergey
Замучался пиздец
Олег
красавчик
Sergey
а на vhdl бы 10 строчек
Sergey
:D
Sergey
и готово
Олег
X<=a * b;
Sergey
ага
Ned
прости, что это?
Sergey
Умножитель
Sergey
Немного рефакторинга
Sergey
Sergey
двух 4 битных чисел
Sergey
Беззнаковый только
Sergey
До n бит легко расширяется
Sergey
Само собой способ умножения хреновый
Sergey
Сложением
Sergey
Но на что-то большее у меня не хватит нервов и желания :D
Sergey
Такое руками разводить заебешься
🦥Alex Fails
а регистром сдвига?
Sergey
Так тут как раз
🦥Alex Fails
блеа)
Ned
fasm, nasm, gas?
Sergey
оно тут как бы в цикле само с собой складывается B раз
Sergey
Получается A*B = A+A+A+A... B раз
Ned
м?
ну чем различаются, кто лучше?
Sergey
не смогу ответить
Ned
чем различаются ELF и ELF64?
Андрей
А не проще ли умножение битовыми операциями сделать поразрядно? Как в столбик в школе делали.
Андрей
Хотя лучше просто mul использовать и не выделываться.
Андрей
Тут на ттл логике чел сделал
А, ну тогда самое простое сделать умножение 1битных чисел, а после в цикле раскрыть на n бит.
Sergey
Ну вот ты как умножаешь 2 числа в столбик? Берешь первое и умножаешь его на все число, потом второе и умножаешь на все число. Потом всю эту каракатицу складываешь
Sergey
Я делал таким алгоритмом
Sergey
Его нельзя сделать тактируемым (ну мне мозгов не хватило)
Sergey
Оно поразрядно и работает. В эти блочки спрятано много логики
Sergey
Сумматоры складывают поразрядно и еще формируют бит переноса (это когда результат больше 5 бит0
Sergey
Компаратор тоже поразрядно сравнивает
Pavel 🕷
У фасма крутой метапроцессинг