NASM. Первая программа. Установка среды. Компиляция Nasm на windows. Урок 1

preview_player
Показать описание
#nasm #assembler #linker #nasmwindows


В этом уроке вы узнаете как скомпилировать nasm на windows. Как создать исполняемый файл из файла на ассемблере, как создать объектный файл. Мы изучим основные команды и структуру программы на NASM. Также мы установим среду разработки (Sublime Text 3 / VS Code) и установим NASM и линкер. Вы узнаете как правильно компилировать assembler чтобы он всегда запускался без ошибок.

NASM

GoLink

Среды разработки

Подписывайтесь на канал, ставьте лайки, задавайте вопросы в комментариях!
Рекомендации по теме
Комментарии
Автор

Клянусь, Вы не представляете, насколько помогли мне! Спасибо ОГРОМЕННОЕ :)

elizabethgrant
Автор

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

Не, реально спасибо! На ассемблере вообще не понятно как писать, как компилировать, как что, как где, а у тебя всё понятно. 😊

БогданБратан-яц
Автор

Ничего себе "строк немногими больше, чем в Python" 😄

Shama_Abd
Автор

Лучшее видео по теме, которое я смог найти. Автор, ОГРОМНОЕ СПАСИБО!!

АртемЗинченко-ус
Автор

Очень хорошие дельные объяснения с уместными комментариями и удачными демонстрациями без идиотских музыков. Респект!

mastersemenrossiyanin
Автор

Чел, в институте начинаем изучать ассемблер
Препод скинул свою идеешку, которая у меня не робит на компике
решил найти альтернативу и нашел nasm
а тут ты выпустил видос, да еще и прикольный
спасибо, продолжай в том же духе, успехов!

domochevsky
Автор

Редко пишу комментарии, но тут особый случай. Спасибо огромное за ролик, очень помогло!! 🤝

tartaletka
Автор

Спасибо за ролик, хотелось бы продолжения на NASM!

itspecial
Автор

А ты точно программист? Почему тема светлая, а?

angelfromtheunderground
Автор

Я заметил что строку global Start можно вообще удалить, а программа всё равно будет работать. Важно только чтоб имя метки в команде golink /entry:имя_метки совпадало с имя_метки: в коде перед строкой push STD_OUTPUT_HANDLE

vitaliykonovalov
Автор

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

renatsu_dev
Автор

Будет в этом насме работать это?:

section .data
msg db "hello, world", 0
section .bss
section .text
global main
main:
mov rax, 1
mov rdi, 1
mov rsi, msg
mov rdx, 12
syscall
ret

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

ЮрийТкаченко-ск
Автор

Странно, у меня почему-то пишет 2 ошибки:
mov dword [StandardHandle], EAX

push NULL
push Written
push MessageLength
push Message
push dword [StandardHandle]
У меня пишет ошибки:
hello.asm:25: error: symbol `StandardHandle' not defined
hello.asm:31: error: symbol `StandardHandle' not defined

vitaliykonovalov
Автор

Warning!
Specified entry point (Start) was not found.

paula.
Автор

Привет, такой вопрос, а как сделать чтобы запустить именно существующий код асамблер? У меня имеется код, который должен рисовать квадрат из нолей, но одна проблема, я не знаю как это сделать через nasm, и вообще обязательно ли через него это делать я не знаю, вот, у меня windows 10 64 бит

ВладНазаров-жя
Автор

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

ИржанДизель
Автор

проблема.Все оки кроме гоулинка, вообще вставать не хочет, я его прописываю в path но толку 0, не является внутренеей или внешней командой
в чем проблема???

АртемКарлаш-бх
Автор

закинул пути к nasm и golink в path, все правильно через точку с запятой. Терминал не видит ни nasm ни golink ни другой. не нашёл ответа как исправить. Что делать???

CyclicDarkMushy
Автор

Я не знаю разницы между масм32 и насм. Я могу запустить код из примера (17:05) на масм32? Просто исскал гайды по масму, недосмотрел и начал по вашему уроку изучать насм 😅.

SSSrunntik
Автор

Не получалось превратить объектный файл в экзешник, перелазил весь интернет... в итоге оказалось что забыл сохранить файл в саблайме)

adilfromearth