Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.05.18;
Скачать: CL | DM;

Вниз

Проблема с изучением ассемблера...   Найти похожие ветки 

 
awt   (2013-11-11 21:42) [0]

Здравствуйте!Немного знаком с ЯВУ,но хочу изучить ассемблер.Изучаю по книге Рудаков,Финогенов <<Язык ассемблера:уроки программирования>>.Пролистывал другие книги и не особо понравились.
В этой книге застрял на 8 лекции.Проблема в том,что автор вначале книги,приводил весь код,а теперь неполный.Закреплять материал надо практикой.А как закреплять материал,если я даже скомпилировать не могу т.к. придется дописывать код.
Как дальше учить ассемблер,учитывая то,что в анлгийском слабоват?Вначале изучить английский,а после читать справочники и обращаться к англоязычным источникам?
А хороший преподаватель по ассемблеру,у нас врятли найдется.Так что самому...


 
Rouse_ ©   (2013-11-11 21:52) [1]

Берешь Марека: http://rouse.drkb.ru/books.php#marek
Или Солдатова.
В руки FlatAssembler: http://rouse.drkb.ru/other.php#fasm
и потихонечку, помаленечку начинаешь разбираться.

А вообще какого плана ассемблер нужен? Ну в смысле где применять его собираешся или так - для расширения кругозора?


 
awt   (2013-11-11 22:44) [2]

Пока не определился т.к. меня интересует несколько направлений.Возможно системное программирование.
Хорошо а как заниматься по книге Марека?И здесь автор часто приводит отрывки кода.К примеру братья Дейтел написали отличную книгу "Как программировать на С++"(лучше этой книги я еще не видел и врятли увижу).Очень много объясняют как базовых,так и профессиональных ньюансов + код приводится полный.В итоге,читатель последовательно и без дополнительных преград изучает C++.Остальные книги пишутся иначе."Малость" проблематично.Данную книгу,я бы причислил к классике,вместо книги Страуструпа.Теперь о книге Марека.Отрывок кода я не смогу скомпилировать,а значит не получится поэксперементировать и т.д.То есть мне надо запоминать такие отрывки и где то к концу уже начать писать программки?Я к тому,что надолго откладывается практика.А это сильное затрудняет обучение.Извиняюсь за такой вопрос.Но для меня это проблема.


 
Павиа   (2013-11-11 22:46) [3]

Ассемблер прост как 3 копейки. Только хороших книг нету. Собственно как и в других областях.
Без английского никуда.


> если я даже скомпилировать не могу т.к. придется дописывать
> код.

Практика это когда сам код пишешь, а не чужой компилируешь.


 
Павиа   (2013-11-11 22:50) [4]


> Возможно системное программирование.

Системное программирование это ООП, а не ассемблер. Читаем определения системы.


> вместо книги Страуструпа.
Вот единственное с чем я с вами согласен. Страуструпа в топку.


 
Rouse_ ©   (2013-11-11 22:56) [5]


> .Возможно системное программирование.

Ассемблер и системное программирование, это как самолет и тот кто его пилотирует. Вполне вероятно ты сможешь на ассемблере реализовать самолет, но вот чтобы летать на нем...


> Хорошо а как заниматься по книге Марека?

Потихонечку, тщательно вникая в суть...


> Отрывок кода я не смогу скомпилировать,а значит не получится
> поэксперементировать и т.д.

Если начать с самого начала, то почему не сможешь?


 
Jeer ©   (2013-11-11 23:05) [6]

"Hello world" вроде у всех получался и не важно на каком языке:)


 
Inovet ©   (2013-11-11 23:05) [7]

> [5] Rouse_ ©   (11.11.13 22:56)
> Если начать с самого начала, то почему не сможешь?

Там есть Хелло Ворд? Нужна такая вот зацепка, чтобы увидеть результат - бодрит. Потом на базе Хелло Ворда можно 2*3 сделать.


 
Inovet ©   (2013-11-11 23:06) [8]

> [6] Jeer ©   (11.11.13 23:05)
> "Hello world" вроде у всех получался и не важно на каком языке:)

