-
- +1 - Nikolay801_(26.02.2024 11:49)
- Я не стану утверждать, что я умнее команды людей писавших/пишущих
компиляторы, но скажу, что ассемблер нужно знать(быть знакомым), Ну
и "ишака привязывать" BlackMorda(1446 знак., 25.02.2024 15:42)
- >компилятор все инлайны выкинул и вставил вызов функций Так как это static inline, то это попытка встраивания (GCC комбинацию static и inline трактует по-своему, хотя static по-прежнему сообщает что функция своей областью видимости имеет единицу трансляции). И так как компилировали, по-видимому с -Os (на размер) BL оказалась короче. - RxTx(25.02.2024 17:40)
- Вдруг компилятор вычислит размер стека по самой большой
структуре и сократит размер выделяемого стека? - Что бедный компилятор может сделать, если функция в одной
единице трансляции, а структура создаётся на стеке в другой? Чтобы
такого не было структура должна быть константой (в идеале constexpr
или вообще просто тип), а код функции доступен в месте вызова (в
идеале статический метод шаблонного класса). Вот тогда будет вам
оптимизация. VladislavS.(245 знак., 25.02.2024 16:19)
- Как раз в одной BlackMorda(374 знак., 25.02.2024 19:06)
- С дуру и хрен сломать можно, как говорится. - VladislavS.(25.02.2024 19:11)
- Для инлайна ... надо создать условия, чтобы это было, ...
возможно. Любопытно, при каких условиях инлайн не возможен? - AlexBi(25.02.2024 17:04)
- по моему если уровень оптимизации кода в настройках компилятора минимальный(дебажный вариант) инлайнить вообще не будет - Nikolay801_(26.02.2024 11:46)
- Функции с переменным числом аргументов, использование вычислимого
goto, nonlocal goto, использование вложенных функций ,
использование setjmp, вызов из функции alloca(), и еще парочка
случаев. - RxTx(25.02.2024 18:18)
- Переменное число аргументов не знаю как может помешать. Что такое "вычислимое goto" я не знаю. setjmp/longjmp не должны создавать проблем при инлайне. Вложенные функции, наверное, могут, но это сравнительно новое расширение. alloca не вижу как могут помешать. AlexBi(101 знак., 25.02.2024 22:15)
- Давайте это на самостоятельную проработку оставим. :) - VladislavS.(25.02.2024 17:13)
- Как раз в одной BlackMorda(374 знак., 25.02.2024 19:06)
- спасибо, да, сам придерживаюсь примерно такого мнения, но не думал,
что с т.зр разницы архитектур ARM всё так ветвисто, запутано и
невесело (в своё время хотел поюзать атмеловские SAM, но как-то не
сложилось. Там-то всё не сильно сложно было. Но тем не менее,
придётся как-то влезать в знание архитектур и ассемблер
придётся-таки в том или ином случае, хотя бы посмотреть, что б
знать где копать если чо :) Adept(883 знак., 23.02.2024 15:02 - 16:05)
- Сегодня приснился пример Compiler vs ASM сложения многобитных
чисел. На ARM ассемблере это просто серия add-with-carry ADC... - RxTx(24.02.2024 16:29)
- Тут ниже понеслось в дебри доказательств на С "возможно всё!" но
смысл был другой. На ASM компактнее по памяти и быстрее по тактам. RxTx(253 знак., 25.02.2024 18:29)
- Равно как и на любом другом языке. даж на "брэйнфаке" теоретически возможно всё тоже :)) вопрос целесообразности и эффективности (правда это тоже нифига не функции одной переменной), такшо нравится кому-то аль нет, - ассемблер вечен :) насколько его будут использовать, - вангую, что по мере необходимости, использовать будут, ещё и как. Вопрос настколько часто, чтобы стоило в него вникать?? Ответ - достаточно редко, чтобы все поголовно его изучали, но знание его строго Adept(100 знак., 25.02.2024 21:11)
- Я переносил своеобразную свою оптимизированную годами 24битную математику с асма на 32 бита С для 8битного AVR, разница модуля вычислений больше, чем в 2 раза вышла . Но итоговая прога процентов на 30 больше, и в итоге вышло сделать один текст проги под 3 проца, ХРЕН я бы в разумные сроки на асме такое сотворил. Обоссать и оставить асм только для очень редких супероптимизаций. - Andreas(25.02.2024 19:17)
- В стандарте есть 64-битные целые. С ними у ARM всё шоколадно -
сложение транслируется в пару add, adc. У avr через вызов
библиотечной функции с прогоном аргументов через стек. Внутри
функции всё нормально. Предложения в стандарт по целым любой
разрядности есть, Но когда примут неизвестно. В сети есть класс из
этого предложения. Работать с ним удобно, так же как с базовыми
типами, но с оптимальностью без поддержки компилятора не очень. С
другой стороны, вычислить 100! VladislavS.(31 знак., 25.02.2024 03:16)
- У avr через вызов библиотечной функции с прогоном аргументов
через стек. На дыбу того кто это придумал. У авра 32 РОН-а , для сложения двух
64-х достаточно четырёх команд enc(125 знак., 25.02.2024 21:14)
- Мнение человека не способного 64 на 8 поделить особенно ценно.
Можно подумать, что 16 регистров незадействованные только и ждут
64-битных сложений. Сохранить/восстановить их не надо? - VladislavS.(25.02.2024 22:45)
- Да ладно, четыре - восемь. Ошибся, бывает. Очевиден смысл процедуры
сохранения/восстановления регистров при входе/выходе из прерывания
а зачем это нужно делать перед/после арифметической операции? - enc(25.02.2024 23:04)
- Потому что программа состоит не только из этого архиважного
действия - сложить 64-битные числа на восьмибитном контроллере. - VladislavS.(25.02.2024 23:14)
- А ещё умножить, разделить со знаком и без и для всей этой хрени
нужны РОН-ы , а для всего остального - ОЗУ. Не так ли? - enc(25.02.2024 23:29)
- и вот тут реально удобен Z8Encore. Где могу назначить в любом месте адресного пространства в 4К нужные мне 16 РОН для каждой задачи отдельно. Хоть 20 раз по 16. :-) - Лaгyнoв(26.02.2024 08:44)
- Нет никакой необходимости держать всё число сразу в регистрах.
Сегодня вам 64 бита надо, завтра 256. Где регистры брать будете? - VladislavS.(25.02.2024 23:40)
- Ты же о 64-битных целых заговорил. У avr через вызов библиотечной функции с прогоном аргументов
через стек. (VladislavS). Применительно к авру его 32-х регистров хватает для арифметики с
любой целочисленкой до 64 бит включительно. enc(113 знак., 25.02.2024 23:56)
- Да хоть в облаке, всё равно сложеие побайтово производится. Достаточно пары регистров. - VladislavS.(26.02.2024 07:17)
- Ты же о 64-битных целых заговорил. У avr через вызов библиотечной функции с прогоном аргументов
через стек. (VladislavS). Применительно к авру его 32-х регистров хватает для арифметики с
любой целочисленкой до 64 бит включительно. enc(113 знак., 25.02.2024 23:56)
- А ещё умножить, разделить со знаком и без и для всей этой хрени
нужны РОН-ы , а для всего остального - ОЗУ. Не так ли? - enc(25.02.2024 23:29)
- Потому что программа состоит не только из этого архиважного
действия - сложить 64-битные числа на восьмибитном контроллере. - VladislavS.(25.02.2024 23:14)
- Да ладно, четыре - восемь. Ошибся, бывает. Очевиден смысл процедуры
сохранения/восстановления регистров при входе/выходе из прерывания
а зачем это нужно делать перед/после арифметической операции? - enc(25.02.2024 23:04)
- Глупое эмоциональное мнение. Примерно как в отношении ИАР и 51го "ха, не умеет с битами работать, сранное Г стандарту
придерживается зачем-то". И наоборот "ваш Кейл - Г, т.к. он стандарту не соответствует, это совсем не
СИ" - POV(25.02.2024 21:19)
- Ну да, глупее не бывает - прогон аргументов через стек, к четырём
тактам плюс сотня на тривиальную арифметику. Насмешил, не путай
опыт с мнением. - enc(25.02.2024 21:37)
- Это стандартное решение. Никто не говорит что оно подходит для
данной архитектуры. - POV(25.02.2024 21:40)
- Ещё раз - на дыбу такие стандарты. - enc(25.02.2024 21:45)
- Это стандартное решение. Никто не говорит что оно подходит для
данной архитектуры. - POV(25.02.2024 21:40)
- Ну да, глупее не бывает - прогон аргументов через стек, к четырём
тактам плюс сотня на тривиальную арифметику. Насмешил, не путай
опыт с мнением. - enc(25.02.2024 21:37)
- Мнение человека не способного 64 на 8 поделить особенно ценно.
Можно подумать, что 16 регистров незадействованные только и ждут
64-битных сложений. Сохранить/восстановить их не надо? - VladislavS.(25.02.2024 22:45)
- Можно и свой класс слепить с любой разрядностью переопределив для
класса +- * /, проблема что арифметические операции придется
кодировать на асме ибо С инструментов для такого нет. - Boвa(25.02.2024 11:44)
- Чё, правда? VladislavS.(1 знак., 25.02.2024 13:31, картинка)
- Костыль с if() пришлось прикрутить из-за невозможности посмотреть бит переноса. - Boвa(25.02.2024 22:27)
- Инструментов нет? Жаль, что в бедуины записывают без простого
экзамена на целочисленное сложение... SciFi(1 знак., 25.02.2024 11:49, ссылка)
- Рубрика костыли и велосипеды - Boвa(25.02.2024 22:29)
- Мы стали забывать... RxTx(1 знак., 25.02.2024 23:23, картинка)
- Ну надо же. Инструменты нашлись! - SciFi(25.02.2024 22:37)
- Рубрика костыли и велосипеды - Boвa(25.02.2024 22:29)
- Чё, правда? VladislavS.(1 знак., 25.02.2024 13:31, картинка)
- У avr через вызов библиотечной функции с прогоном аргументов
через стек. На дыбу того кто это придумал. У авра 32 РОН-а , для сложения двух
64-х достаточно четырёх команд enc(125 знак., 25.02.2024 21:14)
- Дык на любом ассемблере так :) Интересно, а компилер
умножение/деление на степень двойки сдвигом умеет ?? :) - Adept(25.02.2024 01:27)
- Нет, не на любом. MIPS знаменит отсутствием флага переноса. Ну и
RISC-V тоже. SciFi(1 знак., 25.02.2024 10:29, ссылка)
- И как же ж оно там работает? Или эти крестьяне не занимаются
арифметикой, а только тексты обрабатывают (там реально перенос не
нужен)? - Kpoк(25.02.2024 10:47)
- Вы когда на ЯВУ программы пишете, часто флаг переноса используете?
И как же оно у вас работает? :) - VladislavS.(25.02.2024 13:59)
- Как Вы могли подумать обо мне такое, чтоб я на ваших ЯВУ программы
писал??? А на моём сопроцессоре 80387 аккумулятор имеет 80 бит в
длину. Ему флаг переноса не нужен. И всё-таки я не услышал ответа,
как оно работает. А как делают кольцевой сдвиг? - Kpoк(25.02.2024 16:13)
- Странно, тут всем на микроконтроллерах 256 бит подавай, а вам 80
хватает? А кольцевой сдвиг очень просто VladislavS.(2 знак., 25.02.2024 16:55, картинка, картинка)
- Не понимаю я по-вашему нихира. Но неужели эти 4 команды проще, чем
вытащить один битик наружу? - Kpoк(25.02.2024 17:21)
- Что характерно, плюсовик по-вашему и для ARM, и для RISC-V, и для
AVR понимает. Может вылезти из танчика уже? - VladislavS.(25.02.2024 17:37)
- Из Нирваны, как отмечено ниже. - Kpoк(25.02.2024 17:42)
- Рад, что вы достигли нирваны, если такая мелкая фигня - это всё,
что вас беспокоит :-) - SciFi(25.02.2024 17:25)
- Не всё. Но не вываливать же это в непрофильную конфу. - Kpoк(25.02.2024 17:42)
- А как же и перед кем тогда выёбываться? :) Смотрите я умею, а вы не
умеете, бе-бе-бе? :) - RxTx(25.02.2024 18:36)
- Здесь собрались самодостаточные состоявшиеся мущщины, верно? Зачем
им заниматься такой фигнёй? - SciFi(25.02.2024 18:42)
- Очевидно это доставляет им удовольствие... - RxTx(25.02.2024 18:53)
- Здесь собрались самодостаточные состоявшиеся мущщины, верно? Зачем
им заниматься такой фигнёй? - SciFi(25.02.2024 18:42)
- А как же и перед кем тогда выёбываться? :) Смотрите я умею, а вы не
умеете, бе-бе-бе? :) - RxTx(25.02.2024 18:36)
- Не всё. Но не вываливать же это в непрофильную конфу. - Kpoк(25.02.2024 17:42)
- Что характерно, плюсовик по-вашему и для ARM, и для RISC-V, и для
AVR понимает. Может вылезти из танчика уже? - VladislavS.(25.02.2024 17:37)
- Не понимаю я по-вашему нихира. Но неужели эти 4 команды проще, чем
вытащить один битик наружу? - Kpoк(25.02.2024 17:21)
- Странно, тут всем на микроконтроллерах 256 бит подавай, а вам 80
хватает? А кольцевой сдвиг очень просто VladislavS.(2 знак., 25.02.2024 16:55, картинка, картинка)
- Как Вы могли подумать обо мне такое, чтоб я на ваших ЯВУ программы
писал??? А на моём сопроцессоре 80387 аккумулятор имеет 80 бит в
длину. Ему флаг переноса не нужен. И всё-таки я не услышал ответа,
как оно работает. А как делают кольцевой сдвиг? - Kpoк(25.02.2024 16:13)
- Вы когда на ЯВУ программы пишете, часто флаг переноса используете?
И как же оно у вас работает? :) - VladislavS.(25.02.2024 13:59)
- И как же ж оно там работает? Или эти крестьяне не занимаются
арифметикой, а только тексты обрабатывают (там реально перенос не
нужен)? - Kpoк(25.02.2024 10:47)
- Легко, мой хороший. Если быстрей сдвигами, то компилятор непременно
так и слелает. И не только степени двойки, много других
оптимизаций¸ замены делений умножениями и др. - VladislavS.(25.02.2024 03:10)
- А не "нужное" деление или умножение компилятор выбросит или "тупо"
выполнит? - ILYAUL(25.02.2024 10:14)
- Ну вы как вчера родились. VladislavS.(1 знак., 25.02.2024 11:55, картинка)
- А не "нужное" деление или умножение компилятор выбросит или "тупо"
выполнит? - ILYAUL(25.02.2024 10:14)
- Нет, не на любом. MIPS знаменит отсутствием флага переноса. Ну и
RISC-V тоже. SciFi(1 знак., 25.02.2024 10:29, ссылка)
- Тут ниже понеслось в дебри доказательств на С "возможно всё!" но
смысл был другой. На ASM компактнее по памяти и быстрее по тактам. RxTx(253 знак., 25.02.2024 18:29)
- Как раз таки читать и контролировать что делает компилятор это
совершенно обязательно. Иначе оптимально писать не научишься. - VladislavS.(23.02.2024 16:02)
- Одно время пропагандировали отказ от оптимизации кода
программистом, как от порочной практики. SciFi апологет этой идеи.
Типа компилер сам все сделает лучше. Возвращаемся к началу времен
;) - Codavr(23.02.2024 23:09)
- Есть вещи, к которым возвращаться не нужно. Например избыточные
промежуточные переменные. Их можно убрать? Можно. Но компилятор это
и без вас сделает. Между тем, читабельность с промежуточными
переменными выше. Особенно в части множественных выходов из цикла с
переменной-флагом вместо гоуту, что уже кагбэ не особо очевидно,
да? - Cкpипaч(24.02.2024 00:15)
- Что подразумевается под словами научиться оптимально писать
контролируя, что делает компилятор? Хочу все знать. Уверен, что нет
тут никого, кто доподлинно знает все методы которыми пользуется тот
же оптимизатор IAR и наверняка там есть ноухау известные только
узкому кругу лиц. - Codavr(24.02.2024 02:14)
- > Уверен, что нет тут никого... Методы опттимизации дерева с трехадресным кодом предмет
академических публикаций. Методы бэкенда, самой основной проблемой
из которых является register allocation problem RxTx(1394 знак., 24.02.2024 16:55)
- Ну то есть чего компилятор нагенерит именно от этого ноухау и
зависит. Не так ли? Я рад что нашелся человек знающий все эти
ноухау. Или не все ;) - Codavr(25.02.2024 23:22)
- Не матерись! :))) - RxTx(25.02.2024 23:56)
- Ну то есть чего компилятор нагенерит именно от этого ноухау и
зависит. Не так ли? Я рад что нашелся человек знающий все эти
ноухау. Или не все ;) - Codavr(25.02.2024 23:22)
- В документации IAR кое что есть. VladislavS.(27 знак., 24.02.2024 10:32, картинка, картинка)
- Это не я сказал. Но в общем, я бы под "контролируя" понял осознание
программистом в какие в принципе конструкции выливается то, что он
пишет. Утрируя, на уровне как выполняется данное конкретное
присвоение? Как пересылка байта из регистра в регистр или как
создание в куче мегабайтных объектов, с инициализацией их по сети и
только потом пересылкой одного байта? - Cкpипaч(24.02.2024 10:00)
- Что-то типа. С опытом у программиста появляются "волшебные очки", которыми он сквозь код видит. VladislavS.(322 знак., 24.02.2024 10:47)
- > Уверен, что нет тут никого... Методы опттимизации дерева с трехадресным кодом предмет
академических публикаций. Методы бэкенда, самой основной проблемой
из которых является register allocation problem RxTx(1394 знак., 24.02.2024 16:55)
- Что подразумевается под словами научиться оптимально писать
контролируя, что делает компилятор? Хочу все знать. Уверен, что нет
тут никого, кто доподлинно знает все методы которыми пользуется тот
же оптимизатор IAR и наверняка там есть ноухау известные только
узкому кругу лиц. - Codavr(24.02.2024 02:14)
- Нет, код должен быть написан так чтобы компилятор всё сделал. - VladislavS.(24.02.2024 00:09)
- Кто- то чего-то не договаривает. - Codavr(24.02.2024 02:06)
- Недоговаривают все. 1) Программизд лепит код на основе чужих
библиотек которые были предназначены для чего-то другого. 2)
Компилатор делает код как умеет на основе того что ему написали и
не переспрашивает. 3) Програмизд не умеет в асемблер и разбираться
в нагеренном говнокоде ему лень. 4) Поэтому если "переписать на
питоне" код будет работать немного быстрее, нужно всего лишь
поставить i7. - Boвa(24.02.2024 07:10)
- Если "переписать на Питоне", код будет работать через две недели.
Это достаточно быстро. - Cкpипaч(24.02.2024 09:56)
- При этом одну неделю займет скачивание необходимых библиотек. - Boвa(25.02.2024 11:45)
- Точнее не скачивание, а компиляция из исходников. А может быть уже скомпиленная по другую версию питона, а под твою - фиг. Я почти неделю и потратил как-то, чтобы запустить чужой скрипт тестовый, подбирал версию библиотек и питона. - Andreas(25.02.2024 14:02)
- Хуже другое - если под Питон не будет подходящей библиотеки, то для
99% питонистов задача нерешаемая. Тупик... и начинается
красноглазие - целых стек технологий, разнообразные скрипты и
прочее и прочее. Зоопарк айтишного тщеславия. - POV(25.02.2024 11:49)
- Двояко. С одной - зоопарк, все именно так. С другой - вопрос сильно напоминает про рукопашный бой в армии (два придурка проебали автоматы, ножи и т.п.). Мы же практики, существуют ли практические задачи, под которые нет готовых стеков? И даст ли "внутренняя красота" написанного в одно рыло от нуля до нуля практический результат? - Cкpипaч(25.02.2024 12:07)
- При этом одну неделю займет скачивание необходимых библиотек. - Boвa(25.02.2024 11:45)
- :))) - Codavr(24.02.2024 09:45)
- Если "переписать на Питоне", код будет работать через две недели.
Это достаточно быстро. - Cкpипaч(24.02.2024 09:56)
- Недоговаривают все. 1) Программизд лепит код на основе чужих
библиотек которые были предназначены для чего-то другого. 2)
Компилатор делает код как умеет на основе того что ему написали и
не переспрашивает. 3) Програмизд не умеет в асемблер и разбираться
в нагеренном говнокоде ему лень. 4) Поэтому если "переписать на
питоне" код будет работать немного быстрее, нужно всего лишь
поставить i7. - Boвa(24.02.2024 07:10)
- Кто- то чего-то не договаривает. - Codavr(24.02.2024 02:06)
- Есть вещи, к которым возвращаться не нужно. Например избыточные
промежуточные переменные. Их можно убрать? Можно. Но компилятор это
и без вас сделает. Между тем, читабельность с промежуточными
переменными выше. Особенно в части множественных выходов из цикла с
переменной-флагом вместо гоуту, что уже кагбэ не особо очевидно,
да? - Cкpипaч(24.02.2024 00:15)
- Одно время пропагандировали отказ от оптимизации кода
программистом, как от порочной практики. SciFi апологет этой идеи.
Типа компилер сам все сделает лучше. Возвращаемся к началу времен
;) - Codavr(23.02.2024 23:09)
- Сегодня приснился пример Compiler vs ASM сложения многобитных
чисел. На ARM ассемблере это просто серия add-with-carry ADC... - RxTx(24.02.2024 16:29)
- Спасибо за развернутый ответ. Прикрепить бы его в "меморис" по теме
"асм против ЯВУ"... - Eddy_Em(23.02.2024 10:05)
- Это ни разу не vs. VladislavS.(123 знак., 23.02.2024 10:33)
- "Зоопарк" буду иметь ввиду при работе с АРМами :)) Для "коммерции" всё равно знакомые и изученные АВР-ки остаются :) - Adept(23.02.2024 14:28)
- В каких таких дамках? Больше всего бабла у тех, кто вообще ничего
не знает про асмы и зоопарки :-) - SciFi(23.02.2024 10:41)
- Где я что-то про бабло писал? - VladislavS.(23.02.2024 10:53)
- Ну, "дамки" == "бабки", не? :-) А если нет, тогда непонятно, что за
дамки :-) - SciFi(23.02.2024 11:06)
- Ну вот, нашелся человек, который в детстве не играл в шашки :-) - il-2(23.02.2024 14:15)
- Я бы сказал, попался! - Kpoк(23.02.2024 14:16)
- Увы, играл. Поэтому и недоумеваю, где дамки в игре
"ымбеддерство"... - SciFi(23.02.2024 14:49)
- Ты готов свой проект за ночь перепилить с одного МК на другой? Если
готов, то ты в дамках :-) Сверху, снизу и с боков :-) - il-2(23.02.2024 15:08)
- Перепилить это скорее экзотика. Чаще запилить что-то по быстрому.
Прибегают - ой, мне тут платку спаяли, синтезатор, аттенюаторы,
датчик температуры. Сделай чтобы можно было включить проверить, а
прошивку потом напишешь. :)) - VladislavS.(23.02.2024 16:29)
- Специфика. Мне, наоборот, чаще присылают фотосет "умершего" щита автоматики, где-нибудь в жопе мира. С меня "ремонтный комплект"(тм) Похую все, кроме сроков. Даже цена. И естественно, никаких данных, кроме габаритных размеров покойника, не предполагается - "Ты же девочка умная, придумай сама что-нибудь" *) Cкpипaч(1567 знак., 23.02.2024 19:35)
- касательно "за одну ночь" - это иллюзия (если речь конечно не об условном "hello world") более менее безопасная миграция проектов возможна, вероятно в рамках одного семейства, не не среди различных камней, "я так думаю" (С) Глядя даже на не самые сложные свои проекты, представив, что по мановению волшебной палочки весь софт мгновенно переписался на другой проц, ничего с ходу работать не будет, т.к. всё сильно завязано на архитектуру камней, аппаратные Adept(895 знак., 23.02.2024 15:37)
- Так дамки-то в чём? Перепиливать из спортивного интереса? ...денег-то такой аврал не может приносить по определению. - POV(23.02.2024 15:31)
- йес SciFi(1 знак., 23.02.2024 15:24, картинка)
- ОБХС! - Kpoк(23.02.2024 15:31)
- Перепилить это скорее экзотика. Чаще запилить что-то по быстрому.
Прибегают - ой, мне тут платку спаяли, синтезатор, аттенюаторы,
датчик температуры. Сделай чтобы можно было включить проверить, а
прошивку потом напишешь. :)) - VladislavS.(23.02.2024 16:29)
- Ты готов свой проект за ночь перепилить с одного МК на другой? Если
готов, то ты в дамках :-) Сверху, снизу и с боков :-) - il-2(23.02.2024 15:08)
- Увы, играл. Поэтому и недоумеваю, где дамки в игре
"ымбеддерство"... - SciFi(23.02.2024 14:49)
- Я бы сказал, попался! - Kpoк(23.02.2024 14:16)
- Маленькие дамы. - Kpoк(23.02.2024 11:55)
- Ага, дают только тем, кто светодиодом на risc-v умеет мигать. - VladislavS.(23.02.2024 13:31)
- Ну вот, нашелся человек, который в детстве не играл в шашки :-) - il-2(23.02.2024 14:15)
- Ну, "дамки" == "бабки", не? :-) А если нет, тогда непонятно, что за
дамки :-) - SciFi(23.02.2024 11:06)
- Где я что-то про бабло писал? - VladislavS.(23.02.2024 10:53)
- Это ни разу не vs. VladislavS.(123 знак., 23.02.2024 10:33)