Сохранен 114
https://2ch.su/b/res/336280711.html
Добавлена поддержка Ежчана (ejchan.net, ejchan.site). Набегаем, тестируем архивацию, сообщаем о замеченных проблемах.
К сожалению, значительная часть сохранённых до 2024 г. изображений и видео была потеряна (подробности случившегося). Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

На связи 21 лвл пердёж. Закончил шарагу на айтишника и устроился на завод программировать котлы на

 Аноним 03/09/26 Чтв 15:04:02 #1 №336280711 
изображение.png
На связи 21 лвл пердёж. Закончил шарагу на айтишника и устроился на завод программировать котлы на с\с++, ассемблере (сказали что обучат). На ассемблере никогда не писал, сейчас сел разбираться в этом деле и это очень трудно. Может быть посоветуйте какую-нибудь книгу или т.д
Аноним 03/09/26 Чтв 15:04:42 #2 №336280731 
бамп
Аноним 03/09/26 Чтв 15:05:45 #3 №336280759 DELETED
>сказали что обучат
Потом скажут что пора бы, молодой, родину идти защищать
Аноним OP 03/09/26 Чтв 15:07:46 #4 №336280815 DELETED
>>336280759
Я не хочу умирать. Я сдохну ещё в окопе.
В, астма
Аноним 03/09/26 Чтв 15:09:45 #5 №336280878 DELETED
>>336280815
Так в этом и идея, нужно мясо для отвлекания дронов а точнее для утилизации, читай план шнеерсона. Ну как, контракт подписывать будете молодой человек, или нам Кувалду "Печенька" Пузикштейна позвать сюда?
Аноним OP 03/09/26 Чтв 15:10:59 #6 №336280915 DELETED
>>336280878
По делу что-то будет? Или политику будем гнать?
Аноним OP 03/09/26 Чтв 15:12:09 #7 №336280946 
изображение.png
Нашёл в pr, но тут книги очень старые. Стоит ли из asm что-то здесь рассматривать?
Аноним 03/09/26 Чтв 15:15:04 #8 №336281033 
>>336280711 (OP)
>На ассемблере никогда не писал, сейчас сел разбираться в этом деле и это очень трудно
А что там трудного? 10 тысяч команд что ли?
Аноним OP 03/09/26 Чтв 15:15:18 #9 №336281041 
бамп
Аноним 03/09/26 Чтв 15:16:37 #10 №336281085 
>>336280946
Не ты чё, там ассемблер уже несколько апдейтов значительных получил, надо новые искать
Аноним 03/09/26 Чтв 15:16:50 #11 №336281091 
>>336280711 (OP)
>это очень трудно
Да ты ебанулся. Ничего трудного. Алсо, может ты и на языках высокого уровня нихера писать не можешь? В крайнем случае пиши на цэпэпэ, потом переводи на асм. Алсо2, асм у разных процессоров разный.
Аноним OP 03/09/26 Чтв 15:17:07 #12 №336281100 
>>336281033
Ну даже чтобы написать базовую команду вывода "привет мир" в nasm, нужно знать что вызывать из winAPI, как передовать туда операнды и т.д. Читать сам код тяжело, все эти rdx, rax, r8d и т.д. IDE нормальной нет, пишу в emacs
Аноним OP 03/09/26 Чтв 15:18:59 #13 №336281153 
>>336281091
Не спорю что если понять, то становится всё просто.
Аноним 03/09/26 Чтв 15:19:38 #14 №336281176 
>>336280946
Ассемблер не менялся последнюю тысячу лет.

Xor al, al
Div al, al

Элементарный язык, старые книжки хорошие.
Аноним 03/09/26 Чтв 15:22:59 #15 №336281267 
>>336281100
>нужно знать что вызывать из winAPI
А тут что сложного, ты что ли не знаешь как опреационки работают и документацию нагуглить не можешь?

>IDE нормальной нет, пишу в emacs
Так наоборот лучше тут будет. Документацию скачаешь, на лиспе заговнокодишь там всё что тебе нужно, если этого уже нет в интеренте(хотя скорее всего есть).
Аноним 03/09/26 Чтв 15:24:51 #16 №336281312 
>>336281100
А нейросети зачем сделали? Говоришь ей что хочешь сделать, она тебе пишет какую функцию винапи использовать и с какими аргументами.

