|
|
  |
Ну , что прощаемся с Atmel ? |
|
|
|
Oct 16 2015, 08:28
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(zltigo @ Oct 16 2015, 10:42)  Никакой дискриминации. Вопрос ПРЕЖДЕ всего в возможности работы в команде. Под Вас, как носителя форта, или носителя суахили, никто не будет подстраиватся. Такова жизненая реальность. Жизненная реальность такова, что даже владеющие одним языком могут существенно различаться в способах и стилях его применения даже не считая дополнительных абстракций как ОС, автоматы, объектность и др. И есть большая вероятность что поддерживать код следующий программист станет с переписывания "кривых мест по его мнению" от предыдущего программиста. Не все же способны понять "Войну и мир" как понимал её автор, если это всё же возможно. P.S. А работодателя, прежде всего, интересует результат, а не то какие средства выбрал для достижения его профессионал (если это действительно профессионал) Ассемблер в ряду таких же средств, как и другие инструменты. У "менеджеров", конечно, управляющими программистами несколько иная точка зрения на это и индивидуальные предпочтения в разработке они стараются убрать в принципе. т.к. это им дополнительный "головняк" по работе.
Сообщение отредактировал Kopa - Oct 16 2015, 08:38
|
|
|
|
|
Oct 16 2015, 08:35
|

Дух погибшего транзистора
   
Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288

|
Цитата(zombi @ Oct 16 2015, 12:27)  Пример не удачный. Вполне удачный. Цитата(zombi @ Oct 16 2015, 12:27)  Вы привели два стиля программирования. Второй более наглядный и удобный. Которым матерые ассемблерщики обычно не пользуются.
--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
|
|
|
|
|
Oct 16 2015, 08:38
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(zombi @ Oct 16 2015, 10:18)  Пишут на СИ как на асме, или на асме как на СИ? Можете пример привести? Цитата(zombi @ Oct 16 2015, 11:27)  Пример не удачный. Вы привели два стиля программирования. Точно также эти две строки можно и асме написать. Вы читаете то, что сами пишете и пишут вам в ответ? Утверждалось, что на одном языке можно программировать в духе другого языка. Вы попросили пример. Вам его привели. Вы утверждаете, что это "два стиля программирования" - да, в этом и был смысл примера. Почему же вы его называете неудачным?
|
|
|
|
|
Oct 16 2015, 08:42
|

Дух погибшего транзистора
   
Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288

|
Цитата(Kopa @ Oct 16 2015, 12:28)  P.S. А работодателя, прежде всего, интересует результат, а не то какие средства выбрал для достижения его профессионал (если это действительно профессионал) Еще как интересуют. Экзотическое пусть и работающее барахло в качестве результата работы профессионала никому не нужно, если речь именно про работодателя, а не стороннего заказчика, являющегося полным нулем. Цитата(zombi @ Oct 16 2015, 12:38)  Матёрые как раз и пользуются. Не пользуются начинающие. А по приведенному примеру этого что-то и не заметно
--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
|
|
|
|
|
Oct 16 2015, 08:49
|

профессиональный дилетант
   
Группа: Участник
Сообщений: 866
Регистрация: 16-03-06
Из: Шебекино - Лысьва - Тюмень
Пользователь №: 15 292

|
Цитата(SpiritDance @ Oct 16 2015, 11:25)  Неумение отвязываться от железа Извиняюсь спросить - а для программиста это обязательное умение? Может, не стоит совсем-то от железа отвязываться, хотя бы в этой теме, а то будет как не помню у кого в подписи о цели программиста - "намагнитить участки поверхности быстро вращающихся дисков" Просто я больше как раз "железячник", и программный код для меня, скажем так, вторичен. И если к устройству, имеющему дискретных 8 входов и 4 выхода, программист потребует 32-х разрядный МК в корпусе BGA с мегабайтами флэша на борту, не меньше 40МГц тактовой, среду разработки на языке высочайшего уровня стоимостью несколько сотен килорублей и двухпроцессорный комп для симуляции - у меня возникнут подозрения не только в профпригодности, но и психическом здоровье такого специалиста. Или, например, фразы типа "какую операционку лучше поставить на микроволновку", "разработать GUI для карандашной точилки". С другой стороны, с программиста, обслуживающего базу данных бухгалтерии, требовать знания ассемблера - глупость другой степени крайности
--------------------
Скоро дело сказывается, да не скоро сказка делается, или тише будешь - дальше уедешь...  
|
|
|
|
|
Oct 16 2015, 08:50
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(zombi @ Oct 16 2015, 11:31)   По Вашему типы данных есть только у языков высокого уровня? Конечно нет. Но ими никто не пользуется. Есть массив структур: Код typedef struct sRS485_MASTER_TASK { BYTE task:2; BYTE flag:1; BYTE address:5; BYTE source; WORD index; } sRS485_MASTER_TASK; Покажете как им пользоваться на asm? Напишите аналог функции rs485_task_add? CODE void rs485_task_add(sCONFIG_ITEM item) { int i;
#ifdef DEBUG_RS485_TASK con_str("rs485_task_add"); con_start(); #endif // DEBUG_RS485_TASK
if(item.driver == DRV_RS485_MASTER) { for(i = 0; i < RS485_MASTER_TASK_SIZE; i++) { if((rs485_master_task[i].task == item.rs485_task) && (rs485_master_task[i].source == item.source) && (rs485_master_task[i].index == item.index) && (rs485_master_task[i].address == item.id) ) { #ifdef DEBUG_RS485_TASK con_str(" @ "); con_dec(i); con_str("\n\r"); con_start(); #endif // DEBUG_RS485_TASK
rs485_master_task[i].flag = 0; return; } }
if(i == RS485_MASTER_TASK_SIZE) { for(i = 0; i < RS485_MASTER_TASK_SIZE; i++) { if(rs485_master_task[i].task == RS485_TASK_OFF) { #ifdef DEBUG_RS485_TASK con_str(" new "); con_dec(i); con_str("\n\r"); con_start(); #endif // DEBUG_RS485_TASK
rs485_master_task[i].task = item.rs485_task; rs485_master_task[i].source = item.source; rs485_master_task[i].index = item.index; rs485_master_task[i].address = item.id; rs485_master_task[i].flag = 0; return; } } } } }
Только прошу учесть, что завтра я (может быть) поменяю тип на такой: Код typedef struct sRS485_MASTER_TASK { DWORD task; DWORD flag; DWORD address; DWORD source; DWORD index; } sRS485_MASTER_TASK; Перекомпиляции будет достаточно или нужно шерстить весь код на предмет работы с данным типом?
|
|
|
|
|
Oct 16 2015, 08:50
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(HHIMERA @ Oct 16 2015, 11:34)  Угу... щазз... Перепишите чужой АСМ-исходник... если исходник без коментов... слабо???  Отчего же? Но без знания метрик повторяемого решения это может быть трудно осуществимо если утерян "пласт" метаинформации на основе знаний которой делалось решение. А "механический" перенос возможен даже и в этом случае, хотя он и не тривиален.  Есть даже личный какой то опыт в этом. Качество решения и необходимые инструментарии для этого можно себе сделать или закупить существующие (АSM -> псевдо C есть например в IDA и др))
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|