Темата е заключена, не можете да променяте мнения.  [ 39 мнения ]  Отиди на страница 1, 2, 3  Следваща
За и против асемблера ? 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Сря Ное 10, 2004 1:06 am
Мнения: 161
Местоположение: Нова Загора
Мнение За и против асемблера ?
Питам се дали е удачно да се учи задълбочено асемблер за микроконтролери, или може да се ползва само език от високо ниво - С например.
Аз ползвам С, но си мился че не е лошо да понауча малко и асемблера.
Споделете вашите мнения по темата. :?:



П.П
Говоря като микроконтролери като цяло, без да конкретизирам ....


Вто Май 19, 2009 11:07 am
Профил
Ранг: Професионалист
Ранг: Професионалист
Аватар

Регистриран на: Сря Май 11, 2005 3:47 pm
Мнения: 534
Мнение Re: За и против асемблера ?
Абе тука само извратени хора ли има ...


Вто Май 19, 2009 11:31 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: За и против асемблера ?
BONGO написа:
Питам се дали е удачно да се учи задълбочено асемблер за микроконтролери, или може да се ползва само език от високо ниво - С например.
Аз ползвам С, но си мился че не е лошо да понауча малко и асемблера.
Споделете вашите мнения по темата. :?:



П.П
Говоря като микроконтролери като цяло, без да конкретизирам ....


Отговор:

За да правиш прости мигалки, може и само C и само Assembler.

За да работиш сериозно, с който и да е контролер - пишеш на C и АКО се наложи тук-таме на Асемблер. Т.е. ако ще работиш сериозно - трябва да владееш C (което е що годе универсално), както и асемблера на конкретния контролер. Даже и да не ти се наложи да пишеш на асемблер, ще ти се наложи да дизасемблираш кода на компилатора. Така че задължително е познаването на двете.

Така че насочил си се абсолютно правилно.

Сега най-добре Рек да заключи темата, че ще стане мазало.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Вто Май 19, 2009 11:50 am
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Сря Ное 10, 2004 1:06 am
Мнения: 161
Местоположение: Нова Загора
Мнение 
Това е! Заключвайте темата! Благоаря за отговора!


Вто Май 19, 2009 11:53 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
Какъв асемблер? Има ги безброй. Повечето са неудобни.
C-то е мазня, с която можеш да размажеш нещо както всички останали
в днешно време и вероятно да бъдеш конкурентноспособен.
Което не го прави свестен език за програмиране, вредата, който тоя език
нанася на развитието вероятно е съпоставима с тая, нанесена от римските цифри
на математиката (за колко римски математика се сещаш).
Но както римляните биха те гледали като ненормален ако им предложиш
арабски цифри вместо техните си, така и повечето програмисти в днешно време
посрещат идеята, че C е главната спирачка пред това да бъдат пъти по-ефикасни.

Но едва ли имаш пред себе си опции, по-добри от C, за съжаление.
Възможността да минеш без него струва много учене, усилия и т.н., не е за начинаещи.
Не е и за повечето напреднали, всъщност... поне засега. Инак казано, който може
да мине без C не се чуди дали да го прави, а просто минава без него.
А ако просто става дума за преопаковане на едно изделие в друго и препродаване,
(най-популярното занимание в днешно време май), C-то е непобедимо (огромно
количество работеши някак закърпени размазаности).

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Вто Май 19, 2009 11:28 pm
Профил WWW
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Ами и аз програмирах за микроконтролери главно на С, но реших, че да понауча асемблер ще ми е от полза и наистина е! Сега когато нещо не тръгва, преглеждам кода от компилатора на асемблер и веднага виждам къде е грешката и коригирам :) А иначе, че С не е перфектен език не е, но такъв и не съществува - зависи какво ти трябва.

_________________
Българският портал за РОБОТИКА


Сря Май 20, 2009 9:27 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение 
tgi написа:
Какъв асемблер? Има ги безброй. Повечето са неудобни.


