Ассемблер

Флейм в чистом виде - все что угодно...
Но - в рамках закона :)
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Ассемблер

Сообщение Arlleex »

Я вот где то читал, что под каждый процессор - свой ассемблер. Так для ВСЕХ ли AVR МК он одинаков?
1. Стоит ли его учить?
2. С чего лучше начать?
3. И вообще, возможно ли мне, пацану, 15 лет, выучить этот злой язык программирования?

я смотрел, что в даташите на меги, там есть операторы для ассемблера.
Не умеешь - не берись, но не взявшись не научишься...
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Его не надо учить, надо понимать, что ассемблер это набор команд конкретного процессора/контроллера. Открываешь документацию и вперёд.

Ну а всякие приёмы программирования придут с опытом, хотя литературу тоже надо читать.
Реклама
Аватара пользователя
DrWatson
Опытный кот
Сообщения: 890
Зарегистрирован: Вт янв 20, 2009 14:49:08
Откуда: Гондурас, Мурманск

Сообщение DrWatson »

Именно, начинаешь программировать какую-нибудь задачу и попутно команды изучаешь. Главное знать что нужно сделать, а как - даташит поможет. А возраст тут роли не играет, главное чтоб соображалка работала.
- Если вы такие умные, то почему тогда строем не ходите?
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

ploop..
Попробую дёрнуть за полосатый хвост..
ассемблер это набор команд
Не команд, а набор так называемых мнемоник, которые в понятной форме описывают команды...
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
DrWatson
Опытный кот
Сообщения: 890
Зарегистрирован: Вт янв 20, 2009 14:49:08
Откуда: Гондурас, Мурманск

Сообщение DrWatson »

Язык ассемблера (автокод) — язык программирования низкого уровня. В отличие от языка машинных кодов, позволяет использовать более удобные для человека мнемонические (символьные) обозначения команд. При этом для перевода с языка ассемблера в понимаемый процессором машинный код требуется специальная программа, называемая ассемблером.
- Если вы такие умные, то почему тогда строем не ходите?
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
Реклама
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Re: Ассемблер

Сообщение Барсик »

Stalker46 писал(а):...под каждый процессор - свой ассемблер. Так для ВСЕХ ли AVR МК он одинаков?
Да, для семейства AVR одинаков.
Stalker46 писал(а):1. Стоит ли его учить?
Не стоит. Слишком много времени придётся потратить, чтобы получить результат.
Stalker46 писал(а):2. С чего лучше начать?
С языка "C".
Stalker46 писал(а):3. И вообще, возможно ли мне, пацану, 15 лет, выучить этот злой язык программирования?
Возможно всё, но вот только оно Вам надо? Или это всё для того, чтобы сказать: "Во я какой крутой, на ассемблере пишу".

Вот мне, например, пришлось писать на ассемблере процессора i8080 только лишь потому, что не было в моём распоряжении среды разработки, которая бы поддерживала хоть какой-нибудь язык высокого уровня. Позднее пришлось писать ассемблерные вставки для программ для IBM PC из-за того, что процессоры были дохленькие (8 Мгц) и программа на C не успевала сделать то, что надо. А когда я дорвался для микроконтроллеров AVR, то решил, что хватит уже с меня ассемблеров. Ну их в болото. Поэтому пишу на C, а ассемблера просто не знаю...
Реклама
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

а что значит язык НИЗКОГО и высокого уровня?
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Низкого уровня означает, что синтаксис и мнемоники языка "более приближены" к железу и принципу работы процессора или МК..
А высокого.. на то они и высокие, что от самого железа очень высоки.. в смысле далеки..
Когда пишешь на языках высокого уровня, ты не особо задумываешься о том, какая у тя железка..
..
Именно поэтому на "асме" ты пишешь для конкретного семейства кристаллов, а на "С" можно и для нескольких писать...
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

Язык низкого уровня использует непосредственно команды процессора. Хотя бы эти команды и имеют некие буквенные названия. Поэтому он привязан к конкретному процессору. Ассемблер - язык низкого уровня.
Язык высокого уровня непосредственно команды процессора не использует, а использует некие операторы, которые что-то там делают. Набор этих операторов не зависит от типа и конструкции процессора и архитектуры микропроцессорной системы. Поэтому программисту, использующему язык высокого уровня, глубоко плевать, какая там архитектура - "Гарвардская" или "Фон-Неймановская", и чихать на то, сколько в процессоре регистров общего назначения и как их использовать. "C" - язык высокого уровня. Но даже язык высокого уровня позволяет в случае чего покопаться в нижнем белье процессора, если очень хочется...
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

ну т.е. для AVR, да?
Не умеешь - не берись, но не взявшись не научишься...
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

а каких МК лучше купить сразу?
ATMega16
32
64
128 или еще каких?
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Попробую дёрнуть за полосатый хвост..
Ну попробуй :)
а набор так называемых мнемоник
А следующая тема в МЯУ будет с названием "что такое мнемоники?" :)))
Я постарался объяснить более простым языком...
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

Когда я начинал, я купил себе каждой твари по паре:
ATtiny13 - за то, что у него ног мало, и это самый дешёвый контроллер, который поддерживается средой разработки CodeVisionAVR.
ATtiny2313 - за то, что это не сильно навороченный контролер для несложных поделок
ATmega8 - за то, что он почему-то пользуется всенародной любовью, и для него в сети выложено много всякого.
Последний раз редактировалось Барсик Пн июн 22, 2009 11:42:51, всего редактировалось 1 раз.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

А чего мелочиться-то..
Бери сразу:
ATMega256, 512, 1024.... :)))
Аватара пользователя
Upgrader
Друг Кота
Сообщения: 26671
Зарегистрирован: Пт май 18, 2007 22:56:58

Сообщение Upgrader »

Но асм универсален, очень быстры программы в работе, еще и экономия памяти. Идеальный, если не считать трудность программирования на нем больших программ. Я жалею что до сих пор его плохо знаю. Если он - первый язык программирования, то должен казаться самым простым из всех :) Ну вот еще скажу что без знания асма не так просто ломать (взламывать) или даже просто отлаживать программы написанные на языках высокого уровня.
Конечно на ассемблере возможно нет смысла писать большие программы, т.к. это сложно и трудно, но по моему знание этого "языка" будет большим плюсом при написании системных программ, программ для железа. В большинстве нормальных языках высокого уровня (пусть тот-же С) возможно писать часть кода на асме.

На трекере torrents.ru можно найти очень много книг (даже сборников книг) по программированию.

Ну и еще можно сказать что если не программировать на ассемблере, то достаточно узнать хотябы его основы (это замет всего ничего по времени), и пойти изучать другой язык.
Вложения
fr08v101.rar
пример программы для Windows с использованием ассемблерного кода (на размер файла и содержание посмотрите).
Внимание! В программе есть звук и она использует трехмерную графику (на древних компах не запускать).
(62.12 КБ) 282 скачивания
Последний раз редактировалось Upgrader Пн июн 22, 2009 11:53:25, всего редактировалось 2 раза.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

А было время, когда мя небольшие программы прямо в кодах писал..
По памяти, даже не запуская ассемблер..
Просто это было время 286 машин, а PC-шный комп был только на работе..
Вот мя дома и ваял прямо в кодах.. а на работе прошивал МК и вперёд.. всё работало...
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Ну уж коль пошла такая пьянка.. www.wasm.ru
Аватара пользователя
saschai
Говорящий с текстолитом
Сообщения: 1596
Зарегистрирован: Вс дек 14, 2008 20:36:47
Откуда: SPb

Сообщение saschai »

2. С чего лучше начать?
А что ты в школе на информатике изучал?
Мое мнение от простого к сложному :)) ,
по крайней мере тот же Васик, даст тебе, на начальном этапе, представление об идиологии построения программы, и , опять же мое мнение, наглядное прелставление процессах происходящих в МК, по крайней мере мозги повернет в правильном направлении :))
Аватара пользователя
Redrik Shuhart
Друг Кота
Сообщения: 3641
Зарегистрирован: Пт апр 03, 2009 22:12:58
Откуда: Из Украины, Кировоградская облась,

Сообщение Redrik Shuhart »

кул! графа как в коннтре но то пофиг с ТАКИМ РАЗМЕРОМ
Мотание тороидов- вышивание по мужски.
Аватара пользователя
Hudgun
Электрический кот
Сообщения: 1071
Зарегистрирован: Пн май 04, 2009 16:43:07
Откуда: Набережные Челны

Сообщение Hudgun »

Redrik Shuhart писал(а):кул! графа как в коннтре но то пофиг с ТАКИМ РАЗМЕРОМ
слов нету... круто!
Ответить

Вернуться в «МЯЯЯУ!»