Основы Ассемблера, часть #04. Подключение ассемблерного файла в проект

Самые лучшие бесплатные курсы по C++, Ассемблеру и Unreal Engine 5!
Подключение ассемблерного файла в проект (Основы Ассемблера, часть #04)
00:00 - Подключение ассемблерного файла в проект
01:21 - Разрешаем в проекте компиляцию Ассемблера
04:50 - Добавим новый ассемблерный файл
06:30 - Вызываем ассемблерную функцию Make_Sum
10:06 - Добавим ассемблерный код в Make_Sum
11:55 - Передача параметров в функцию
14:47 - Сохраним ассемблерный исходник в формате Unicode
18:40 - Отладка ассемблерного исходника
21:51 - Как создавать "срез" проекта
26:54 - Как сравнить "срез" с вашим проектом
31:25 - Asm_04.zip: пишем код
Asm_04.zip - drive.google.com/file/d/1h6SL...

Пікірлер: 47

  • @stanislav8313
    @stanislav83133 ай бұрын

    Не перестаю удивляться Вашему умению преподать...

  • @ilyuhagg8546
    @ilyuhagg85464 ай бұрын

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

  • @vladimirastrelin1719
    @vladimirastrelin1719 Жыл бұрын

    Спасибо за прекрасный урок. Всё очень грамотно и толково объяснено.

  • @user-cl4mg2ef8w
    @user-cl4mg2ef8w8 ай бұрын

    Александр, вы очень точно сказали в первом уроке что учить что то без понимания того зачем это тебе может пригодится это очень большая трата времени. Я книгу Зубкова начал читать, так там первые 20 - 30 страниц было описание комманд, так вот читать их все было так скучно. А тут изучил применил на практике, спасибо вам за курс.

  • @volodymyrgutsu7011
    @volodymyrgutsu70112 жыл бұрын

    С вечера думал, какой комментарий оставить) добавить нечего, кроме как когда уже следующая часть)

  • @AlexanderSemenko

    @AlexanderSemenko

    2 жыл бұрын

    Совсем скоро!

  • @bulba1995
    @bulba19952 жыл бұрын

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

  • @andrewdanchenko5871
    @andrewdanchenko58718 ай бұрын

    Все четко!!! Прям очень четко! Супер. То что я давно искал!

  • @johnchavez2245
    @johnchavez22452 жыл бұрын

    А я дисциплинированно по плюсам курс буду дальше грызть). Всё лето гараж строил. А сейчас напарник на работе заболел. Один за двоих работаю. Так что у меня ещё надолго этот марафон. Тем более Александр приучил к перфекционизму. Хотелось бы весь курс быть в состоянии не подглядывая воспроизводить.

  • @volodymyrgutsu7011

    @volodymyrgutsu7011

    2 жыл бұрын

    Согласен

  • @AlexanderSemenko

    @AlexanderSemenko

    2 жыл бұрын

    @@volodymyrgutsu7011 Я не возражаю! Если что - сложные места можно проходить ускоренно, главное - делать руками всю архитектуру и рефакторинг самому.

  • @volodymyrgutsu7011

    @volodymyrgutsu7011

    2 жыл бұрын

    @@AlexanderSemenko С вашими уроками, я еще больше стал понимать, и вникать. Мне очень нужен наставник. Вы очень хорошо объясняете. Пропустить что б вернуться и закрепить

  • @zoni196
    @zoni196 Жыл бұрын

    спасибо. очень профессионально.

  • @sdfsfsdsfsdfsdf7595
    @sdfsfsdsfsdfsdf7595 Жыл бұрын

    спасибо за урок.

  • @Buarpa
    @Buarpa9 ай бұрын

    Начал изучение ассемблера с туториала другого канала, там где было всё сразу про masm 16 включая установку ms-dos'a на virtual box, & компилятор ассемблера к нему... чайник засвистел, отходил полтора дня, понял почти ничего, сейчас вся инфа расправляется, и гладко ложится... огромное спасибо, предельно простое & доступное изложение с возможностью повторить без ошибок

  • @AlexanderSemenko

    @AlexanderSemenko

    9 ай бұрын

    Рекомендуйте этот канал своим друзьям!

  • @Buarpa

    @Buarpa

    9 ай бұрын

    вынужден отказать, скорей я на этом канале с кем-то познакомлюсь по интересам, чем заинтересую темами канала кого-то из моего круга общения, увы :( интересуюсь UE4(так как 5-ый ноут тянет с лагами), и являюсь главным героем очередной истории "как я не стал программистом", надеюсь у неё будет поворотный момент.

  • @user-ih9xw5kr2e

    @user-ih9xw5kr2e

    8 ай бұрын

    канал Alek OS?)

  • @Buarpa

    @Buarpa

    8 ай бұрын

    @@user-ih9xw5kr2e та да, тема редкая, скрывать нечего : /

  • @Cub_A
    @Cub_A6 ай бұрын

    С UTF8 с подписью оказия вышла, но оперативно :)

  • @ncrean66
    @ncrean669 ай бұрын

    extern "C", это про отсутствие декорирования имени, а не про соглашение вызова).

  • @user-bi4ve1id8y
    @user-bi4ve1id8y Жыл бұрын

    Спасибо! Если мы используем регистры в ассемблерной вставке, то мы должны знать, как их будет использовать СИ программа, или компилятор сам всё как-то разрешит?

  • @AlexanderSemenko

    @AlexanderSemenko

    Жыл бұрын

    Конечно должны! Нам следует ОЧЕНЬ аккуратно обращаться с регистрами, т.к. программа на С++ рассчитывает на них тоже )) Самый лучший способ безопасно обращаться с регистрами - сохранять их в стек в начале вашей ассемблерной функции и восстанавливать в конце.

  • @Tobi-vq4ni
    @Tobi-vq4niАй бұрын

    Александр, подскажите, пожалуйста. У меня , как и у вас в видеоуроке , стоит visual studio 2019. На 4 минуте в видео вы открываете Build Customization. Но у меня его нет. Есть ли какое-то решение чтобы он появился?

  • @AlexanderSemenko

    @AlexanderSemenko

    Ай бұрын

    Нужно, чтобы в Solution Explorer был выбрал проект, а не отдельный файл, тогда этот пункт появится в меню. Я где-то об этом говорю...

  • @Tobi-vq4ni

    @Tobi-vq4ni

    Ай бұрын

    @@AlexanderSemenko Спасибо!!!

  • @user-do3tv
    @user-do3tv8 ай бұрын

    Здравствуйте, объясните пожалуйста если вас не затруднит: почему именно 4 параметра из функции сишной помещается в регистры, а остальные в оперативную память? Ведь есть еще регистры с R10 по R15, не все но в несколько можно же было бы поместить параметры чтобы до 6 хотя бы? И в двух словах если не сложно то для чего эти регистры тогда используются?

  • @AlexanderSemenko

    @AlexanderSemenko

    8 ай бұрын

    Так мало регистров используется потому, что такой подход начали применять ещё десятки лет назад, когда регистров было мало. Регистры Rxx - это Регистры Общего Назначения, они используются для всего и только некоторые - в особых ситуациях особо. Смотрите мой курс, где я обо всём этом и многом другом подробно рассказываю.

  • @user-do3tv

    @user-do3tv

    8 ай бұрын

    @@AlexanderSemenko Ок понял! Конечно буду смотреть ваш курс, тут без вариантов))

  • @IgorDev21
    @IgorDev215 ай бұрын

    Александр, не смог найти в VS, что делает клавиша F7. Вы сами установили какое-то действие на эту клавишу?

  • @AlexanderSemenko

    @AlexanderSemenko

    5 ай бұрын

    Эта клавиша запускает процесс компиляции. VS поддерживает несколько схем клавиш, и та, в которой F7 - это одна из самых древних и популярных.

  • @IgorDev21

    @IgorDev21

    5 ай бұрын

    @@AlexanderSemenko, разобрался. В VS 2022 F7 назначено на - "Перейти к коду", а на "Собрать решение" стоит не F7, а Ctrl+Shift+B.

  • @AlexanderSemenko

    @AlexanderSemenko

    5 ай бұрын

    @@IgorDev21 У меня в меню Tools / Options / Environment / Keyboard - Visual C++ 6. Рекомендую. 1 клавиша - это меньше, чем 3 ))

  • @doctor_livsi_pod_phonk
    @doctor_livsi_pod_phonk11 ай бұрын

    А почему вы изначально когда говорили что не могу запихнуть в eax rcx не запихнули rcx в rax) ну я предполагаю что эти операции были бы сложнее, но почему тогда более маленькие части не взять сразу же оттуда и оттуда? Например использовать ax и cx?

  • @AlexanderSemenko

    @AlexanderSemenko

    11 ай бұрын

    Какой тайм-код?

  • @doctor_livsi_pod_phonk

    @doctor_livsi_pod_phonk

    11 ай бұрын

    ​@@AlexanderSemenko13.50 около того

  • @AlexanderSemenko

    @AlexanderSemenko

    11 ай бұрын

    @@doctor_livsi_pod_phonk Мы вполне могли бы это сделать - и с 8-байтными регистрами, и с 2-х байтными. Вы, как программист, решаете, как вам интерпретировать значения и какой использовать размер. Но я, по привычке, стараюсь использовать наименьший размер, подходящий для решения задачи. Т.к. в функцию передаются значения типа int, то я и использую 4-х байтные регистры.

  • @lisoveliy523
    @lisoveliy52311 ай бұрын

    Здравствуйте! Спасибо большое за урок, однако я не знаю как решить проблему. У меня во вкладке Регистры пишет: Нет данных.

  • @lisoveliy523

    @lisoveliy523

    11 ай бұрын

    Уже разобрался, нужно нажать ПКМ и выбрать пункт ЦП. Может кому будет полезно.

  • @mechanic107

    @mechanic107

    Ай бұрын

    Отличный совет@@lisoveliy523

  • @JohnWickMovie
    @JohnWickMovie2 жыл бұрын

    Наверное лучше выкладывать на github исходники, так удобнее было бы

  • @AlexanderSemenko

    @AlexanderSemenko

    2 жыл бұрын

    Не все умеют работать с гитхабом, это лишний здесь уровень сложности.

  • @johnrambo6996
    @johnrambo69962 жыл бұрын

    если вдруг кто-то поменяет язык в MVC 22 с уже созданным проектом, то будет ошибка при запуске, надо пересоздать проект

  • @davidshapirofitnessmotivat8994
    @davidshapirofitnessmotivat8994 Жыл бұрын

    Александр скажите у меня куда то исчез Build Customization после того как я выполнил настройки

  • @AlexanderSemenko

    @AlexanderSemenko

    Жыл бұрын

    Этот пункт меню недавно переехал выше в этом же меню, в пункт Build Dependencies

  • @davidshapirofitnessmotivat8994

    @davidshapirofitnessmotivat8994

    Жыл бұрын

    @@AlexanderSemenko благодарю, но у меня версия 2019 года, как тогда сделать?

  • @davidshapirofitnessmotivat8994

    @davidshapirofitnessmotivat8994

    Жыл бұрын

    @@AlexanderSemenko а все понял, еще раз благодарю

Келесі