>>336280946
Тебе надо брать асм процессора под который ты пишешь. Или ты под PC пишешь?
Аноним OP 03/09/26 Чтв 15:27:35 #17 №336281374 
>>336281312
Микроконтроллеры программировать. Я даже хз что там за асм будет. На ПК просто решил попробовать, разобраться. 40к зп если что
Аноним 03/09/26 Чтв 15:28:04 #18 №336281391 
>>336280711 (OP)
Запрограммируй им чтобы котёл ёбнул нахуй.
Аноним 03/09/26 Чтв 15:29:51 #19 №336281434 
>>336280711 (OP)
За книгами сюда
https://2ch.su/pr/res/3711150.html#3716855
Аноним 03/09/26 Чтв 15:29:57 #20 №336281437 
image.png
>>336280711 (OP)
>устроился на завод программировать котлы
чего блядь? Че за вуншпунш у вас там? Какие нахуй котлы?
адмиральские?

Альсо охуенный план - устроиться программировать на ассемблере нихуя о нем не зная. Малаца, лол. ахахахахах.
мимо наносек
Аноним OP 03/09/26 Чтв 15:30:20 #21 №336281445 
>>336281391
Нет, я не хочу чтобы он пукнум сделал, поэтому я собираю информацию
Аноним OP 03/09/26 Чтв 15:30:51 #22 №336281459 
>>336281437
Ну так научусь. Всё когда-то с чего-то надо начинать.
Аноним OP 03/09/26 Чтв 15:34:50 #23 №336281540 
>>336281437
Наносек, что за стек хоть?
Аноним 03/09/26 Чтв 15:35:17 #24 №336281551 
>>336281374
>Микроконтроллеры программировать.
У них асм проще, нет всяких SSE и тому подобной хуеты. Я бы на твоем месте не боялся. Но будь готов к тому что надо будет серьезно это изучать, прямо вникать и разбираться.
Аноним OP 03/09/26 Чтв 15:36:47 #25 №336281575 
>>336281551
Я готов. Писал уже знакомому на С под pic12 давно. Помню с трудом было
Аноним 03/09/26 Чтв 15:37:10 #26 №336281590 
>>336280711 (OP)
да нахуй надо, нейронку спросишь :3
Аноним 03/09/26 Чтв 15:37:19 #27 №336281594 
>>336280711 (OP)
Сколько платят за ассемблер?
Аноним OP 03/09/26 Чтв 15:38:20 #28 №336281613 
>>336281594
40к - моя первая работа
Аноним 03/09/26 Чтв 15:38:53 #29 №336281627 
images (11).jpg
>>336280711 (OP)
Кек, я в свое время по пикрил книжке осваивал ассемблер на i286
Аноним OP 03/09/26 Чтв 15:39:07 #30 №336281636 
>>336281590
Без понимания принципов и знаний, нейронка не поможет
Аноним OP 03/09/26 Чтв 15:39:58 #31 №336281658 
>>336281627
И как книжка? Архитектура оч старая
Аноним 03/09/26 Чтв 15:41:18 #32 №336281696 
>>336281613
🗿
Аноним 03/09/26 Чтв 15:41:58 #33 №336281711 
>>336281540
да у меня T-shape широкий. Если в общем - инфра, девопс, сре.
Очень хотелось бы делать роботов антропоморфных, но хуй знает как в это перекатиться. из текущей сферы - очень далеко тянуться.
Да и это только в китае.
Я про этих, которые очень на человека похожи. Рисоеды там буквально мою мечту осуществляют. И мечта моя - не пользоваться такими роботами, а создавать их. не повезло заспавниться в рашке.
У нас только позорище ебаное есть.
Аноним OP 03/09/26 Чтв 15:42:22 #34 №336281727 
>>336281696
Ну а как ты хочешь?
Аноним 03/09/26 Чтв 15:43:08 #35 №336281742 
>>336280711 (OP)
> на завод программировать котлы
Покажи местным пердунам ардуину.
Написать пид регулятор для котла ассемблер не нужен.
Аноним OP 03/09/26 Чтв 15:44:41 #36 №336281776 
>>336281711
Я помню ту выставку с роботом где он упал. Забавно было. У тебя есть друзья? Мб есть по интересам и стоит попробовать? У тебя есть знания.
Я часто раздумывал насчёт роботов. Вдруг выход в том, чтобы не создавать им ноги, а приделать пропеллеры (как у дронов) и приделать манипулятор?? Конечно фантастика, а как ты думаешь?
Аноним 03/09/26 Чтв 15:45:09 #37 №336281788 
>>336280711 (OP)
Ну ты не Кармак, эт точно. Ему было 23, когда зарелизил Doom
А другие, в 21 год лабают вещи на плюсах дай бог каждому. Не всякий 30-летний сможет.
Сколько ты уже программируешь?
Аноним OP 03/09/26 Чтв 15:45:29 #38 №336281793 
>>336281742
там семейство pic и другие используют
Аноним 03/09/26 Чтв 15:46:27 #39 №336281815 
>>336281658
Там даже про 32-битные регистры не рассказывается. Не завезли ещё.
Аноним OP 03/09/26 Чтв 15:47:46 #40 №336281848 
>>336281788
На асме впервые. Программировал оч много, но не низкоуровневое. Сайты на Laravel (PHP), Django(Python), ASP.NET (c#) писал. Но сейчас веб-разработка мёртвая тема. На С++ писал используя wxWidgets (программы для себя)
Аноним 03/09/26 Чтв 15:49:44 #41 №336281892 
>>336281776
нет нет нет никаких пропеллеров.
Роботы должны заменить самок человека. А какая же робожена без ног???
Друзей нет. Я уже слишком взрослый, чтобы верить в дружбу или любовь. Есть коллеги. Среди них есть хорошие люди с которыми интересно и/или приятно поговорить.
Аноним OP 03/09/26 Чтв 15:53:45 #42 №336281972 
>>336281892
Дяденька, если не секрет. Сколько вам лет? Судя по рассказам, вы будто ровестник мой
Аноним 03/09/26 Чтв 15:56:07 #43 №336282021 
5hz5brhof02g1.png
>>336280711 (OP)
Я начинал с книжки Столярова, она была нормальной для совсем начинающего, но избыточной/полной информации там нет, зато есть простые примеры с объяснением. Потом я пытался читать замшелый учебник Юрова, почему пытался? Да потому, что мало того, что написана довольно тяжёлым академическим языком, то-ли я такое быдло, так он еще приводит кучу довольно сложных вещей в своих примерах, нормальное объяснение которых явно выходит за рамки этой книжки.
Аноним 03/09/26 Чтв 15:58:37 #44 №336282077 
>>336281636
Да, двачую


Мимо тоже в асм вкатываюсь
Аноним 03/09/26 Чтв 15:59:01 #45 №336282084 
>>336281848
Чтоб попробовать свои силы на асме - возьми лучше даже не x86 ассемблер, а Z80. Он очень простой.
И вот на нём попробуй написать некоторые элементарные вещи, вроде:
1. Процедуры умножения или деления
2. Перевода 16-битного целого числа в строчку
3. Вывода этой строчки на экран компа
5. Перевод байта в шестнадцатиричный формат
6. Дамп на экран содержимого куска памяти в шестнадцатиричном формате

И вот попрактиковавшись с этими простыми вещами, ты получишь навыки кодирования на асме. Которые затем переносятся на другие виды ассемблеров с другими процессорами.
Тебе надо набить руку, что называется. Потренироваться в различных приемчиках, освоиться с репертуаром команд.
Аноним 03/09/26 Чтв 15:59:27 #46 №336282095 
>>336282021
ПОЛЗУН !
Дарова Заебал
Аноним OP 03/09/26 Чтв 16:00:18 #47 №336282114 
>>336282084
спасибо анон
Аноним 03/09/26 Чтв 16:02:18 #48 №336282166 
так ты же зумер и умнее миллениалов в сто раз? самое прогрессивное поколение.
Аноним 03/09/26 Чтв 16:02:58 #49 №336282181 
>>336281972
мне 34. С чего ты взял что мне 20?
Аноним OP 03/09/26 Чтв 16:04:48 #50 №336282219 
>>336282166
магистр ассемблера, спок. Старшее поколение должно помогать младшему становится лучше
Аноним OP 03/09/26 Чтв 16:05:53 #51 №336282246 
>>336282181
Просто общаетесь как типичный двачер
> Роботы должны заменить самок человека. А какая же робожена без ног???
и прочее.
В вашем возрасте обычно уже отходят от такого
Аноним 03/09/26 Чтв 16:08:26 #52 №336282316 
>>336282219
не чел я не пошёл в вуз. у меня айкью 120 но я слишком плох, не хватает мне чего-то.
Аноним 03/09/26 Чтв 16:09:49 #53 №336282356 
>>336282246
а хули ты хотел, я на этой помойке ебаной с 2009.
у меня еще и кукложена есть, а у той - кольцо на безымянном пальце.
Я вообще базовый.
Тнусов на ножи.
Аноним 03/09/26 Чтв 16:14:24 #54 №336282479 
Я вкатывался через старый форум wasm.ru, архивы которого можно нагуглить и flatassembler. Книг не читал, в программировании разбираюсь по примерам, а не по книгам.
Форум там веселый был, туториалы разные.

В fasm есть макросы для винды.

Обычные ассемблеры очень ограничены, без макросов много не попишешь. fasmg очень прорывной проект, ассембер собирается целиком из макросов, что даёт возможность писать для разных архитектур.
Аноним 03/09/26 Чтв 16:17:51 #55 №336282565 
>>336282479
>ассембер собирается целиком из макросов, что даёт возможность писать для разных архитектур
Для этого язык Си есть, дуралей. Вот он и впрямь - отделен от архитектур.
Аноним 03/09/26 Чтв 16:20:05 #56 №336282628 
>>336282095
Здрасте!
А я тут не появлялся особо на неделе.
Аноним OP 03/09/26 Чтв 16:20:08 #57 №336282629 
>>336282479
> wasm.ru
Форум уже закрыт, жаль :(
насчёт fasmg соглашусь с >>336282565
Насчёт производительности, то c-шные компиляторы справляются очень хорошо
Аноним 03/09/26 Чтв 16:20:13 #58 №336282631 
>>336280711 (OP)
Это легко, но никому не нужно. А ты иди вайбкодь не созрел на такое.
Аноним 03/09/26 Чтв 16:21:32 #59 №336282671 
>>336282084
Освоишься с небольшим набором команд, с имеющимися регистрами, со стеком, с флагами, командами условных переходов.
Попробуешь что-нибудь написать. А затем сможешь двинуться дальше, идти уже к тому же X86
Аноним 03/09/26 Чтв 16:21:49 #60 №336282686 
image.png
>ассемблер
>трудно
Аноним OP 03/09/26 Чтв 16:22:07 #61 №336282698 
>>336282631
Что вайбкодить то? Айти умерло в РФии. Это вариант хоть как-то вкатится во что-то.
Аноним 03/09/26 Чтв 16:22:35 #62 №336282707 
>>336282565
Ты же понимаешь что си это не ассембер?
Аноним 03/09/26 Чтв 16:22:56 #63 №336282719 
image.png
>трудно
Аноним OP 03/09/26 Чтв 16:22:57 #64 №336282720 
>>336282671
Спасибо ещё раз (если ты тот анон >>336282084)
Аноним 03/09/26 Чтв 16:23:00 #65 №336282725 
>>336280711 (OP)
> ассемблере
Хуйня какая то
Не верю что в 2026 всякую заводскую залупу помогают на ассемблере. С/С++ да, ниже, нахуй надо, нет кадров + медленно.
Аноним 03/09/26 Чтв 16:23:44 #66 №336282750 
>>336282629
пердёж он же тебе написал архив нагуглить. ты на тикток отвлёкся перечитай ещё раз
Аноним 03/09/26 Чтв 16:24:46 #67 №336282794 
IMG20260903162400.jpg
IMG20260903162348.jpg
IMG20260903162336.jpg
>>336280711 (OP)
Вот эти самые лучшие.
Аноним OP 03/09/26 Чтв 16:25:11 #68 №336282807 
>>336282725
Да вот, дурачка нашли. Значит всё актуально. Когда меня провели туда, там одни старики сидели. Ко мне тоже деда поставят, бдить за мной
Аноним 03/09/26 Чтв 16:25:55 #69 №336282829 
>>336280711 (OP)
Что это за котлы такие, что надо на ассемблере кодить? Какого они года производства? Неужели для них нет никакой абстракции поверх ассемблера?
Аноним OP 03/09/26 Чтв 16:26:24 #70 №336282843 
>>336282719
>>336282686
Эксперты ассемблера в треде, помочь не хотите? Киньте рекомендации или кроме оскорблений ничего не умеете?
Аноним OP 03/09/26 Чтв 16:26:48 #71 №336282859 
>>336282829
Ну там не только асм, там ещё c\c++ есть.
Аноним OP 03/09/26 Чтв 16:27:58 #72 №336282897 
>>336282750
Спасибо, надо в нём будет посмотреть уроки по ассемблеру
Аноним 03/09/26 Чтв 16:28:44 #73 №336282925 
>>336280711 (OP)
У чата жпти спроси, он тебе набросает.
Аноним 03/09/26 Чтв 16:28:51 #74 №336282931 
>>336282897
тебе не страшно что от тиктока отупеешь? и не только ассемблер покажется сложным?
Аноним 03/09/26 Чтв 16:29:06 #75 №336282937 
>>336280711 (OP)
Юров, 1й том. для вводной по асму отлично.
после того как осилишь хотя бы 3-4 главы уже поймешь чего тебе надо для твоей спецухи.

Удачи, братиш, не рофлю.
Аноним 03/09/26 Чтв 16:29:39 #76 №336282954 
>>336282859
Бери те что си и плюсах, про остальные говори что это хуйня устаревшая и ее менять надо, потом перекатишься в нормальную нишу, терминалы всякие, дроны
Аноним OP 03/09/26 Чтв 16:29:44 #77 №336282959 
>>336282794
Схоронил. Можешь кратко рассказать чему там учат? Ну понятное дело что асму, но конкретнее
Аноним 03/09/26 Чтв 16:29:55 #78 №336282970 
TempleOS - Risen (Nightcore).mp4
>>336280711 (OP)
>сказали что обучат
Ну и не кипишуй, тогда, просто общую инфу нагугли и почитай.
>>336281793
>семейство pic
Ну иди гуглить как под это программируют, че ты на двач пришел?
Гугли есть ли компиляторы под сишку, гугли документацию.
Аноним 03/09/26 Чтв 16:29:56 #79 №336282971 
>>336282629
>c-шные компиляторы справляются очень хорошо
Распространенное заблуждение.
Аноним OP 03/09/26 Чтв 16:30:40 #80 №336282990 
>>336282937
Спс, это много для меня значит. Волнуюсь пздц, там средний возраст 40 лет
Аноним 03/09/26 Чтв 16:30:46 #81 №336282993 
>>336281793
> там семейство pic
Ухххх бляяя. Махровые диды.

Они бы ещё какие-нибудь MCS-48 достали со склада, что-то уровня КР1816ВЕ39.
Аноним 03/09/26 Чтв 16:31:13 #82 №336283008 
>>336282859
Но откуда асм-то вообще берется? Почему он полностью не абстрагирован? Я слышал, что в мире много софта еще из 70х-80х, который крутится на каком-нибудь Коболе или Фортране и это проблема, потому что кодеры, которые понимают этот софт вымирают. Но вот про чтстый асм не слышал. С другой стороны - я сильно далек от этой сферы, не знаю что там у тебя за котлы такие, может я чего-то не понимаю. Удивительно, что для чего-то, кроме какого-то супернизуоуровневого программирования чипов может понадобиться чистый асм.
Аноним 03/09/26 Чтв 16:31:44 #83 №336283023 
А мог бы уже 400к в яше загребать как эта тяночка:
https://t-j.ru/den-iz-zhizni-razrabotchica-msk-400k/
Аноним OP 03/09/26 Чтв 16:31:54 #84 №336283032 
>>336282970
Писал знакомому на С под pic, там есть компиляторы. Знаю. Но, там на работе как скажут
Аноним OP 03/09/26 Чтв 16:32:29 #85 №336283047 
>>336282971
Опровергни пожалуйста, или скинь ссылку на статью. Я был бы вам очень признателен
Аноним 03/09/26 Чтв 16:33:08 #86 №336283068 
>>336282990
будешь молодым падаваном. 40летние норм дядьки в лоу-левеле. Не такие трушные, как 50летние, но все равно. Обижать не будут.
Аноним 03/09/26 Чтв 16:33:11 #87 №336283070 
>>336282959
Принципам работы процессора. Понимая фундаментальные принципы работы процессора (регистры, счётчик адреса, код операции и координаты адреса) можно писать на любом ассемблере под любой архитектурой ВС.
Аноним 03/09/26 Чтв 16:33:33 #88 №336283077 
>>336283032
В пиках самый простой ассембер. 29 команд всего.
Аноним OP 03/09/26 Чтв 16:33:36 #89 №336283078 
>>336283023
Что за яша? Java что-ли?
Аноним 03/09/26 Чтв 16:34:08 #90 №336283094 
>>336283008
Асм не язык, это просто мнемоника для машинного кода процессора. Понятная человеку запись машинных кодов. Соответственно, появляется из процессора.
Аноним 03/09/26 Чтв 16:35:15 #91 №336283120 
>>336283032
Ну и не еби себе мозги тогда, можешь разве что загуглить какие самые распространенные семейства в этой сфере используются и попробовать нюхнуть документацию на них. Тащемто все.
не ссы короче, все будет чикипуки
Аноним 03/09/26 Чтв 16:36:46 #92 №336283165 
>>336281793
> семейство pic
И сразу все книги, что тебе тут советовали идут на хуй.
Это всратая архитектура. Доступа ко всей памяти нет и большая часть программы это постоянный дроч с переключением банков памяти. Из-за этого она на ассемблере и сидят.
Под пик есть си компилятор, но если что-то очень сложное его оптимизатор не справляется с этими банками память.

Расскажи ты им про arm stm32 ну или на крайний случай про avr.
Нахер эти пики точёные.
Аноним OP 03/09/26 Чтв 16:38:51 #93 №336283229 
>>336283165
Я хочу понять вообще как им работать. Его логику и т.д.
Аноним OP 03/09/26 Чтв 16:43:39 #94 №336283374 
Ладно. Спасибо аноны. Тред думаю что можно закрыть
/thread
Аноним 03/09/26 Чтв 16:46:23 #95 №336283437 
36447.jpg
>>336283229
>как им работать. Его логику и т.д.
Чью? Асемблера?
Пчел...ты...
Ассемблер это не язык блять, это собирательное слово для мнемоник поверх кучи архитектур, всякие nasm'ы хязмы это все хуета, для вкатунов. Общая логика блеть, ну машина тьюринга общая логика, фоннеймановская архитектура, ну и че дальше то?
пздц, ну у вас там и шарага
Аноним 03/09/26 Чтв 16:46:29 #96 №336283439 
>>336283047
Любой проект для микроконтроллеров начинается с установки битов периферии, настроек.
Сишники их устанавливают чуть ли не по одному. Компилятор такое в принципе не может оптимизировать, он же не знает для чего код дёргает биты, он тупой.

Когда сишнику надоедает дергать биты вручную, например для управления ногами, он делает макрос чтобы управлять ногами в стиле Ардуино, то есть по одной.

По итогу чтобы одну ногу переключить, он генерирует по пять десять операций.

Потом пишет макрос который сразу несколько ног меняет, по одной.

Сишник уверен что это оптимальный код, ведь он пишет на самом лучшем языке, на низком уровне, без внешних либ, на голом железе, таких видео уже под сотню видел. Програмитрую на голом железе. Открываешь, а он просто хал не подключил.
Аноним 03/09/26 Чтв 16:49:44 #97 №336283529 
>>336283229
Какие хоть пики ?
Pic12, pic16, или pic32

Вся работа с микроконтроллерами это настроил переферию с куче регистров. Сидишь ждёшь прерывания что бы что-то обработать.
Аноним 03/09/26 Чтв 16:50:48 #98 №336283557 
>>336283229
Есть регистры, они хранят числа. Все команды что-то делают с этими числами. Вот и всё.
Аноним 03/09/26 Чтв 16:51:12 #99 №336283569 
>>336280711 (OP)
>Закончил шарагу на айтишника
Шарагу то есть калидж? Нормально там учили? Просто у меня диссонанс между гэпой и айти, а оно сейчас распространено.
Аноним 03/09/26 Чтв 16:51:46 #100 №336283586 
>>336283439
>Компилятор такое в принципе не может оптимизировать
А потом ты узнаешь, что у производителя можно скачать компилятор (да не всегда, но чаще всего этого достаточно)
Аноним 03/09/26 Чтв 16:53:42 #101 №336283641 
>>336280711 (OP)
у меня больше вопрос кто тебя туда пустил
ведь без ебли хер куда устоишься
Аноним 03/09/26 Чтв 16:56:30 #102 №336283736 
>>336283641
людей нет, деды умирают
Аноним 03/09/26 Чтв 16:57:57 #103 №336283770 
>>336283586
Я честно не понимаю, что ты хочешь сказать. Сишник это диагноз. Си это религия. Никакие доводы не работают, увидят какое нибудь слово триггер и начинают вопить вообще не связанную чушь.
Это какие-то совки от мира айти.
Аноним 03/09/26 Чтв 17:03:06 #104 №336283916 
>>336283229
Открываешь datasheet на нужный камень и читаешь.
Вот для pic16
https://static.chipdip.ru/lib/556/DOC005556027.pdf

118 страничка. Таблица TABLE 15-2
Вот и все инструкции. Всё что ты можешь это постоянно дрочить банки памяти, гонять данные из одной ячей в другую, манипулировать битами и проверять некоторые условия для ветвления и циклов.

Эти микроконтроллеры простые до безобразия и это их главная проблема.

Если у вас pic32 то там уже сложно. Да и на ассемблере их не программируют. Значит у вас там кал уровня pic12/16/24.


Гугли по пикам информации уйма. Это один из древнейших микроконтроллеров. Древнее только семейство mcs-48/51
Аноним 03/09/26 Чтв 17:06:13 #105 №336284005 
>>336283770
Ты пишешь, что сишные компиляторы справляются, плохо, даже те что производитель сам поставляет или что?
Про какие ты компиляторы писал?
Или по твоему производитель сам долбоеб, зачем-то вместо асма сделал для разраба компилятор, наверно чтобы и разраба все работало через жопу и у него больше не брали контроллеры
Я не апологет какого-то одного языка, я смотрю на языки как на инструменты, для разных задач разные подойдут, но то что ты написал это чушь. При этом я специально уточнил, что это разумеется не всегда, компиляторов для си или еще чего может не быть вовсе, или они могут быть говном, о чем ты и написал.
Аноним 03/09/26 Чтв 17:08:23 #106 №336284072 
>>336283439
@monkey в чём мысль понятным языком
malformed AI response
Аноним 03/09/26 Чтв 17:11:42 #107 №336284145 
>>336284072
Эта мысль — едкая и довольно точная критика распространённого среди программистов на C для микроконтроллеров (MCU) заблуждения. Автор иронизирует над тем, что люди, считающие себя «низкоуровневыми» гуру, часто пишут неэффективный код, полагаясь на «магию» абстракций, но не понимая, как их код превращается в машинные инструкции.

Давайте разберем этот текст по пунктам, чтобы раскрыть суть претензии.

1. Иллюзия «низкого уровня» и ручная работа с битами

«Любой проект для микроконтроллеров начинается с установки битов периферии... Сишники их устанавливают чуть ли не по одному. Компилятор такое в принципе не может оптимизировать, он же не знает для чего код дёргает биты, он тупой.»

Здесь описывается классический подход Register Level Programming. Программист пишет что-то вроде:

```c
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; // Включить тактирование порта A
GPIOA->CRL &= ~GPIO_CRL_CNF0; // Очистить биты конфигурации
GPIOA->CRL |= GPIO_CRL_MODE0_0; // Установить режим выхода
```

Автор иронизирует: программист думает, что раз он трогает регистры «руками», то компилятор выполнит ровно это. На самом деле компилятор (особенно с оптимизацией -O0 или даже -Os) часто генерирует ужасный код для операций вида |= и &=~ с волатильными регистрами.
С точки зрения логики языка C, GPIOA->CRL &= ~GPIO_CRL_CNF0 — это чтение, изменение, запись (Read-Modify-Write). Если программист не использует аппаратные возможности (например, регистр BSRR для сброса битов атомарно), компилятор вынужден читать регистр в ЦПУ, менять бит в АЛУ и писать обратно. Для «низкоуровневого» программиста это кажется нормой, хотя часто это лишние такты и риск гонок.

2. Синдром «Бедного Ардуинщика»

«Когда сишнику надоедает дергать биты вручную... он делает макрос чтобы управлять ногами в стиле Ардуино, то есть по одной. По итогу чтобы одну ногу переключить, он генерирует по пять десять операций.»

Программист устает писать PORTB |= (1<<PB5) и пишет макрос:

```c
#define LED_ON() (PORTB |= (1<<PB5))
#define LED_OFF() (PORTB &= ~(1<<PB5))
#define LED_TOGGLE() (PORTB ^= (1<<PB5))
```

Потом он делает библиотеку «как в Ардуино»:

```c
void pinMode(uint8_t pin, uint8_t mode) { ... }
void digitalWrite(uint8_t pin, uint8_t val) {
if (val) {
// Найти порт, сдвинуть бит, сделать OR
} else {
// Найти порт, инвертировать маску, сделать AND
}
}
```

Здесь кроется ирония: настоящий Ардуино (фреймворк Wiring) делает то же самое, но его за это ругают за медлительность. А тут человек, который презирает Arduino, строит свою версию Arduino, но с претензией на «голое железо».

В чем проблема? В функции digitalWrite для AVR или STM32 (написанной «в лоб») компилятор не может заранее знать, чему равен pin. Поэтому он генерирует код с таблицами поиска портов, проверками границ, вычислением маски в рантайме. В итоге переключение одного пина занимает десятки тактов вместо одного, если бы использовалась прямая запись в регистр.

3. Пик абсурда: макрос для изменения нескольких ног «по одной»

«Потом пишет макрос который сразу несколько ног меняет, по одной.»

Допустим, нужно выставить байт в порт. Программист не пишет PORTB = data; (это одна инструкция), а пишет макрос:

```c
#define SET_PINS(data) \
(data & (1<<0) ? (PORTB |= (1<<0)) : (PORTB &= ~(1<<0))); \
(data & (1<<1) ? (PORTB |= (1<<1)) : (PORTB &= ~(1<<1))); \
...
```

Это выглядит как производственная травма. Человек настолько привык «дергать биты», что не видит возможности записать целый байт (или использовать теневой регистр/BSRR в STM32, где биты сброса и установки разделены и атомарны). Он дробит атомарную операцию на 8 операций чтения-модификации-записи, каждая из которых может быть прервана, что чревато глитчами на ножках.

4. Кульминация: «Голое железо» без HALS

«Сишник уверен что это оптимальный код, ведь он пишет на самом лучшем языке, на низком уровне... Открываешь, а он просто хал не подключил.»

Здесь главный удар по самолюбию.
Есть два пути работы с современными MCU (например, STM32):

1. CMSIS / Register Level: Человек пишет адреса регистров сам. Это называется «голое железо».
2. HAL (Hardware Abstraction Layer): Производитель дает готовую функцию HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5). Она универсальна, обрабатывает кучу случаев, но часто раздута.

Программист, которого описывает автор, гордится тем, что он пишет «на регистрах» (без «тормозного» HAL), считает свой код эталоном скорости и минимализма.

Но реальность такова:

· Он использует компилятор без оптимизации (или не умеет им пользоваться), поэтому его «быстрый код» работает в разы медленнее, чем мог бы.
· Он не использовал возможности ядра (атомарные операции записи, битовые полосы, команды LDR/STR с масками), а лепил костыли.
· Идеологически его самописный макрос SetPin() ничем не отличается от вызова HAL_GPIO_WritePin(). Только HAL написан инженерами производителя и протестирован, а его макрос — нет.

Фраза «просто хал не подключил» означает: человек думает, что творит магию на низком уровне, а на самом деле он занимается кустарной имитацией высокоуровневого кода, но без его надежности.

Итог

Мысль высмеивает «Карго-культ» в программировании микроконтроллеров.
Суть претензии: Близость к железу (использование регистров) ≠ Оптимальность кода.

Настоящий профессионализм — это понимание того, во что компилятор превратит твой код (чтение листингов ассемблера) и использование сильных сторон платформы (например, запись целым словом в порт или использование битовых масок BSRR), а не механическое перебирание битов и слепая вера в то, что раз ты на C, значит «быстрее уже некуда».
Аноним 03/09/26 Чтв 17:16:14 #108 №336284266 
>>336282971
>>336283439

Пупсик, просто ты не умеешь программировать. Вот почитай статейку, пока сайт окончательно не сдох.
http://easyelectronics.ru/rabota-s-portami-vvoda-vyvoda-mikrokontrollerov-na-si.html

Посмотри, как профессионал программирует. Какой в результате компиляции получается ассемблерный код. Ты руками так не напишешь.
Аноним 03/09/26 Чтв 17:17:07 #109 №336284294 
>>336280711 (OP)
Ещё почитай agner fog's optimization manuals
Аноним 03/09/26 Чтв 17:34:42 #110 №336284749 
>>336284266
Я такое уже видел для стм.
Аноним 03/09/26 Чтв 17:36:20 #111 №336284782 
>>336283078
Yandex
Аноним 03/09/26 Чтв 17:54:09 #112 №336285214 
>>336281636
В чем проблема обучиться с нуля с помощью нейронки? Не чтоб она за тебя всё делала, а чтобы научила. Или люди уже банально промт составить не могут?
Аноним 03/09/26 Чтв 18:04:18 #113 №336285459 
>>336280946
сами инструкции ты все равно из технической документации брать будешь, а суть в этих книжках хорошо дают
Аноним 03/09/26 Чтв 19:11:24 #114 №336287341 
>>336283094
Я понимаю. Но эта мнемоника как правило абстрагирована. Я пытаюсь понять почему в случае ОПа это не так.
comments powered by Disqus