Страница 1 из 6
Ассемблер
Добавлено: Пн июн 22, 2009 10:04:40
Arlleex
Я вот где то читал, что под каждый процессор - свой ассемблер. Так для ВСЕХ ли AVR МК он одинаков?
1. Стоит ли его учить?
2. С чего лучше начать?
3. И вообще, возможно ли мне, пацану, 15 лет, выучить этот злой язык программирования?
я смотрел, что в даташите на меги, там есть операторы для ассемблера.
Добавлено: Пн июн 22, 2009 10:20:28
ploop
Его не надо учить, надо понимать, что ассемблер это набор команд конкретного процессора/контроллера. Открываешь документацию и вперёд.
Ну а всякие приёмы программирования придут с опытом, хотя литературу тоже надо читать.
Добавлено: Пн июн 22, 2009 10:30:28
DrWatson
Именно, начинаешь программировать какую-нибудь задачу и попутно команды изучаешь. Главное знать что нужно сделать, а как - даташит поможет. А возраст тут роли не играет, главное чтоб соображалка работала.
Добавлено: Пн июн 22, 2009 10:36:34
МитяРа
ploop..
Попробую дёрнуть за полосатый хвост..
ассемблер это набор команд
Не команд, а набор так называемых мнемоник, которые в понятной форме описывают команды...
Добавлено: Пн июн 22, 2009 10:54:14
DrWatson
Язык ассемблера (автокод) — язык программирования низкого уровня. В отличие от языка машинных кодов, позволяет использовать более удобные для человека мнемонические (символьные) обозначения команд. При этом для перевода с языка ассемблера в понимаемый процессором машинный код требуется специальная программа, называемая ассемблером.
Re: Ассемблер
Добавлено: Пн июн 22, 2009 11:01:14
Барсик
Stalker46 писал(а):...под каждый процессор - свой ассемблер. Так для ВСЕХ ли AVR МК он одинаков?
Да, для семейства AVR одинаков.
Stalker46 писал(а):1. Стоит ли его учить?
Не стоит. Слишком много времени придётся потратить, чтобы получить результат.
Stalker46 писал(а):2. С чего лучше начать?
С языка "C".
Stalker46 писал(а):3. И вообще, возможно ли мне, пацану, 15 лет, выучить этот злой язык программирования?
Возможно всё, но вот только оно Вам надо? Или это всё для того, чтобы сказать: "Во я какой крутой, на ассемблере пишу".
Вот мне, например, пришлось писать на ассемблере процессора i8080 только лишь потому, что не было в моём распоряжении среды разработки, которая бы поддерживала хоть какой-нибудь язык высокого уровня. Позднее пришлось писать ассемблерные вставки для программ для IBM PC из-за того, что процессоры были дохленькие (8 Мгц) и программа на C не успевала сделать то, что надо. А когда я дорвался для микроконтроллеров AVR, то решил, что хватит уже с меня ассемблеров. Ну их в болото. Поэтому пишу на C, а ассемблера просто не знаю...
Добавлено: Пн июн 22, 2009 11:06:09
Arlleex
а что значит язык НИЗКОГО и высокого уровня?
Добавлено: Пн июн 22, 2009 11:14:34
МитяРа
Низкого уровня означает, что синтаксис и мнемоники языка "более приближены" к железу и принципу работы процессора или МК..
А высокого.. на то они и высокие, что от самого железа очень высоки.. в смысле далеки..
Когда пишешь на языках высокого уровня, ты не особо задумываешься о том, какая у тя железка..
..
Именно поэтому на "асме" ты пишешь для конкретного семейства кристаллов, а на "С" можно и для нескольких писать...
Добавлено: Пн июн 22, 2009 11:26:18
Барсик
Язык низкого уровня использует непосредственно команды процессора. Хотя бы эти команды и имеют некие буквенные названия. Поэтому он привязан к конкретному процессору. Ассемблер - язык низкого уровня.
Язык высокого уровня непосредственно команды процессора не использует, а использует некие операторы, которые что-то там делают. Набор этих операторов не зависит от типа и конструкции процессора и архитектуры микропроцессорной системы. Поэтому программисту, использующему язык высокого уровня, глубоко плевать, какая там архитектура - "Гарвардская" или "Фон-Неймановская", и чихать на то, сколько в процессоре регистров общего назначения и как их использовать. "C" - язык высокого уровня. Но даже язык высокого уровня позволяет в случае чего покопаться в нижнем белье процессора, если очень хочется...
Добавлено: Пн июн 22, 2009 11:26:20
Arlleex
ну т.е. для AVR, да?
Добавлено: Пн июн 22, 2009 11:28:08
Arlleex
а каких МК лучше купить сразу?
ATMega16
32
64
128 или еще каких?
Добавлено: Пн июн 22, 2009 11:35:46
ploop
Попробую дёрнуть за полосатый хвост..
Ну попробуй
а набор так называемых мнемоник
А следующая тема в МЯУ будет с названием "что такое мнемоники?"
Я постарался объяснить более простым языком...
Добавлено: Пн июн 22, 2009 11:39:40
Барсик
Когда я начинал, я купил себе каждой твари по паре:
ATtiny13 - за то, что у него ног мало, и это самый дешёвый контроллер, который поддерживается средой разработки CodeVisionAVR.
ATtiny2313 - за то, что это не сильно навороченный контролер для несложных поделок
ATmega8 - за то, что он почему-то пользуется всенародной любовью, и для него в сети выложено много всякого.
Добавлено: Пн июн 22, 2009 11:41:00
МитяРа
А чего мелочиться-то..
Бери сразу:
ATMega256, 512, 1024....

