Цитата(LWW @ Apr 2 2015, 01:36)

Интересно.. интересно.... Битбандинг во всех кортексах порезали или только в атмеловских? Он вроде не является частью ядра..
Попробуйте почитать документацию, не только в части ассемблерных команд. Я вам уже советовал изучить прекрасную архитектуру Cortex-M.
Bit-banding - это часть ядра. По сути, это несколько фиксированных регионов памяти.
Другой вопрос, что он реализован не во всех ядрах.
Под "порезали" иногда стоит понимать, что некая периферия (например, GPIO в новых STM) на находится в соответствующих регионах памяти.
Цитата(LWW @ Apr 2 2015, 01:36)

На самом деле, тема asm это не off. Потому что как только доходит до понимания того, что ты делаешь, до знания архитектуры и принципов работы камня, эффективности и скорости кода, его чистоты и устойчивости, так слово ASM, произнесённое в любой ветке, вызывает бурю эмоций. Потому что если программист знает архитектуру и любит камушек, ему и в голову не придёт писать на чём-то ещё, кроме ASM. А это значит, что сразу начинают лететь стулья в любителей ассемблера.
Не пытайтесь убедить людей, что знание asm автоматически гарантирует описанное выше превосходное знание предмета.
Писать "светодиодные мигалки" с использованием asm-инструкций, не доказывает чью-либо "крутость" и "маньячность", а скорее наоборот, показывает непрофессионализм: для мигалки светодиодом есть 555-таймер, архитектура Cortex выбрана с огромным избытком, использование asm ничем не обосновано, ни увеличения быстродействия, ни уменьшения вероятности недостатка памяти нет.
У вас на сейте есть простейших проект на asm, как раз мигалка.
Стоило ли писать на asm, чтобы потом делать ожидание в цикле? Это наглядная иллюстрация того, что ничего кроме факта asm-инструкций в той и большинстве аналогичных asm-программ нет.
Если есть "маньяки", которые профессионально кодят на asm, то они:
- используют архитектурные особенности и периферийные модули в МК;
- продумывают архитектуру и модульность программы;
- не используют "магический чисел" в коде;
- и т.п.
И самое главное: если программисту нужно кушать и кормить семью, он будет писать на том, за что будут платить денежку.
Мега крутой код на asm не нужен заказчику, заказчику важны функционал, разумные сроки, сопровождаемость.
Профессиональному программисту нужен код, который может быть использован многократно в разных проектах.
Грубо говоря: один раз написал - сто раз продал. Asm в сравнении с C тут не инструмент.
Цитата(LWW @ Apr 2 2015, 01:36)

Чем плохи суррогатные языки - вообще непонятно, что и когда делает камень, что там внутри происходит? Это всё за гранью понимания даже для тех, кто эти языки придумывает.
Чтоб помигать светодиодом нужно так углубляться?
Программисту важно что будет сделано, а не как это будет сделано.
У меня есть жена, которая готовит в семье. Если я буду вникать в ее кухню, диктовать меню, контролировать закупки продуктов, их приготовление, участвовать в поджигании огня под кастрюлей и в закладывании картошки, то толку от этого мало. У меня умная и заботливая жена, которая в фоне делает так, чтобы все были сыты и счастливы, а я в это время мог заниматься другой деятельностью. В этой аналогии жена - современный компилятор С. Мне не важно КАК она готовит, мне важен результат - все сыты и здоровы, и наличие ключей компиляции "неплохо бы рыбки откушать", "борщика бы".
Цитата(LWW @ Apr 2 2015, 01:36)

Кстати, и сами кристаллы так же разрабатываются. Никто их на уровне межтарнзисторных соединений не проектирует, к сожалению.....
Дык, зачем жалеть: есть много проектов, в который сейчас делают АЛУ и целые компы на транзисторах. Советую погуглить, может для вас 4-битный проц со своей системой команд были бы верхом наслаждения.