Преди около 23-4 години познавах един шемет дето на Правец 8 пишеше програмите по следния начин :

$F0AC : $BA $C3 ................ и т.н.


Сря Май 20, 2009 5:10 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
Преди толкова години аз можех с лекота да асемблирам на ръка код за 6800...
Преди да имам каквито и да е средства освен един D5+ (+ от мене) кит, това
правех (е, не много дълго време). На хартия пишех сорса (до няколко страници,
с коментари, както пише човек) и след това асемблирах в оставеното отляво
поле.... Е, май най-сложното, което написах, беше една игра на бикове и крави :-) :-).

В днешно време асемблирам с VPA-то си, което е близко до това, което запълва
празнотата между обикновен асемблер и език от високо ниво. Строго погледнато
е по-скоро от "високо" ниво, защото един ред може да изгенерира от 0 до 20-ина
опкода (не става дума за макроинструкция). Може сума ти работи,
като извличане на част от аргументи, рекурсивни макроинструкции, макро *дефиниции*
насред макро, ползва целия скрипт език на DPS-shell-а, който включва мултидименсионални
променливи (т.е. името на променлива може да е съставено от променливи), и кой знае
какво още, дето не се сещам. Е, мултиплатформеността досега е ограничена до
68k/CPU32 и PPC, но всичко останало е въпрос на реализация, не на нещо
ново.
Въобще главното в един език е сематичното богатство, след това идва лекотата, с която това
богатство се ползва, и чак след това идва леснотата за учене - освен ако не става дума
за еднократно усилие, когато голямо учене не е оправдано.
Още малко да поясня как виждам езиците, тия от високо ниво са като разговорник,
с който можеш да се оправиш набързо. Разговорникът от най-ниско ниво, който съм
виждал, е C - затова е и най-използваем. Но движението отгоре надолу - прибавяйки
фрази към разговорника - е принципно погрешно, езиците еволюират в обратна посока,
създавайки конструкции на базата главно на вече наличното в тях. Това, разбира се,
предполага овладяването на езика преди ползването му и съответно е (много?) по-трудоемко,
а и не всеки има способността да съчинява текст, всъщност на много хора им е
по-лесно да ползват готови фрази....

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Сря Май 20, 2009 7:40 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
BONGO, ако се справяш на C, не ти трябва да учиш асемблер, освен може би дотолкова, доколкото да проверяваш понякога в листинга какво ти е изгенерирал компилатора, така ще научиш кои конструкции на C генерират минимален код. Асемблера е като да се опитваш да запалиш кола с манивела и бутане, при положение, че имаш работещо табло и само трябва да се научиш в коя посока да завърташ ключа за запалването. Ако си мазохист буташ, ако не си, сядаш като бял човек, палиш и потегляш :D Асемблера може да го сравниш още с китайските ейроглифи, а C с английския, ако ще ходиш да живееш в Китай е хубаво да научиш ейроглифите, ако мислиш да обикаляш по света, китайския няма да ти помогне особено.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Чет Май 21, 2009 12:13 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
¶ написа:
BONGO, ако се справяш на C, не ти трябва да учиш асемблер, освен може би дотолкова, доколкото да проверяваш понякога в листинга какво ти е изгенерирал компилатора, така ще научиш кои конструкции на C генерират минимален код. Асемблера е като да се опитваш да запалиш кола с манивела и бутане, при положение, че имаш работещо табло и само трябва да се научиш в коя посока да завърташ ключа за запалването. Ако си мазохист буташ, ако не си, сядаш като бял човек, палиш и потегляш :D Асемблера може да го сравниш още с китайските ейроглифи, а C с английския, ако ще ходиш да живееш в Китай е хубаво да научиш ейроглифите, ако мислиш да обикаляш по света, китайския няма да ти помогне особено.


Ако съм работодател и някой ми заяви че има опит с определен контролер, без да познава асемблера му, щото видиш ли не му трябвал - ще го пратя да си търси работа като Java драскач.