Я тоже про Ворлд.


 
Eraser ©   (2013-11-11 23:23) [9]


> awt   (11.11.13 21:42) 

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


 
awt   (2013-11-11 23:23) [10]


> Системное программирование это ООП

видимо Вы о языке Си.Возможно из статьи(точно не вспомню),автор говорил про,то как многие программисты,пытались применить ООП в системном программировании.И безуспешно...

> Страуструпа в топку.

Я бы большинство книг отправил в топку.

> Потихонечку, тщательно вникая в суть...
> Если начать с самого начала, то почему не сможешь?

Попробую.Может получится.

> Там есть Хелло Ворд? Нужна такая вот зацепка, чтобы увидеть
> результат - бодрит. Потом на базе Хелло Ворда можно 2*3
> сделать.

Вы меня поняли.Об этом я и говорил.К примеру в С++ перепишу с книги пример и смогу проверить,что и как.А для этого придется написать
system("PAUSE"); Без этой строки я не успею разглядеть результат(окно быстро закроется)суммы двух переменных а значит не будет никаких экспериментов.А когда обучение доходит до ООП или еще чего,то изменяя код материал изучается быстрее и легче.В Delphi в этом плане проще.Нажал F9 и проверил результат...


 
awt   (2013-11-11 23:25) [11]

Всем спасибо за ответы!Видимо придется инглиш подгонять...))


 
все арамисы, а я Дартаньян   (2013-11-11 23:27) [12]

Не знаю как щас, десять лет назад неимоверно рулил Зубков. Ну и Рудаков&Финогенов хороши, только я изучал "Программирование на языке ассемблера IBM PC". Сван, Майко, Пустоваров — на свалку истории.


 
Inovet ©   (2013-11-11 23:31) [13]

> [10] awt   (11.11.13 23:23)
> Без этой строки я не успею разглядеть результат

Это смотря как запустить. Запускай из FAR или из cmd.exe и всё увидишь.


 
awt   (2013-11-11 23:37) [14]


> Зубков

Неплохая книга...

> Рудаков&Финогенов хороши

Согласен.

> Запускай из FAR или из cmd.exe и всё увидишь.

Спасибо.Учту


 
jumping jack   (2013-11-12 01:49) [15]

> В Delphi в этом плане проще.

тогда проще учить ассемблер, делая ассемблерные вставки и процедуры в Дельфи
а еще там есть окно процессора с ассемблерным кодом (в том числе скомпилированного паскаля) и регистрами и можно отлаживать


 
jumping jack   (2013-11-12 02:06) [16]

или есть смысл IDE себе подобрать, их есть - WinAsm, RadAsm, Fresh


 
|   (2013-11-12 03:19) [17]


> Данную книгу,я бы причислил к классике,вместо книги Страуструпа.

действительно, зачем создателя к классикам причислять? :-\


 
dmk ©   (2013-11-12 07:55) [18]

Хм. Рудаков Финогенов - с них начинал. Потом использовал учебник ассемблера Юрова. Потихоньку разобрался.


 
DevilDevil ©   (2013-11-12 10:06) [19]

На правах самого яркого представителя ассемблерщика на форуме, заявлю

Действительно определись, нафига тебе асм
Я помешан на оптимизациях, поэтому вопрос изучения ассемблера стал вопросом времени

Касательно теории и практики
Лично я считаю удобной средой для опытов над асмом - Delphi. Здесь действительно удобно писать функции на асме, мешая его с ЯВУ

Пользуюсь учебником Юрова. В основном как справочником.
Для меня - это самая толковая книга


 
Rouse_ ©   (2013-11-12 10:23) [20]


> DevilDevil ©   (12.11.13 10:06) [19]
> На правах самого яркого представителя ассемблерщика на форуме,
>  заявлю

Как ты лихо Sha в уголок задвинул :))))


 
все арамисы, а я Дартаньян   (2013-11-12 10:29) [21]


> Rouse_ ©   (12.11.13 10:23) [20]
не спорь с помешанными…


 
DevilDevil ©   (2013-11-12 10:29) [22]

