R
прост не разу не видел примеров программирование на ллвм
Anonymous
; const char str[14] = "Hello World!\00" @.str = private unnamed_addr constant [14 x i8] c"Hello, world!\00" ; declare extern `puts` method declare i32 @puts(i8*) nounwind define i32 @main() { call i32 @puts( i8* getelementptr ([14 x i8]* @str, i32 0,i32 0)) ret i32 0 }
Vladimir
прост не разу не видел примеров программирование на ллвм
поэтому он и называется INTERMEDIATE representation
Anonymous
программы на gas или llvm будут весить много больше
R
я думаю либо FASM либо GAS
лучше gas юзай, ибо он встроен в гцц и делать вставки в сишный код оч удобно
Anonymous
тогда уж проще на си написать прогу
R
тогда уж проще на си написать прогу
мб, чтоб библиотечки заюзать
Anonymous
я хочу чтобы программа была максимально легкая
Anonymous
я бы написал на питоне генератор тогда уж для каждой оси
R
Тогда на фасме без лишних инклюдов
R
фасм реально оч компактный
R
а gcc, возможно и gas тоже, генерируют слишком большие бинарники
R
вот я ОС пишу, (с + gas) там пока кроме консоли и менеджера физ памяти ниче нет, а ядро уже почти 40 кб
R
на фасме было бы раз в 10 меньше
Anonymous
я вот хочу компилятор написать
Anonymous
пока подбираю инструмент
R
я вот хочу компилятор написать
Я уже писал, погляди https://github.com/gimadutdin/myPL_compiler
Anonymous
а, у тебя там vm, а я native пишу (хотя сути не меняет)
R
а, у тебя там vm, а я native пишу (хотя сути не меняет)
там до построения AST включительно у нас с тобой одинаково будет
Anonymous
угу
R
Ребят, у меня очень важный вопрос
R
Существуют ли трансляторы с одного ассемблера на другой?
R
с fasm x86 на arm8 например
R
чтоб не руками переписывать
kitsu
И как ты себе это представляешь?
kitsu
вот mov cr0, eax ты как будешь транслировать?
R
вот mov cr0, eax ты как будешь транслировать?
ну мб кроме этих спец инструкций можно как то большую часть перегнать
kitsu
ну мб кроме этих спец инструкций можно как то большую часть перегнать
Ну я привел пример навскидку, думаю их еще вагон и маленькая тележка. В любом случае нужна семантика программы, а в статике ее не получить. Если нужно только запустить смотри в бинарную трансляцию (например qemu)
R
Ну я привел пример навскидку, думаю их еще вагон и маленькая тележка. В любом случае нужна семантика программы, а в статике ее не получить. Если нужно только запустить смотри в бинарную трансляцию (например qemu)
Да, про эту тему слыхал. Типа эльбрусы могут х86 так транслировать. Но мой безумный вопрос вызван желанием портировать колибриОС на арм хотя бы теоретически
Aiwan \ (•◡•) / _bot
­
Ass?
Yura
Кто нить занимается high frequency traiding? Я почитал про подготовку к этому делу а именно - уменьшение времени ядра в линуксе. Вопрос. Кто нить из этого чата ковырялся в этом? Просто из того что видел - есть определенные готовые сборки ядра которыми просто можно пропатчится....
Yura
А в чем вопрос то?
Про ядро линукса интересно. Что в первую очередь "оптимизируют" каким образом и т д
kitsu
Про ядро линукса интересно. Что в первую очередь "оптимизируют" каким образом и т д
Ну оптимизация в любом случае идет от потребностей. Находится уское место - оно и тюнится. Например таймауты на tcp или еще куча всего
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
Оптимизируют, оптимизируют, а потом накатывают wine :/
Anonymous
Про ядро линукса интересно. Что в первую очередь "оптимизируют" каким образом и т д
Отключают ненужную поддержку, заменяю модули энтропии на аппаратные или более быстрые, всяко делают. Вон как выше человек сказал: От задачи и потребностей
Yura
А вы все трое этим делом занимаетесь??
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
Anonymous
Anonymous
Там каждый второй помогает в разработке
Anonymous
В разработке ядра?
Anonymous
В разработке ядра?
Нет, в ней куда как меньше народа ибо особо двигать то нечего
Anonymous
В какой разработке они помлгают?
Anonymous
В какой разработке они помлгают?
В молчаливой. Узнай в чате генту
Maksym
Привет, надор, я тут столкнулся с проблемой, кочу сделать int call, но система перезагружается при выполнении pushfl и popfl соотвественно
Maksym
педалю самодельное ядро если что)
Maksym
+
Maksym
ну не сискол, ну типо ОС готовой нима)
Maksym
я делаю int call биусу
R
скорее всего ты делаешь прерывание, но оно не обрабатывается никем
R
обработчика нету
R
поэтому происходит пиздец
Maksym
IDT наверное надо поднять 🤔
Maksym
и IRQ
R
да, с таблицей прерывание чето
Maksym
оки, спасибо
Vladimir
Привет, надор, я тут столкнулся с проблемой, кочу сделать int call, но система перезагружается при выполнении pushfl и popfl соотвественно
В нулевом кольце pushf/popf трапаться не должны, вероятнее всего проблема со стеком. смотри что в ss:esp
Vladimir
Что такое byte 0xCD; .byte 0? int 0 - это обработчик ошибки div
kitsu
https://www.eejournal.com/article/ibm-gives-away-powerpc-goes-open-source/
­
Ты тоже теперь тут?
Vitaliy ◀️TriΔng3l▶️
А можете пустить @DarkPerl? Насчёт товарища с иероглифами — возможно, но на свой страх и риск)
електр🟢нік ✙🟠рчбеч ඞ
Хорош
Anonymous
Привет. Подскажите, пожалуйста, существуют ли книжки по ассемблеру и архитектуре х86 в разрезе имплементации бакенда компилятора? Можно на англ.
Aiwan \ (•◡•) / _bot
#book ms dos
Aiwan \ (•◡•) / _bot
#book ms dos masm как раз для новичков, имхо
Aiwan \ (•◡•) / _bot
#book ЦИФРОВАЯ ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И МИКРОПРОЦЕССОРЫ М.М. Алиев
Aiwan \ (•◡•) / _bot
#book К. Касперски Искуство дизассемблирования +CD
Aiwan \ (•◡•) / _bot
#book BIOS ДИЗАССЕМБЛИРОВАНИЕ МОДИФИКАЦИЯ ПРОГРАММИРОВАНИЕ + CD
Aiwan \ (•◡•) / _bot
#book конспект лекций ms dos masm
Aiwan \ (•◡•) / _bot
Ned
помогите расковырять бивис мамки
Ned
где у него точка входа вообще?