Если у Вас лично стоит выбор — детальный разбор того, чем уже занимаешься или освоение новой архитектуры — то это Ваши проблемы. У меня такая проблема не возникает — когда даже не мне понадобилось, а знакомый попросил, я достаточно быстро разобрался и с STM8, и с IAR-ом для него (с Cosmic-ом тоже, но он без плюсов, поэтому был отставлен). Т.е. не только в оболочке, но и в том, как компилятор на низком уровне работает с камнем — это нужно было для портирования по просьбе того знакомого scmRTOS на STM8.HHIMERA писал(а):Оно стоит того??? Чтобы в конце концов упереться в предел возможности камня, вместо освоения новой архитектуры???
Сейчас у меня CM3 в ходу, для разнообразия в две разных работы заложил STM32 и LPC17. Еще в одном месте подумывал в альтерину софт-ядро какое-то затолкать, но потом решил, что для сложной работы все равно снаружи LPC17 стоит, а для средней по скорости внутри будет достаточно заточенного под задачу самодельного микропрограммного автомата с глубиной стека 3 уровня и программной памятью на 128 32-битных команд (задействовано около 100). Что-то в духе
Код: Выделить всё
if bio_vr == 1 wait cyclecnt == 102 set bo_vp;
if bit_f == 0 and reg_r == 200 call s_rread;Как видите, меня хватает и новые архитектуры осваивать, и в старых детально разбираться (мне казалось, что это только помогает при освоении новых, если только новые не стараться освоить столь же поверхностно), и открытые проекты поддерживать, и свой закрытый, но бесплатный вести, и на форумах зря время тратить.
Для тех, кто плохо читает, повторяю — первые двести байт экономии получено без применения процессоро- и компиляторо-зависимых вещей. Даже предзагрузка указателя — ещё не «полностью…»HHIMERA писал(а):На таком маленьком объёме кода вы взяли всё управление на себя... полностью...
Я понимаю желание доказать свою точку зрения без доказательств, но читаем внимательноHHIMERA писал(а):Игры с регистрами в двух случаях закончились плачевно, что и неудивительно, но вас, почему-то, это не насторожило...
Это называется «не насторожило»?avreal писал(а):Не зря я не люблю насиловать компилятор размещением в регистрах.
Насторожило задолго до того, как я за этот исходник взялся.
Пожалуйста, покажите в моём исходнике место, кторое при изменении может привести к неработоспособности программы по вине уже существующего исходника.HHIMERA писал(а):Аккуратно - это не только сэкономить десяток байтов и пару тактов... это и чтобы после каждого, малейшего, изменения исходника не впадать в ступор... "пачему оно не робить?"... если вы ещё не поняли...
Вариант с привязкой к регистрам прошу не рассматривать, на всякий случай повторю еще раз
Вариант с предзагрузкой указателя можно рассматривать.avreal писал(а):Не зря я не люблю насиловать компилятор размещением в регистрах.
Можно было бы ещё показать на примере, какой из указанных мной, громко говоря, приёмов на какой платформе (контроллер+компилятор) может привести к значительному ухудшению кода (вместо -25% по объёму хотя бы +5%) или к его нестабильности (зависимости работоспособности от опций компилятора или размеров массивов, ...).