Посоветуйте хорошие видеоуроки по Ассемблеру

Тема в разделе "ASM, С/С++, Delphi, Java", создана пользователем amber7, 30 окт 2017.

  1. amber7

    amber7 Создатель

    Регистр.:
    15 сен 2017
    Сообщения:
    32
    Симпатии:
    46
    Посоветуйте толковые видеоуроки ASSEMBLER, а то я их практически нигде не могу найти
     
  2. dimonnot

    dimonnot Писатель

    Регистр.:
    12 мар 2018
    Сообщения:
    4
    Симпатии:
    0
    Мы учились по лекциям Баулы:
     
  3. gothmog

    gothmog Постоялец

    Регистр.:
    18 июн 2011
    Сообщения:
    68
    Симпатии:
    27
    Не сочтите за археологию, мб кому-то пригодится.
    Гуглите по ключевым словам exevideo assembler , там видеоуроки по асму под винду (сначала основы, потом работа с винапи и т.д.). Автор немного странный, но уроки очень подробные, там даже примат разберется, что и как (есть даже флеш-демки поигратся с регистрами и стеком).
     
  4. strannik_nuendo

    strannik_nuendo Создатель

    Регистр.:
    21 мар 2016
    Сообщения:
    32
    Симпатии:
    5
    Извините за нескромный вопрос, но, ЗАЧЕМ?
    Кто сейчас пишет на ассемблере?
    Я сам его очень люблю. Так получилось, что ассемблер стал первым ЯП, который изучил.
    Мои первые программы на Delphi в основном состояли из
    begin
    asm
    ...
    end
    end;
    Но сейчас что писать на асме если не микроконтроллерщик?
     
  5. VladimirPutin

    VladimirPutin Создатель

    Регистр.:
    20 мар 2017
    Сообщения:
    18
    Симпатии:
    2
    Вот тут хорошая подборка видео по ассемблеру с нуля:
    Тут еще различные уроки:
     
  6. gothmog

    gothmog Постоялец

    Регистр.:
    18 июн 2011
    Сообщения:
    68
    Симпатии:
    27
    Я пишу. Да и можно не писать, но знать , для некоторых тем, обязательно. Как вы напишите перехват WinApi без знания опкодов и вызова функций? Как оптимизировать сложные вычисления, не зная, как обрабатываются большие цифры на уровне регистров? Про малварь и антивирусы я вообще молчу.
    Впрочем, каждому свое.
     
    strannik_nuendo нравится это.
  7. strannik_nuendo

    strannik_nuendo Создатель

    Регистр.:
    21 мар 2016
    Сообщения:
    32
    Симпатии:
    5
    Хм. А так ли необходим для этого ассемблер?
    Давно этим занимался, плохо помню перехваты, но через SetWindowsHookEx на любом языке можно сделать.
    Редактирование таблицы импорта функций - на многих языках ВУ можно сделать.
    Если перехват через подмену пролога функций, то тоже на большинстве языков ВУ можно сделать.
    Есть у меня подозрение, что современные оптимизирующие компиляторы сделают это лучше чем человек. Особенно в случае объемного кода.

    А вообще, респект и уважуха. Кто знает ассемблер, тот имеет настоящее компьютерное мышление. Пусть в современных ЯВУ даже обычный Int уже обьект, понимание как все работает на уровне регистров и флагов дает совершенно иной уровень программирования.
    А вот на чистом ассемблере я перестал писать уже очень давно. Пусть программа будет и в сто раз меньше, но ее написание займет в сто раз большее время. И никто этого не оценит в звонком рубле.
     
  8. gothmog

    gothmog Постоялец

    Регистр.:
    18 июн 2011
    Сообщения:
    68
    Симпатии:
    27
    Править таблицу импорта можно хоть на бейсике, но пролог функций - нужно знать опкоды ;) Нужно понимать, что такое вообще пролог и т.д., а это как раз идет от знания Асма.

    Вы правы, понятно,что никто не Асме не будет писать , как "пишет" компилятор, потому что нужно очень много чего помнить и очень легко ошибиться, не сохранив где надо регистр или немножко напутав к-тво push/pop. Человек чисто физически не может так писать, разве что под веществами или гении. Да и смысла нет. Но, есть разные ситуации, к примеру


    Да, приучает экономить все и вся, оптимизировать код, не разбрасываться памятью. Хотя, оно мало кому надо, в век сишарпа и питона..
    Хотя вот лично мне - просто нравится, чисто как хобби, накодить что-то небольшое, для себя, для винды, на Ассемблере.
     
    strannik_nuendo нравится это.
  9. strannik_nuendo

    strannik_nuendo Создатель

    Регистр.:
    21 мар 2016
    Сообщения:
    32
    Симпатии:
    5
    Ну, чисто теоретически, можно править пролог не зная что делают команды ассемблера. Достаточно в дизассемблере скопировать несколько команд, не вникая в их смысл, и получить правильную длину. А потом вписать джамп по шаблону. Или даже воспользоваться дизассемблером длин и оперировать везде циферками не глядя на код. На практике, конечно, без знания ассемблера в такого рода задачах делать нечего :)

    Ага. Добавить к этому 32 регистра МИПСа, несколько сотен физических регистров х86 (пусть архитектурных и меньше.). Я в последнее время даже растактовки команд для современных процессоров не встречал. То ли это секретной информацией стало, то ли современные процы слишком сложны для такого примитивного подхода.

    Ага. Для меня программирование на ассемблере это не просто знание всех команд, но и активное использование триков и трюков архитектуры. Что позволяло, к примеру, в некоторых задачах выполнять код на Z80 @ 3.5MHz быстрее чем на MOS6502 @ 1.024MHz. Теневой набор регистров сильная штука! :)

    Мне кажется, это и самое главное. В коммерческом поточном программировании места для асма не осталось. Увы.
     
    Последнее редактирование: 27 авг 2018
    gothmog нравится это.
  10. strannik_nuendo

    strannik_nuendo Создатель

    Регистр.:
    21 мар 2016
    Сообщения:
    32
    Симпатии:
    5
    Ещё одно применение ассемблера - демосцена:

    8 килобайт. Это не опечатка. Действительно 8 Килобайт на всё про всё: программный код, графику, звук.
    На современном ЯВУ только код занял бы несколько сот мегабайт.
    а это 64 кб:
     
    Последнее редактирование: 28 авг 2018
    yaski нравится это.