> Rouse_ ©   (12.11.13 10:23) [20]

> Как ты лихо Sha в уголок задвинул :))))

Чё это ?
Тоже достойный представитель
Но исходя из того что я видел - он больше по ЯВУ угорает


 
Ega23 ©   (2013-11-12 10:48) [23]


> На правах самого яркого представителя ассемблерщика на форуме, заявлю


А ты скромен.


 
DevilDevil ©   (2013-11-12 10:49) [24]

Спасибо


 
GEN++ ©   (2013-11-12 11:24) [25]

Вот во времена машин "Электроники 60", ДВК, "УК НЦ" ассемблер
можно было считать за язык высокого уровня - поскольку не было
средств для его использования.  Поэтому программировали в восьмеричных кодах которые заучивали на память. И ничего - писали пректы по нескольку килобайт кода.
 ASM для процессоров типа современного Intel-а имеющего возможность сегментирования памяти достаточно сложен
из-за необходимости знать аппаратную архитектуру процессор. Начните с
какого либо процессора (микроконтроллера) попроще - Atmel, STM, Texas Instruments


 
Юрий Зотов ©   (2013-11-12 12:39) [26]

Что самый яркий - похоже на правду.
:o)


 
Юрий Зотов ©   (2013-11-12 12:44) [27]

> GEN++ ©   (12.11.13 11:24) [25]
>  программировали в восьмеричных кодах

??????????????

На ДВК-2М у меня были Ассемблер, Паскаль, Фортран, Форт и несколько Бейсиков.


 
brother ©   (2013-11-12 12:45) [28]

> ДВК-2М

О! что вспомнили! Тема!


 
Германн ©   (2013-11-12 14:02) [29]


>  Юрий Зотов ©   (12.11.13 12:44) [27]
>
> > GEN++ ©   (12.11.13 11:24) [25]
> >  программировали в восьмеричных кодах
>
> ??????????????
>
> На ДВК-2М у меня были

А что было на МК-непомнюномеркакой?


 
Сергей М. ©   (2013-11-12 14:21) [30]


> О! что вспомнили! Тема!


Вбрасываю в тему - великолепный по тем временам агрегат)

Вкупе  с букварем Сингер М. "Мини-ЭВМ PDP-11: Программирование на языке ассемблера и организация машины" давал оч быстрое и 100%-е понимание того как работает вся эта вычислительная кухня, влоть до последнего битика-винтика)


 
DevilDevil ©   (2013-11-12 14:37) [31]

> вся эта вычислительная кухня

прочитал иначе ))))


 
Сергей М. ©   (2013-11-12 14:55) [32]


> прочитал иначе


С ударением на "я" ?)
Ну это, скорее, можно отнести к современным т.н. "гаджетам")


 
Юрий Зотов ©   (2013-11-12 15:06) [33]

> Германн ©   (12.11.13 14:02) [29]
> А что было на МК

Ассемблер.


 
Германн ©   (2013-11-12 16:28) [34]


> Юрий Зотов ©   (12.11.13 15:06) [33]
>
> > Германн ©   (12.11.13 14:02) [29]
> > А что было на МК
>
> Ассемблер.
>  

Я что-то путаю? Откуда на калькуляторе алфавитные клавиши?


 
Сергей М. ©   (2013-11-12 16:31) [35]


> Германн ©   (12.11.13 16:28) [34]


> что-то путаю?


Может "МК" с  "БК" ?


 
antonn ©   (2013-11-12 16:41) [36]


> На правах самого яркого представителя ассемблерщика на форуме,
>  заявлю

это ты? http://www.gamedev.ru/users/?id=28089 =)


 
DevilDevil ©   (2013-11-12 17:01) [37]

> это ты?

а по нику не видно что ли ? )))


 
Германн ©   (2013-11-12 17:31) [38]


> Сергей М. ©   (12.11.13 16:31) [35]
>
>
> > Германн ©   (12.11.13 16:28) [34]
>
>
> > что-то путаю?
>
>
> Может "МК" с  "БК" ?
>

