Yura
Aga
Justin
Не, всё-таки дос
електр🟢нік ✙🟠рчбеч ඞ
а вдруг у них апи унифицированное
Justin
Тогда это просто шедевр
­
Апи... В асм...
Justin
*системные вызовы
електр🟢нік ✙🟠рчбеч ඞ
одно и то же
Anatoly
int 21h -> MSDOS
Anatoly
еще в 9x можно было дергать, дальше все
Dmitri
Все не проходит ностальгия по 21h в досе?)
електр🟢нік ✙🟠рчбеч ඞ
10h в биосе**
Vladimir
Все не проходит ностальгия по 21h в досе?)
Это целый культурный пласт
Vladimir
А эти ваши int 2e / sysenter / syscall - попсня попсовая
Ned
есть здесь кто-то, кто писал UEFI Apps?
Vladimir
есть здесь кто-то, кто писал UEFI Apps?
Бери спеку и пиши, там всë разжëвано
Ned
да я вот хочу какой-нибудь высокоуровневый язычок прикрутить по этому поводу типа D или Rust
Ned
а в таком случае нужна какая-то обёртка
Ned
+ научиться линковать PE32+ под Linux
Vladimir
да я вот хочу какой-нибудь высокоуровневый язычок прикрутить по этому поводу типа D или Rust
Да какая разница на чем писать, главное, чтоб бинарник был самодостаточным
Ned
при помощи LLD получалось вроде б
Vladimir
+ научиться линковать PE32+ под Linux
Ну собери кросскомпилятор под mingw64
Ned
+ я не очень знаю, как это всё протестить и отладить под виртуалкой, ибо своя материнка старовата
Vladimir
А зачем Rust?
JeisonWi
There is already Rust app for uefi afaik
https://github.com/GabrielMajeri/uefi-rs
­
Угу, лучше на хтмл писать.
Vladimir
Там же вроде либы рантаймовые нужны, их придется за собой тащить
JeisonWi
Anonymous
Вот только он очень сахарный, на выходе получается вообще что-то сложное и жирное. Хотя я не спец по дизассемблингу, не мне судить.
Anonymous
#СиЖиви #СиНавсегда #СиНиктоНеЗаменит
Jumpcode
No, Rust is exactly good choice, it is like C requires very minimal runtime
что такое минимальный рантайм?
KosBeg
всё что я могу сказать про Rust - это то что он офигенный. Я правда пишу на нем меньше месяца, но полюбил его сразу же. по поводу рантайма и размера бинаря - http://mainisusuallyafunction.blogspot.com/2015/01/151-byte-static-linux-binary-in-rust.html как говорится - "zero-cost abstractions" :D тоесть если размер критичен - то и эту проблему можно решить. А так, у меня под виндой x64 hello world весит ~130кб, x86 - ~120кб. А мой скомпиленый проектик на ~1000 строчек - ~260кб плюс мне в расте нравится что если код скомпилился - то или он работает так как нужно, или ошибка в логике кода, но никак не ошибка рантайма, не утечка памяти, не проблема с указателями, и не прочая хрень. Rust реально крутецкий, советую попробовать!
JeisonWi
Like a libc
Vladimir
libc это много. Для C libc как таковая не нужна, если не считать всякую срань типа __udivdi3, легко реализуемую своими средствами.
­
А ещё есть uclibc. Который как раз так и и используется во всяких встраиваемых лялехах.
­
Musl is more popular these days
Я видел только у си либ си во всяких там OpenWRT, lede да OpenWrt. А чем масл лучше, кроме названия?
JeisonWi
Я видел только у си либ си во всяких там OpenWRT, lede да OpenWrt. А чем масл лучше, кроме названия?
More features than uclibc but not as bloated as glibc or newlib. There is even a desktop distribution built on top of it - Alpine linux
­
Нее, мне как можно компактнее надо, я работаю с девайсами, у которых объём "диска" измеряется в мегабайтах, даже не в десятках, а единицах.
JeisonWi
Also to cut unused functions
JeisonWi
Plus LTO
­
Взгляну потом. Но не спроста даже в lede uclibc является стандартом де-факто.
­
Plus LTO
Что за LTO?
JeisonWi
Что за LTO?
Link-Time-Optimization
JeisonWi
Basically it optimizes on the level of the whole program/binary, not just object files
­
Эт я понял, просто впервые с аббревиатурой столкнулся. :-)
Churchill
че-то 1000строк своих+кор либы в 260кб это дофига
Churchill
у меня уже порядком тысячи набралось и будет расти дальше, но прошивка на mbedos, на плюсах, а не hal и чистый си весит 20кб
Max
у меня уже порядком тысячи набралось и будет расти дальше, но прошивка на mbedos, на плюсах, а не hal и чистый си весит 20кб
20kb mbed os? неплохо, какоц таргет? последний раз блинк на stm32 IoT kit влез в 60... что-то там с вендорными либами не хорошо
Churchill
20kb mbed os? неплохо, какоц таргет? последний раз блинк на stm32 IoT kit влез в 60... что-то там с вендорными либами не хорошо
stm32f401ret6 но это была прошлая компиляция сейчас разралось а собрать не могу(баги)
Churchill
притом был не блинк а вместе с блинком тесты всех интерфейсов и библиотека работы с внешними часами
Churchill
и рассчеты хэша
Alex
Народ , можете из youtube уроков подсказать основы ?
Alex
Заранее спасибо
Max
основы чего?
Anatoly
языка машинных кодов!
Anatoly
для 8086
Vladimir
для 8086
А чего не для Z80?
Anatoly
давай спросим
Vladimir
Или 6502
Anatoly
это все давно похоронили
Vladimir
8086 тоже практически
Anatoly
да брось, интелы еще будут жить не один десяток лет
Vladimir
да брось, интелы еще будут жить не один десяток лет
Ну вон в 2020 legacy bios похерят, не исключено, что и 16-битный режим из процов выпилят
Vladimir
Была уже одна попытка - 80376, но тогда не прижилось
Anatoly
набор команд один хрен тот же, независимо от битности
Anatoly
ну подумаешь пару телег расширений и операнды толще
Anatoly
пфф
Anatoly
но вопрошающий чот сбежал похоже
Vladimir
набор команд один хрен тот же, независимо от битности
Не совсем, в 32-битах адресация другая, mod r/m по-другому интерпретируется
Anatoly
наверное что-то нашел на ютубе полезное