Добавлено: Пн июн 22, 2009 11:41:16
Upgrader
Но асм универсален, очень быстры программы в работе, еще и экономия памяти. Идеальный, если не считать трудность программирования на нем
больших программ. Я жалею что до сих пор его плохо знаю. Если он - первый язык программирования, то должен казаться самым простым из всех

Ну вот еще скажу что без знания асма не так просто ломать (взламывать) или даже просто отлаживать программы написанные на языках высокого уровня.
Конечно на ассемблере возможно нет смысла писать большие программы, т.к. это сложно и трудно, но по моему знание этого "языка" будет большим плюсом при написании системных программ, программ для железа. В большинстве нормальных языках высокого уровня (пусть тот-же С) возможно писать часть кода на асме.
На трекере torrents.ru можно найти очень много книг (даже сборников книг) по программированию.
Ну и еще можно сказать что если не программировать на ассемблере, то достаточно узнать хотябы его основы (это замет всего ничего по времени), и пойти изучать другой язык.
Добавлено: Пн июн 22, 2009 11:44:51
МитяРа
А было время, когда мя небольшие программы прямо в кодах писал..
По памяти, даже не запуская ассемблер..
Просто это было время 286 машин, а PC-шный комп был только на работе..
Вот мя дома и ваял прямо в кодах.. а на работе прошивал МК и вперёд.. всё работало...
Добавлено: Пн июн 22, 2009 11:45:34
ploop
Ну уж коль пошла такая пьянка..
www.wasm.ru
Добавлено: Пн июн 22, 2009 12:00:14
saschai
2. С чего лучше начать?
А что ты в школе на информатике изучал?
Мое мнение от простого к сложному

,
по крайней мере тот же Васик, даст тебе, на начальном этапе, представление об идиологии построения программы, и , опять же мое мнение, наглядное прелставление процессах происходящих в МК, по крайней мере мозги повернет в правильном направлении

Добавлено: Пн июн 22, 2009 12:01:05
Redrik Shuhart
кул! графа как в коннтре но то пофиг с ТАКИМ РАЗМЕРОМ
Добавлено: Пн июн 22, 2009 12:07:40
Hudgun
Redrik Shuhart писал(а):кул! графа как в коннтре но то пофиг с ТАКИМ РАЗМЕРОМ
слов нету... круто!