ругается
можешь сделать jz label сразу только если есть ret значит был call а значит в стеке останется адрес возврата поэтому тогда делай не call а jmp наверное так
Вот честно никогда не приходила в голову такая мысль 😄
Точка выхода должна быть только одна в идеале
А вот у кого Z80, так и делают.
А как же Z80? На него идеал не распространяется? Там же есть: RET Z RET NZ RET C RET NC RET P RET PE RET M RET PO Стало быть выходов из подпрограммы может быть более чем 1. (Ещё есть RETI RETN RET — но это другое)
нет не должна. только вход должен быть 1. а выход на усмотрение прогера. мне ничего не мешать сделать несколько выходов (используя ret) по условию
Не, имелось в виду, что один выход, это нормальный стиль программирования на асме.
Ну вообще-то, стиль у каждого свой😉
так же как и несколько.
Один выход это либо на C и прочих ЯВУ, либо конкретный авторский стиль для повышения читабельности.
на си тоже можно делать несколько return
можно но на С часто считается что из единицы кода один выход ибо читабельнее
📡 У Cloud4box появились VPS на NVMe! Специально для подписчиков нашего дайджест-подкаста промокод ccoder_12 на 12% скидку! Действует на постоянной основе!
Спорно. Очень спорно. До сегодня я тоже так думал, а теперь передумал.
Слово "считается" как бы и показывает на субъективность озвученного мнения. В любом случае на проектах C где не один человек код пишет вначале насчет всяких регламентов и стилей договариваются.
Там экономили память.
Конечно так и есть, я же просто задумчиво рассуждал. Но вот ведь какая беда, на больших проектах не помню таких стандартов, хотя некоторые и сам разрабатывал. С сями проблема в другом. Программисты на сях просто мгновенно зарываются и выбраться не могут. Кстати, именно поэтому придумали ООП, но со временем поняли, что это совсем тупик и предпочтение стало отдаваться ОВП.
Это со структурного программирования началось и на ООП не кончится. На больших проектах это опять каких? Ядро Линукса имеет свои регламенты по написанию и оформлению и стилю. У больших и толстых заказчиков есть свои регламенты для разработки и не под один C. Почему то считается, что аджайл позволяет забить на документирование и регламенты, но хорошим это не заканчивается.
"Программисты на сях просто мгновенно зарываются и выбраться не могут." Это не проблема языка, это проблема реализуемой архитектуры
Не, в данном случае языка и правил. Такое ощущение, что сишников с детства заставляют писать запутанный код. Свои ассемблерные поделки из прошлых десятилетий запросто разбираю, а знакомый сишник уже через год не смог нормально понять свою прогу передачи данных по модему.
Не соглашусь. Какой-бы толстый не был заказчик, он гораздо глупее мирового опыта. Поэтому самодурство, это круто, но не всегда верно
Это проблема конкретных программистов. Код для МК разбираю нормально, и опять же, линуксячье ядро, огромная кодовая база и при этом читабельный код
А у него регламент дворник пишет? На мировой опыт можно подрядчику и забить, если нет регламента в котором мировой опыт прописан и которому нужно следовать В общем речи о самодурстве нет, там о обязанности следовать договоренностям
О! Линукс показатель! Серьёзно. Но вопрос, почему сишники-одиночки так не могут? Где-то же есть причина
В точку! Я думал мы про то, когда клиент на ходу выдумывает ересь, считая себя гениальнейшим в мире
Огромная кодовая база начиналась с кода одиночек и до сих пор используется
Обсуждают сегодня