Не. МК точно. Мог спутать область применения.


 
Юрий Зотов ©   (2013-11-12 17:42) [39]

> Германн ©   (12.11.13 16:28) [34]
> Откуда на калькуляторе алфавитные клавиши?


Их там нет. А ассемблер есть. Кто сказал, что мнемокод (а ассемблер - это мнемокод и ничего более) обязан быть непременно алфавитно-цифровым? Никто не говорил.

Мнемокод должен содержать мнемонические обозначения машинных команд. А в калькуляторе эти обозначения нанесены на кнопках. Самый натуральный ассемблер, только с аппаратным компилятором (жмем клавишу с мнемокодом - в память заносится машинная команда).


 
Германн ©   (2013-11-12 17:59) [40]

Вот про мнемокод то я и забыл. Склероз. :(


 
Сергей М. ©   (2013-11-12 17:59) [41]


> Юрий Зотов ©   (12.11.13 17:42) [39]


> Мнемокод должен содержать мнемонические обозначения машинных
> команд


Согласно этому ассемблер (+отладчик+многое еще что) точно так же был встроен прямо пультовой режим ДВКшек и БКшек, несмотря на то что мнемоники в точности соответствовали 8-ричным представлениям кодов маш.инструкций


 
DVM ©   (2013-11-12 18:04) [42]


> Германн ©   (12.11.13 16:28) [34]
>
> Я что-то путаю? Откуда на калькуляторе алфавитные клавиши?
>

Были и с алфавитными. Ну не совсем уже калькулятор, скорее компьютер, таких же много было, вот последние из этих устройств: Электроника МК-85, Электроника МК-90
http://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-90


 
Jeer ©   (2013-11-12 18:50) [43]

Б3-21 - вроде как первый, программируемый.
Купил один из первых образцов за 350 руб.
Это более, чем месячная зарплата моя была.


 
брат Птибурдукова   (2013-11-12 19:20) [44]

В 1990 мне МК-61 на восемь лет подарили… 85 рэ стоил.


 
Inovet ©   (2013-11-12 19:38) [45]

> [27] Юрий Зотов ©   (12.11.13 12:44)
> ДВК

Это был первый материальный компьютер, с которым довелось позаниматься в течении 3-х недель. Из накопителей были только на перфоленте - считыватель и перфоратор. Сейчас перфоратор больше с ремонтом стен связывают.


 
Inovet ©   (2013-11-12 19:44) [46]

> [42] DVM ©   (12.11.13 18:04)
> Электроника МК-90

Так это вообще-то калькулятором назвать, как и современный планшет, за размеры только. По сути это PDP-11 или вышевспомненный ДВК.


 
Inovet ©   (2013-11-12 19:45) [47]

> [43] Jeer ©   (12.11.13 18:50)
> 350 руб.
> Это более, чем месячная зарплата моя была.

Это была хорошая зарплата.


 
Сергей М. ©   (2013-11-12 21:25) [48]

Из невыдуманных историй в тему:

Реализовывал на ДВК-3 шестиголосную полифонию - "гимн России".

Счетчики генераторов каждого из голосов были на РОН R0..R6, примитивный ЦАП соорудил на базе встроенного парал.порта.

Вся программная кухня была сделана целиком и полностью на Ассемблере - только так можно было задействовать R6, естественно с невозможностью стековых операций и при запрещенных прерываниях

Увлекательнейшее занятие было)


 
Германн ©   (2013-11-12 22:22) [49]


> DVM ©   (12.11.13 18:04) [42]
>
>
> > Германн ©   (12.11.13 16:28) [34]
> >
> > Я что-то путаю? Откуда на калькуляторе алфавитные клавиши?
>
> >
>
> Были и с алфавитными. Ну не совсем уже калькулятор, скорее
> компьютер, таких же много было

Ну речь-то действительно шла о другом. А с не совсем калькулятором я тоже поработал года три. Вот с этим http://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%943-28


 
имя   (2013-11-13 09:50) [50]

