Maxim
Понятно
usernameak
всем остальным он... не очень
КТ315
он идёт в комплекте с гнутым тулчейном
Потому что GAS это и есть просто С компилятор. И очень неприятно писать код на ассемблере, когда знаешь, что компилируешь это мегабайтной программой, которая может это скомпилировать и в С-синтаксисе, абсурд получается.
usernameak
GAS это часть binutils, а не gcc, и си он компилировать не умеет
usernameak
это уже фича gcc, который по совместительству может препроцессить ассемблерные исходники перед передачей их в GAS
usernameak
It does not do macro processing, include file handling, or anything else you may get from your C compiler’s preprocessor. You can do include file processing with the .include directive (see .include). You can use the GNU C compiler driver to get other “CPP” style preprocessing by giving the input file a ‘.S’ suffix. See the ’Options Controlling the Kind of Output’ section of the GCC manual for more details из документации
КТ315
так-то нет
Да, он написан на С.
usernameak
Да, он написан на С.
какая разница на чём он написан
КТ315
какая разница на чём он написан
Потому что не осилили написать это на своём же инструменте и продемонстрировать возможности. Это показывает их отношение.
usernameak
Maxim
😄
Maxim
Да гну впринципе за бесплатно не заморачиваются
usernameak
И что это меняет?
кому вообще нужен селфхостящийся ассемблер?
s54820
Потому что не осилили написать это на своём же инструменте и продемонстрировать возможности. Это показывает их отношение.
Я прямо так и вижу, как бинутилс переписывают на асме под каждую официально и не официально поддерживаемую платформу, чтобы единственный рандомный человек из тг был счастлив.
usernameak
зачем?
usernameak
и вообще, как ты мультиплатформенную софтину напишешь на асме?
КТ315
зачем?
Потому что маленький размер, высокая скорость (скорее всего), и я уверен в его возможностях - как минимум, на нём можно написать точно такой же компилятор.
usernameak
GCC умеет эмитить исходники на GAS :)
Maxim
Почему сюда картинки нельзя скидывать?
Maxim
Покажи.
Че теперь простые смертные тебе в личку писать не могут? 😄
КТ315
Че теперь простые смертные тебе в личку писать не могут? 😄
Да, премиум купил, машину купил, надо как-то ограждаться от ассемблерных хейтеров.
Maxim
Крч какой hello world в Фасме и Си мне проще с Си начать а потом копать в Фасме
Maxim
Понял
Maxim
Да, премиум купил, машину купил, надо как-то ограждаться от ассемблерных хейтеров.
Ты с чего начал когда только начинал изучать программирование и как дальше развивался?
Maxim
Понятно
КТ315
Alexey
Учи FASM. Под дос
Почему под дос?
The Bird of Hermes
Почему под дос?
А пофиг под что, фасм он и в Африке фасм
The Bird of Hermes
Вызов функций он не оптимизирует
The Bird of Hermes
Мы на о3 чекали для алгоритма вычисления арктангенса
The Bird of Hermes
Он вызов функции степени оставил, хотя там возведение в степень можно оптимизировать
The Bird of Hermes
Там это конечно было в цикле
notme
А вот нет
Ок, надо чекнуть, я не чекал, сказал наобум 😄
­
Почему под дос?
Потому что он однозадачный и псевдореалтаймовый.
usernameak
usernameak
usernameak
гораздо более практично
Дмитрий
подскажите как это будет выглядеть на сях? #asm CALL 3FFh MOVFW OSCCAL #endasm
Maxim
подскажите как это будет выглядеть на сях? #asm CALL 3FFh MOVFW OSCCAL #endasm
Открой коныектор какоц нибудь в браузере, потом модно будет обратнуб проверку написать Си код и проверять как на асме выглядит, мб сможешь задачу еще эффективней написать код чем этот
Maxim
https://gcc.godbolt.org/
Дмитрий
для 629 пика
Дмитрий
те вы не в курсе
Дмитрий
ясно
КТ315
те вы не в курсе
Примерно в курсе, поэтому и говорю, что выглядеть будет тупо и ужасно.
КТ315
показать будте добры
Это чат по ассемблеру, я не собираюсь писать код на гавносях.
Дмитрий
ну и пошел нахуй
Дмитрий
ебан
Дмитрий
только мозги ебать могешь
­
Лол
КТ315
только мозги ебать могешь
Ты хоть раз в жизни видел, как в гавносях выглядит вызов функции по прямому адресу? Я видел. Поэтому слушай, что я говорю.
­
Как мне нравится, когда правила не читают, а потом в личку пишут "а за шо меня?!?"
Дмитрий
может кто читал Ялового?
Дмитрий
по сишному компилятору
Ask
мб както так *oscall = (( int(*)(void))0x3ff)(); 🤔
Дмитрий
вот это уже близко к истине
Дмитрий
How to program PIC 12F629 internal oscilator in C?
Дмитрий
Я делаю как-то так : #include ‹pic.h› __CONFIG ( PROTECT & BORDIS & MCLREN & PWRTEN & WDTDIS & INTIO ) ; #define _OSCCAL_DATA(w) \ asm(" psect absdata,abs,ovrld,class=CODE,delta=2 ");\ asm(" org 0x3ff ");\ asm(" retlw "___mkstr(w) ) #define _READ_OSCCAL_DATA ( ) ( * ( unsigned char ( * ) ( ) ) 0x3FF ) ( ) _OSCCAL_DATA(0x11); // константа для OSCCAL void main(void) { OSCCAL = _READ_OSCCAL_DATA ( ) ; ...
Дмитрий
ахереть
Дмитрий
так в чем вопрос?
это как пример