Не можеш да пишеш оптимизиран код на C без да познаваш архитектурата върху която ще я пуснеш, т.е. асемблера и. Един ред на C за PIC може да генерира най-оптималния код, но същия ред на C за ARM ще сътвори сериозна боза. И няма как да разбереш кой е "оптималния код" на С ако не знаеш какъв е програмния модел на използвания процесор, вкл. асемблера му. Например дали има инструкции за делене, дали е по добре да ръгаш променливите в стека или като глобални или пък като регистри, дали има битово ориентирани инструкции или не, дали може да тегли неподравнени данни от паметта и пр. Всичко това човек може да разбере само ако познава на прилично ниво асемблера на конкретния контролер.

Естествено ако говорим за писане върху операционна система на високо ниво върху процесор - тогава има почва за изява и за непознаващи платформата/асемблера. Но ако говорим за микроконтролери....

Все едно да пишеш CPLD, знаейки само VHDL, ама без да знаеш закона на Ом. Не че не може.... ама не е сериозно.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Май 21, 2009 12:33 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Да си, ама не си работодател :D Обикновено работодателите не са инженери, за тях е по-важно човека да си върши работата бързо и качествено, а не да знае има ли деление, няма ли в професора, познаването на стек, опашка, динамични променливи няма нищо общо с асемблера. Тези разбирания са морално остарели и са имали смисъл преди 20г., сега когато микроконтролерите праскат на по 200MHz не е от съществено значение асемблера. Ако се пишеше на асемблер, сега лаптоп с ОС щеше да има само tgi :)

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Чет Май 21, 2009 3:45 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Съб Юни 24, 2006 8:25 pm
Мнения: 2292
Мнение 
Tъкмо бях започнал да се притеснявам, че от тая искра огън няма да има :D

_________________
Две плюс две е приблизително равно на четири. Факт!


Чет Май 21, 2009 3:58 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
¶ написа:
Да си, ама не си работодател


:)

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Май 21, 2009 4:14 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
¶ написа:
Да си, ама не си работодател :D Обикновено работодателите не са инженери, за тях е по-важно човека да си върши работата бързо и качествено, а не да знае има ли деление, няма ли в професора, познаването на стек, опашка, динамични променливи няма нищо общо с асемблера. Тези разбирания са морално остарели и са имали смисъл преди 20г., сега когато микроконтролерите праскат на по 200MHz не е от съществено значение асемблера. Ако се пишеше на асемблер, сега лаптоп с ОС щеше да има само tgi :)


От това, че не е работодател твърдението не става по-малко вярно.
Наистина с 200+ MHz системи в днешно време куцо и сакато прави това, което е правено
преди с 2-3 MHz (е, днешните работят по-непредсказуемо и за самите им програмисти, ама
пък нали са евтини та и не е толкова нужно да работят...).

Всъщност лаптоп - или настолна система - с пълнофункционална ОС 100+ пъти по-компактна и
не ми се смята с колко по-ниска латентност от тия на MS и Apple така и няма откъде да купиш
освен от мене. Едва ли защото съм толкова по-способен от останалите; средствата, които
ползвам, са ключът.

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Чет Май 21, 2009 6:59 pm
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Нед Яну 18, 2009 1:28 pm
Мнения: 110
Мнение 
tgi написа:
¶ написа:
...Всъщност лаптоп - или настолна система - с пълнофункционална ОС 100+ пъти по-компактна и
не ми се смята с колко по-ниска латентност от тия на MS и Apple така и няма откъде да купиш
освен от мене. Едва ли защото съм толкова по-способен от останалите; средствата, които
ползвам, са ключът.


боже кВи "гении" имало по тоя свят :)


Чет Май 21, 2009 8:40 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Темата е заключена, не можете да променяте мнения.   [ 39 мнения ]  Отиди на страница 1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни