Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Ассемблер, литература
swansong
сообщение 16.04.2009 - 14:49

Частый гость
***

Группа: Участник
Сообщений: 245
Регистрация: 18.06.2005
Пользователь №: 8526


Посоветуйте с чего начать
Перейти в начало страницы
 
+Цитировать сообщение
Akina
сообщение 16.04.2009 - 14:57
Частый гость
***

Группа: Участник
Сообщений: 204
Регистрация: 30.05.2005
Пользователь №: 8240


C похода в магазин и покупки книги в бумаге с последующим её чтением.
Перейти в начало страницы
 
+Цитировать сообщение
Graker
сообщение 16.04.2009 - 15:07

Частый гость
***

Группа: Участник
Сообщений: 182
Регистрация: 5.01.2006
Пользователь №: 11345


Ассемблеров много разных, тебе чего конкретно надо-то?

Начинать надо с изучения->понимания архитектуры ядра, под которое ассемблер.
Перейти в начало страницы
 
+Цитировать сообщение
leah
сообщение 16.04.2009 - 19:48

Постоялец форума
*****

Группа: Модератор
Сообщений: 967
Регистрация: 17.08.2004
Пользователь №: 4400


Цитата(Graker @ 16.04.2009 - 16:07) *
Ассемблеров много разных, тебе чего конкретно надо-то?

Начинать надо с изучения->понимания архитектуры ядра, под которое ассемблер.

Немного уточню - понимания (изучения) выбранной архитектуры (без ядра).
Под архитектурой я понимаю:
- систему команд
- систему адресации
- систему построения внешней периферии

А начать изучение лучше с дедушки Кнута - "Искусство программирования", том 1 - ]]>http://ru.wikipedia.org/wiki/Искусство_программирования]]> . Все очень обстоятельно, академично и очень практично.
Во первых, все примеры приведены на ассемблере абстактной архитектуры MIX - ]]>http://ru.wikipedia.org/wiki/MIX]]> . Эмуляторов этой архитектуры полно в интернете.
Во вторых, это классика жанра и читать любой из трех томов можно с любого места.
В третьих, попытаться решить задачки, особенно с индексом 45 - очень забавно и поучительно.
В четвертых, получить работу у самого Билла Гейтса, если осилишь все 3 тома.
В пятых, получить Нобелевскую премию за решенную задачку с индексом 45 (а может быть и не одну).
Ну и в шестых, трех-томник действительно читается очень легко на одном дыхании.

Сообщение отредактировано leah - 16.04.2009 - 20:10
Перейти в начало страницы
 
+Цитировать сообщение
Graker
сообщение 16.04.2009 - 22:02

Частый гость
***

Группа: Участник
Сообщений: 182
Регистрация: 5.01.2006
Пользователь №: 11345


Цитата(leah @ 16.04.2009 - 20:48) *
Немного уточню - понимания (изучения) выбранной архитектуры (без ядра).
Под архитектурой я понимаю:
- систему команд
- систему адресации
- систему построения внешней периферии


Я под архитектурой ядра понимаю то же самое, только не в теории, а в конкретике, для быстрого перехода к практическому применению, в процессе которого придет более глубокое понимание.

Все зависит от целей и задач: получить общие знания и забыть, или наоборот - побыстрее перейти к практике. Автор же нам не говорит, чего он хочет smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
swansong
сообщение 28.04.2009 - 17:06

Частый гость
***

Группа: Участник
Сообщений: 245
Регистрация: 18.06.2005
Пользователь №: 8526


Имелся ввиду асс для процессоров интел. Пока Зубкова изучать начал, он вроде по этой архитектуре пишет

Цитата(Akina @ 16.04.2009 - 15:57) *
C похода в магазин и покупки книги в бумаге с последующим её чтением.

Острая шутка, только разделом ошиблась/ся

Сообщение отредактировано swansong - 28.04.2009 - 17:07
Перейти в начало страницы
 
+Цитировать сообщение
Akina
сообщение 28.04.2009 - 17:19
Частый гость
***

Группа: Участник
Сообщений: 204
Регистрация: 30.05.2005
Пользователь №: 8240


Это не шутка. Книга в бумаге учит быстрее, качественнее и глубже, чем та же книга в виде файла. Уж поверь моему преподавательскому опыту.
Перейти в начало страницы
 
+Цитировать сообщение
gormih
сообщение 28.04.2009 - 21:30

* Не Злой *
*****
орден I степениорден II степени
Группа: Участник
Сообщений: 912
Регистрация: 6.12.2005
Пользователь №: 10925


Цитата(Akina @ 28.04.2009 - 18:19) *
Это не шутка. Книга в бумаге учит быстрее, качественнее и глубже, чем та же книга в виде файла. Уж поверь моему преподавательскому опыту.

Как мне показывает личный опыт и опыт работы со студентами - дипломниками ничто не учит ассемблеру так быстро и эффективно, как практическое программирование. Ассемблер - язык весьма сложный на начальном этапе освоения. Лишь спустя примерно год практического программирования на разных процессорных ядрах понимаешь всю его прелесть и преимущества, а также приобретаешь навыки эффективного использования.
Быстрый старт на ассемблере имхо не возможен ввиду требований к особому типу мышления программиста. Этот тип мышления прививается самим же языком в процессе программирования на нем же :-)
Самое главное - полностью освоить систему команд конкертного ядра, почитать хорошие исходники граммотного программиста не гнушашегося на коменты и нормальные определения констант, меток в программе. Это путь к наиболее быстрому освоению имхо.

Сообщение отредактировано gormih - 28.04.2009 - 21:32
Перейти в начало страницы
 
+Цитировать сообщение
leah
сообщение 28.04.2009 - 21:56

Постоялец форума
*****

Группа: Модератор
Сообщений: 967
Регистрация: 17.08.2004
Пользователь №: 4400


Добавлю пару капель. Мало изучить ассемблер под конкретную архитектуру. Нужно еще и изучить API той операционной системы, под которую писать будешь, ведь никому не интересно перебросить пару байт, хочется их и на экран вывести и по сети послать.

И еще одна капелька - интел выпускает и StrongARM (XScale) и Itanium...

Я бы сначала сформулировал цель изучения ассемблера, а потом бы подобрал себе архитектуру... Проще всего изучать ассемблер какой нибудь 16-и разрядной однокристалки с системой CISC-команд (вплоть до Intel 80236), а уж потом попробовать разобраться с RISC-архитектурой...
Перейти в начало страницы
 
+Цитировать сообщение
swansong
сообщение 29.04.2009 - 12:15

Частый гость
***

Группа: Участник
Сообщений: 245
Регистрация: 18.06.2005
Пользователь №: 8526


Цитата(leah @ 28.04.2009 - 22:56) *
Добавлю пару капель. Мало изучить ассемблер под конкретную архитектуру. Нужно еще и изучить API той операционной системы, под которую писать будешь, ведь никому не интересно перебросить пару байт, хочется их и на экран вывести и по сети послать.

И еще одна капелька - интел выпускает и StrongARM (XScale) и Itanium...

Я бы сначала сформулировал цель изучения ассемблера, а потом бы подобрал себе архитектуру... Проще всего изучать ассемблер какой нибудь 16-и разрядной однокристалки с системой CISC-команд (вплоть до Intel 80236), а уж потом попробовать разобраться с RISC-архитектурой...

ЦЕль -написание приложений для работы с rs-232 и USB. Вот в этом направлении и сформировна цель

Сообщение отредактировано swansong - 29.04.2009 - 12:16
Перейти в начало страницы
 
+Цитировать сообщение
leah
сообщение 29.04.2009 - 18:42

Постоялец форума
*****

Группа: Модератор
Сообщений: 967
Регистрация: 17.08.2004
Пользователь №: 4400


Цитата(swansong @ 29.04.2009 - 13:15) *
ЦЕль -написание приложений для работы с rs-232 и USB. Вот в этом направлении и сформировна цель


Я бы это на ассемблере ни за что писать не стал. Даже драйвер для порта USB или RS-232, не то что приложение!
1) Приложение, в отличии от драйвера, обычно имеет достаточно развесистую архитектуру. Соответственно будет "борьба" с системными вызовами по каждому чиху твоего приложения, особенно под виндовс или linux.
2) Что касается программирования контроллера (порта) USB, от поддержки железа (драйвер) и до реализации приложения - то здесь могу только посочувствовать и надеюсь, что не будеите реализовывать на АССЕМБЛЕРЕ весь стек протоколов USB, а не только Endpoint 0. И еще больше надеюсь, что не нужно реализовывать USB device
3) ну, просто переслать несколько байт в режиме пулинга по порту RS-232 на ассемблере просто, а вот поддержать правильную раюботу прерываний совместно с операционной системой и нормально прописать сам драйвер в системе - это достаточно сложно для начинающего...

Я бы все же начал с простого - загрузил бы DOS, взял бы TurboAccembler и попробовал поработать с параллельным портом и осцилографом (или светодиодной линейкой) - там всего 3 регистра и сразу видно результат.

PS. А дедушку Кнута настоятельно рекомендую, особенно прочтение первой главы и описание архитектуры и ассемблера MIX - это самое простое что мне когда либо попадалось.
Перейти в начало страницы
 
+Цитировать сообщение
gormih
сообщение 29.04.2009 - 23:04

* Не Злой *
*****
орден I степениорден II степени
Группа: Участник
Сообщений: 912
Регистрация: 6.12.2005
Пользователь №: 10925


Цитата(swansong @ 29.04.2009 - 13:15) *
ЦЕль -написание приложений для работы с rs-232 и USB. Вот в этом направлении и сформировна цель

С такой целью можно сразу закопать идею изучать что либо. Так как цель весьма туманна и не сформулирована конкретно.
Ваша задача похожа на "научится разом водить все виды транспорта на планете" :-)
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 1.07.2025 - 08:52