Удалено модератором


 
Jeer ©   (2013-11-13 10:16) [51]

>Вот с этим

О, да - классная штука Д3-28.
Кстати ПЗУ в моем варианте было на ферритовых колечках диаметром около 1 мм, внешнего:).
Производил Казанский завод, тот самый, что и бортовухи для Салюта выпускал.


 
GEN++ ©   (2013-11-13 12:50) [52]

Удалено модератором


 
Inovet ©   (2013-11-13 13:11) [53]

Удалено модератором


 
Mystic ©   (2013-11-13 13:28) [54]

Нужен не сколько ассемблер, сколько понимание архитектуры. В некоторых случаях важно понимать, что из кода на ЯВУ сделает компилятор. Иногда вставить пару строчек, если для команды нет аналога. Плюс умение бегло просмотреть сгенеренный код. Крайне редко отладка.

Системное программирование, есть ты только не пишешь Hardware Abstract Layer (HAL), обходится практически без ассемблера. А там где HAL, там опять же нужно понимание архитектуры.

Поэтому совет больше почитать Танненбаума.


 
GEN++ ©   (2013-11-13 14:07) [55]

> [52] GEN++ ©   (13.11.13 12:50)

>И как развлекались с путаной

А вот здесь пожалуйста поподробнее.....

==================================

Ну раз пошла такая пьянка - приоткрою немного завесу над малоизвестным:

время ДВК, Электроника 60 это примерно 80-е годы прошлого века,
а кто знает что в это время  (~1985г) в СССР, (Слава Климкович г Курган), была разработана и выпущена небольшой партией машина имеющая в составе 256К байт ОЗУ с возможностью расширения до 1М байта (это при существовавшем ограничении в 64 К байт)
а через 2 года было сделано несколько экземпляров прототипа с размещением
в клавиатуре и размером ОЗУ на борту в 256К байт. Из этого объема любая
часть могла быть назначена как видеопамять, Видеопроцессор (цветной)
забирал данные в режиме прямого доступа. Смена 2-х картинок на экране
монитора достигалась выполнением 1-й !!!!! команды тип MOV.
Под эту архитектуру ИНЭУМ (лаборатория Гены Викдорчика) должны были
создать ось аналогичную РАФ ОС (RT-11SJ)


 
awt   (2013-11-14 01:27) [56]


> Mystic

Спасибо.Поучительно.


> Поэтому совет больше почитать Танненбаума.

Помню его коллекцию книг и хорошие отзывы о них.Обязательно почитаю.


 
Германн ©   (2013-11-14 01:36) [57]


> Jeer ©   (13.11.13 10:16) [51]
>
> >Вот с этим
>
> О, да - классная штука Д3-28.
> Кстати ПЗУ в моем варианте было на ферритовых колечках диаметром
> около 1 мм, внешнего:).
> Производил Казанский завод, тот самый, что и бортовухи для
> Салюта выпускал.

Все три наших и две из братской нам лаборатории были такие же. И все без терминалов.
А по ПЗУ так в братской лаборатории нашелся Кулибин с терпением. Который смог починить таки при необходимости два из пяти БВК (именно так они у нас назывались) с помощью пинцета и неизмеримого терпения. :)
Хотя, ЕМНИМС, я уже об этом рассказывал.



Страницы: 1 2 вся ветка

Текущий архив: 2014.05.18;
Скачать: CL | DM;

Наверх




Память: 0.63 MB
Время: 0.008 c
2-1375088425
Вова
2013-07-29 13:00
2014.05.18
Помогите перевести с Java на Delphi


2-1374915886
blackmane
2013-07-27 13:04
2014.05.18
Вывод формы в активный сеанс


15-1384338945
[ВладОшин]
2013-11-13 14:35
2014.05.18
Синхронизация потоков через БД


2-1375013572
SkAndriy
2013-07-28 16:12
2014.05.18
Delphi XE как скомпилировать свой компонент под Win 64 bit?


15-1383152239
Rouse_
2013-10-30 20:57
2014.05.18
Требуется небольшая вычитка статьи.