Тёмный

// Язык Ассемблера #1 [FASM, Linux, x86-64] // 

CryptoFun [ IT ]
Подписаться 27 тыс.
Просмотров 100 тыс.
50% 1

Библиотека (со всеми процедурами, которые будут разобраны в последующих видео): github.com/Number571/ASMLIB
Материал по ассемблеру FASM:
flatassembler.narod.ru/fasm.htm
www.cyberforum.ru/fasm/thread1...
Примеры программ с ассемблером NASM (во многом схож с диалектом FASM):
asmtutor.com/
Книга по языкам ассемблера:
Assembler для DOS, Windows и UNIX (Автор: Зубков С.В.)

Наука

Опубликовано:

 

10 авг 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 152   
@midaef6630
@midaef6630 4 года назад
Только начал изучать асм и тут ролик от тебя. Жду продолжение
@caysonjaxson1575
@caysonjaxson1575 3 года назад
I know I am kinda off topic but does anybody know a good place to watch newly released movies online ?
@dukereginald328
@dukereginald328 3 года назад
@Cayson Jaxson lately I have been using flixzone. Just search on google for it =)
@user-hd6lu1de5k
@user-hd6lu1de5k 4 года назад
Так-так-так, не намёк ли обои в видео, что окончанием курса будет урок по взлому CERN'а и его продолжением будут уроки машинного кода, концом которых будет взлом IBM-5100?
@kirillthunder1604
@kirillthunder1604 3 года назад
Огромное спасибо за данный видео-урок давно был заинтересован в языке ассемблер, но ничего не понимал, после этого видео появилась понимание, хоть и чуть-чуть, но уже понимаю. Ещё раз спасибо!!!
@user-fn4yi7xj9y
@user-fn4yi7xj9y 4 года назад
Спасибо большое Автору за отличную работу !!!
@serge2773
@serge2773 4 года назад
фасм, насм, пасм, в данный момент мы ...звук выстрела...
@kephec6233
@kephec6233 2 года назад
Мне нравится такой стиль обучения. Я так PHP, С/С++ и другие языки выучил давно-давным в далеком детстве. Учил языки на готовых коммерческих проектах (правда первые проекты делал для знакомых, сроков как таковых не было). Надо было сделать сайт. Купил книгу и по книге уже делал готовый сайт. Точно так же и C++. Проект для знакомых, тоже накупил, накачал литературы и делал. Теперь уже давно работаю программером. ASM интересует лишь в образовательных целях и возможно реально когда то буду использовать на практике для написаний процедур для С/С++
@Hlupa722
@Hlupa722 3 года назад
Ту-Туру, КриптоФан! Благодарю тебя за твои труды. У меня к тебе вопрос, ты сам учил ассемблер или ходил на какие-то курсы?
@igorkudryk2199
@igorkudryk2199 4 года назад
Как раз в след. семестре ассемблер, на каникулах прослушаю ваши видео! Звучит очень полезно :)
@nickdsl
@nickdsl 4 года назад
Рекомендую почитать Столярова А.В. Введение в профессию. Азы программирования. После первого тома начинаешь читать второй про ассемблер и там в разы доходчивее.
@petyaderyabin4136
@petyaderyabin4136 3 года назад
пользуюсь линуксом, нету драйвера на мышку что бы управлять подсветкой. Думаю такой надо накодить драйвер, узнав и инторнете что можно на ассемблире. открыл этот видос! понял что мне подсветка ненужна!
@-dmitry-5384
@-dmitry-5384 4 года назад
Спасибо! Было интересно, четко и внятно!
@dkoder8055
@dkoder8055 4 года назад
Действительно прекрасный человек.
@user-bi4ve1id8y
@user-bi4ve1id8y 3 года назад
Спасибо! Очень хорошее видео. Разобрался, всё получилось.
@bulba1995
@bulba1995 2 года назад
Спасибо за труд и знания .Удачи вам а я продолжаю )
@panmelnyk
@panmelnyk 4 года назад
Я человек простой: вижу шайтан-калитку - ставлю лайк и подписос
@huychi7710
@huychi7710 4 года назад
большое спасибо.все понятно и разборчиво!
@MrValNick
@MrValNick 7 месяцев назад
Давным-давно я распечатывал дамп памяти , брал в руки техническую документацию по шестнадцатеричным кодам дампа и восстанавливал исполняемый код программы на ассемблере.. Потом написал на ассемблере дис-ассемблер. Увлекательное время было , когда ты мог взять под контроль большой комп универа или вносить ошибки в исполняемый код программы кореша для шутки или недруга в момент его исполнения.
@it_stylecorp.7694
@it_stylecorp.7694 2 года назад
Нихрена не понятно, но ооочень интересно, уже 5й раз буду пересматривать, что бы осмыслить все что здесь сказано и показано🤣🤣 З.Ы К автору никаких претензий, это исключительно моя невнимательность и несостоятельность в этих вопросах)
@sergapon666
@sergapon666 4 года назад
Бро офигеть. Лукас!!!!
@user-md1jl3nv8z
@user-md1jl3nv8z Год назад
Мне очень нравится вот эти, два языка Ассемблер и C. И я думаю ни один язык высокого уровня, не должен обходится без низкого. А познакомился я с ними при программирование микроконтроллеров. Вопросы у меня к вам! Для взаимодействия с аппаратной частью пк нужен Ассемблер? Как раньше графический интерфейс писался на ассемблере? И посоветуйте хорошую литературу по ассемблеру в которой бы желательно, рассмотрено от взаимодействия с аппаратной частью и кончая создание графического интерфейса.
@user-tj9su2ew1i
@user-tj9su2ew1i 4 года назад
Подскажите пожалуйста какую нибудь литературу по FASM ассемблеру.
@user-cg2fw3kw9d
@user-cg2fw3kw9d 3 года назад
Здравствуйте! Скажите пожалуйста, что мне делать, когда я скомпилировал программу из данного видео и дал ему право исполняться, он выдал ошибку сегментирования. ОС Xubuntu 18.04
@Shuspano
@Shuspano 3 года назад
О, я немного пишу на асме для 8051-совместимых микроконтроллеров. Какое все непохожее! Но кое-что знакомое есть, местами понятно. Поставил Debian на виртуалку, будем попробовать.
@6trica1a3
@6trica1a3 Год назад
классный урок, очень интересно
@mark_fritz
@mark_fritz 4 года назад
Полезные уроки, благодарю за проделанный труд. Хотел бы спросить, изучал ли ты C++? Если да, то будут ли уроки по нему?
@babyblade1
@babyblade1 4 года назад
Смысл ? По c++ полным полно гайдов , тот же Гоша Дударь .
@mrmiquy6640
@mrmiquy6640 2 года назад
@@babyblade1 Но объясняет он так: "Это переменная, сюда пишем тип данных перед названием, а дальше название". Это тупо отрывок из его уроков, так он объясняет. Но есть другие каналы, которые намного лучше объясняют
@zproger
@zproger 2 года назад
Очень полезно, спасибо!
@tochkaheart
@tochkaheart Год назад
)))
@NoReply0
@NoReply0 4 года назад
echo $? в линуксе выведет код возврата приложения (в винде echo %errorlevel%) Годный контент! Жаль такого мало в интернетах
@itsokay7052
@itsokay7052 2 года назад
Топ, ясно и понятно!
@aleckseyazovsky3270
@aleckseyazovsky3270 4 года назад
благодарю за видео, что то на попугае не выдает ошибку на exit если rbx поставить не 0. просто выдает что программа не прошла. И "релизная" версия выдает Segmentation fault.
@sledleo
@sledleo 2 года назад
Почему компиляторы С/С++ не эффективно компилируют, почему нужно писать на Ассемблере? Подскажите!
@diam0nddangel336
@diam0nddangel336 2 года назад
не нужно тебе писать на ассемблере, расслабься
@YoRicK196
@YoRicK196 4 года назад
Нечего не понятно, но очень интерестно
@nickdsl
@nickdsl 4 года назад
Да, материал преподается не очень доходчиво. Рекомендую почитать Столярова А.В. Введение в профессию. Азы программирования. После первого тома начинаешь читать второй про ассемблер и там в разы доходчивее.
@umnikumnikov1338
@umnikumnikov1338 3 года назад
@@nickdsl а по масм32 какая книга хорошая?
@user-rz9nc5fj4z
@user-rz9nc5fj4z 3 месяца назад
Первая часть фразы в точку!
@vasjapupkin9752
@vasjapupkin9752 4 года назад
JMP exit ! Вы не вызываете подпрограмму, а производите системный вызов завершения программы. После call в стеке остаётся адрес, адресующий команду после call - зачем засорять стек мусором ?. Понятно что система стек очистит, но правило хорошего тона :)
@sledleo
@sledleo 2 года назад
Почему компиляторы С/С++ не эффективно компилируют, почему нужно писать на Ассемблере? Подскажите!
@vasjapupkin9752
@vasjapupkin9752 2 года назад
@@sledleo Любой язык высокого уровня перекладывает свои операторы на команды процессора. И в этом процессе возникает избыточный код. Операторов в С десятки, а команд у процессора сотни, а с учётом MMX итд может уже и тысячи. У компилятора нет искусственного интеллекта поэтому он это делает стандартными блоками которые далеко не всегда подходят для вашей задумки. Это как строить дачу из каменных блоков египетской пирамиды :) Но для коммерческого софта важна цена, время разработки и командная работа - поэтому большинство программ на С.
@nouchance
@nouchance 3 года назад
Спасибо за уроки! пожалуйства скинь мне свой Sublime Text (extension) не могу установить Ассемблер
@user-vy7hh8kz7p
@user-vy7hh8kz7p 5 месяцев назад
Здравствуйте!) почему в начале плей-листа не рассказывается о том какой редактор используется? Почему структура папок именно такая? В какой папке какой файл создать? Может я не достаточно умен для этого плейлиста, направите тогда на видео где посмотреть о том о чем здесь нету, а то в первом видео уже куча всего создано и не понятно по какой логике. Желательно так чтобы было понятно еще мне на виндовс …
@vic7871
@vic7871 2 года назад
Большое спасибо!
@thomasanderson3304
@thomasanderson3304 7 месяцев назад
Случайно обнаружил: section '.data' writable если поставить выше данных и есть код после данных, то вызывает ошибку сегментирования. Т.е. надо после данных обязательно ставить секцию типа executable
@vasiliychernyuk3244
@vasiliychernyuk3244 3 года назад
Интересный у тебя канал))
@user-nh3fn9mq1g
@user-nh3fn9mq1g 4 года назад
ВРАТА ШТЕЙНА!!!
@hedgegod8644
@hedgegod8644 2 года назад
false main.asm make: *** [Makefile:11: once] Ошибка 1 Я несколько раз перепроверил и там все как в видео. В чем проблема?
@user-gw6wt6uy4y
@user-gw6wt6uy4y 4 года назад
Кто знает как в строке поменять местами слова? Это по Ассемблеру.
@realfootball338
@realfootball338 2 года назад
Что если у меня 64 разрядный проц ? Запускать на виртуалке ?
@kated5512
@kated5512 4 года назад
спасибо за видео, все очень круто и понятно
@0day694
@0day694 4 года назад
Круто!
@user-uz2fm8pq3s
@user-uz2fm8pq3s 4 года назад
Привет, создай беседу ВК/ телеграмм , для вопросов и общения , твои уроки очень помогают , спасибо!
@CryptoFunIT
@CryptoFunIT 4 года назад
Беседу создавать лень ) По поводу вопросов, можете писать в личные сообщения, отвечу как смогу.
@user-uz2fm8pq3s
@user-uz2fm8pq3s 4 года назад
@@CryptoFunIT где взять такие же обои как у тебя?
@CryptoFunIT
@CryptoFunIT 4 года назад
@@user-uz2fm8pq3s mega.nz/#!h99BHKRI!tEZPe51Squpo1LcBlWCc9P2ne0y-ATyPt5wgCx_GxzM
@user-rz9nc5fj4z
@user-rz9nc5fj4z 3 месяца назад
​@@CryptoFunITЛентяй?
@quenbyako
@quenbyako 4 года назад
я, если честно, не очень понял **для чего** это нужно? типа, если хочется сократить код до килобайта, (с таким функционалом то) есть си и альтернативные компиляторы gcc с мощным препроцессингом. использовать ассемблер для максимальной оптимизации? ну, наверное, хз. но раз так, может хорошим примером будет показать, как си код транслируется в ассемблерный? есть визуализаторы процесса исполнения кода, это я могу понять. но какие прикладные проблемы решает чистый ассемблер я понять не могу. короче, у тебя еще есть возможность читать комменты, очень прошу: прокачивай подачу, особенно в направлении объяснять, зачем это нужно и как именно это работает. в русскоязычном ютубе есть очень дерьмовые по подаче видео на разнообразные айтишные темы, но все скатываются в говно именно из-за подачи. так что у тебя есть все шансы сделать офигенный материал.
@du7s
@du7s 6 дней назад
Красавчик
@babyblade1
@babyblade1 4 года назад
Не знаю как это обьяснить , но я ток посмотрел врата штейна . И из за всех тем в аниме связанных с древними языками кода , вспомнил про ассемблер и решил посмотреть , что он из себя вообще представляет . И тут эти обои кхаааааах)
@Vic7bd
@Vic7bd 7 месяцев назад
Интересно, но если это номер 1, то наверно надо было начать хотя бы с ознакомлением инструментов более детально, что и как настроено, а не сказать, что будем FASM использовать и как хотите и где хотите думайте как его запускать.
@user-kd3vy7vs8l
@user-kd3vy7vs8l 4 года назад
new_line equ 0xA это что то типа int new_line=0xA; ??? или я не так понимаю?
@CryptoFunIT
@CryptoFunIT 4 года назад
Псевдо-инструкция equ подобна строке из языка программирования Си: #define new_line 0xA То-есть, equ определяет имя константы и связывает его со значением, которое будет заменяться на этапе препроцессора. Тем самым, equ не занимает никакой отдельной памяти в работающей программе, а просто является подстановкой. В ассемблере FASM есть ещё две похожие операции на equ, а именно fix и '='. Псевдо-инструкция fix имеет высший приоритет подстановок, то-есть её можно без проблем использовать для переопределения инструкций препроцессора и только после неё начинаются другие подстановки: define fix equ inc fix include И последняя псевдо-инструкция - это знак '=', которая в отличие от equ вычисляет значение выражения сразу на этапе препроцессинга. Это легко можно проверить при помощи символа взятия текущего адреса в программе '$'. Если мы определим len equ $-msg как взятие длины сообщения, то всё будет в данном случае печально, так как вместо длины сообщения мы получим полную инструкцию $-msg, вместо конкретной длины и итогом будет являться ошибка. Если же мы определим len = $-msg то в len будет храниться конкретное число, которое можно уже использовать для указания длины сообщения.
@user-vt5yh6td3e
@user-vt5yh6td3e 3 года назад
Подскажите, какой формат у windows?
@alextenyakov100
@alextenyakov100 3 года назад
Может уже поздно, но отвечу на всякий случай. Формат у Windows - PE GUI, а у 64-х разрядной соответственно PE GUI64
@user-bw7ov8ip5w
@user-bw7ov8ip5w 4 года назад
Спасибо!
@user-kd3vy7vs8l
@user-kd3vy7vs8l 4 года назад
Я пишу в mov rbx, 55 в exit, компилирую линкую, но ошибка не вылазит. у меня ubuntu Попытался вывести "hello, word" программу 100 раз перепроверил, скомпилировал, слинковал. запускаю ./main вообще ничего не выводит. Помогите
@CryptoFunIT
@CryptoFunIT 4 года назад
Пропишите после выполнения программы в терминале: echo $? Отобразится код ошибки завершения программы. В моём же случае я использовал make скрипты, которые выводят на экран этот самый код.
@Eduard-ne2ff
@Eduard-ne2ff 5 месяцев назад
Thank you!
@dmitryb2723
@dmitryb2723 3 года назад
Красиво, но нулевой байт в конце строки ни к чему, т.к. на него ориентируется лишь стандартная библиотека C (в пример методы из stdio.h, string.h ...); системные же вызовы (аля write, read) безразличны к нулевому байту и ориентируются на точное указание кол-во записываемых/читаемых байтов (3-им аргументом, соответственно в регистре edx для i386)
@alexmo6538
@alexmo6538 2 года назад
Какой Линукс стоит и какие пакеты ? Какие плагины в ВСК?
@malyyigor34
@malyyigor34 Год назад
спасибо за видео, жаль канал забросил((9(
@TeaL0ver
@TeaL0ver 3 года назад
Ссылочку на обои можно?
@kiri11-mi1
@kiri11-mi1 4 года назад
Какой дистрибутив?
@nuxs
@nuxs 3 года назад
Лайк за Haskell
@user-mi9iy
@user-mi9iy 3 года назад
А почему у тебя программа для x86-64, но при этом конвенцию системных вызовов ты используешь для 32бит ? В linux x86-64 exit это не 1, а 60 и аргументы там складываются не в rbx.
@ElliottGrosvenor
@ElliottGrosvenor 8 месяцев назад
То же самое хотел спросить. Ведь в x64 системный вызов - это syscall, а не int 80
@sable8004
@sable8004 3 года назад
Чем отлаживать FASM на Linux? gdb понимает не все символы просто, это проблема.
@user-cg2fw3kw9d
@user-cg2fw3kw9d 3 года назад
Поробуйте применить edb.
@yehorhryhorenko220
@yehorhryhorenko220 3 года назад
Я может тупой но я не могу уже третий день заставить выполняться этот код на vs code в винде. Retroassembler не понимает этот синтаксис, fasm из терминала не выполняется
@oldYazychnik
@oldYazychnik Год назад
Наверное уже поздняк, но в Винде другие прерывания.
@user-fv3uy2px1b
@user-fv3uy2px1b 2 года назад
Спасибо
@dsShadega
@dsShadega Год назад
Мельком посмотрел. " " - это не прерогатива высокоуровневых языков. Это просто твой fasm не поддерживает экранирование символов и все тут. Попробуйка тогда nasm или yasm. А может даже в опциях и в fasm можно это указать. Но, насколько я знаю nasm поддерживает строковые литералы с экранированием...
@user-mo8gs3jl2e
@user-mo8gs3jl2e 4 года назад
Какой редактор используете?
@NoReply0
@NoReply0 4 года назад
лучше vim ( на первый взгляд страшно, но там можно поставить кучу плагинов, очень удобно!) и QtCreatora я не встречал(зависит от задачи)
@user-cg2fw3kw9d
@user-cg2fw3kw9d 4 года назад
Скажите пожалуйста, а как дизассемблировать программы? У мены Linux, и я ищу дизассемблер с графическим интерфейсом.
@CryptoFunIT
@CryptoFunIT 4 года назад
Дизассемблером с графическим интерфейсом я не пользуюсь, в основном просто применяю консольную программу objdump для анализа машинного или ассемблерного кода исполняемой программы.
@user-cg2fw3kw9d
@user-cg2fw3kw9d 4 года назад
Спасибо! А какой командой его ставить на Xubuntu? P.S. Оказывается стоит по умолчанию.
@erievery
@erievery 3 года назад
Почему в exit 1 это exit, а в start'e 1 - stdout? И где можно найти список этих значений?
@CryptoFunIT
@CryptoFunIT 3 года назад
; Завершение (eax=1) программы с кодом 0 (ebx=0). mov eax, 1 mov ebx, 0 ... ; Запись (eax=4) в стандартный поток вывода (eax=1). mov eax, 4 mov ebx, 1 ... Все эти системные вызовы являются 32-битными и работают они при помощи инструкции int со значением 0x80. Помимо 32-битных системных вызовов, существуют также и 64-битные, которые работают при помощи инструкции syscall. Список как 32-битных, так и 64-битных, системных вызовов под платформу Linux можете посмотреть здесь, как для ARM так и для x86 процессоров: chromium.googlesource.com/chromiumos/docs/+/master/constants/syscalls.md.
@erievery
@erievery 3 года назад
Спасибо вам.
@Franc_Net
@Franc_Net Год назад
Странно одно! Для функции print_string задается строка с '0' в конце и параметром len одновременно :) И функция прерывания 80h, принимает регистры в странном порядке. Регистр AX остался аккумулятором. DX был указателем на данные. СХ был счетчиком. Что стало не так? Адрес msg передается в регистре счетчика, а в регистре данных длина :) И это intel придумали, не я!
@nakidai
@nakidai Год назад
Это в кернеле у линухе такая штука
@MaximumPower1
@MaximumPower1 11 месяцев назад
Ничего не понял оказалась в предложениях после того как жарить шашлык, ну ладно пойду проходить три раза в неделю)
@pavelbabich4589
@pavelbabich4589 4 года назад
Хоть и кодим на высоких уров. языках но никогда и не поймем низкий уровень и тот кто его знает и шарит то БОГИ программирование)
@babyblade1
@babyblade1 4 года назад
Логично , что низкоуровневые языки сложнее . Тк высокоуровневые языки операются на них
@freeze996
@freeze996 Год назад
Для меня низкий уровень языка это вызов изучить его от и до, и знать как работает твоя коробка с платами
@Andreykin_Plushkin
@Andreykin_Plushkin 4 года назад
Найс
@zero-ix3bz
@zero-ix3bz 4 года назад
cool
@user-ne4bd3ry1n
@user-ne4bd3ry1n 3 года назад
норм!
@sergshutk2757
@sergshutk2757 4 года назад
если бы не изучал до этого ассемблер, наверно бы не понял многого.
@munisamuhammadiyeva97
@munisamuhammadiyeva97 4 года назад
Здравствуйте мне тоже помогитe, 10bc +2ac
@user-pm2ru6ir6n
@user-pm2ru6ir6n 4 года назад
Вот и все )
@lackwindertonstreams7000
@lackwindertonstreams7000 4 года назад
Какой у тебя дистрибутив ?
@morpache521
@morpache521 4 года назад
Antergos вроде
@lackwindertonstreams7000
@lackwindertonstreams7000 4 года назад
@@morpache521 Спасибо тебе, я посмотрел обзор на этот дистрибутив. Теперь думаю может себе поставить, а я думал что у тебя убунту с темой какой-то
@user-ts8lf4zy5k
@user-ts8lf4zy5k 4 месяца назад
це MATE?
@michaels5242
@michaels5242 2 года назад
Ставлю лайк только за "врата штейна"
@user-vq6nz7fd8k
@user-vq6nz7fd8k 4 года назад
На сайте Интела есть документация по их ассемблеру. Любителям курить маны и знающим англиский язык, welcome: software.intel.com/en-us/articles/intel-sdm#combined Доки к самому FASM'у тута: flatassembler.net/docs.php
@user-fo2hc3pt9e
@user-fo2hc3pt9e 2 года назад
Пойду ка питончик поучу
@andreyisupov5797
@andreyisupov5797 3 года назад
Чем меньше тем быстрее
@yukinakiu739
@yukinakiu739 4 года назад
Я один все время слышал Рбикс Рдикс Кслор?? КСТАТИ НОРМ ВЫБОР С++ И PHP?
@Dalwofbskworus
@Dalwofbskworus 4 года назад
Смотря для чего
@padla6304
@padla6304 Год назад
сначала пушим затем попим)))
@cal5857
@cal5857 3 месяца назад
либо я не врубился, либо мы занимаемся обезьяней работой. Ты в конце функции вычисления длинны строки перенёс значение из rdx в rax, а в функции вывода переносишь это же из rax в rdx...
@user-cg2fw3kw9d
@user-cg2fw3kw9d 4 года назад
А кто придума делать в х86 так мало регистров, и чем это обусловлено?
@CryptoFunIT
@CryptoFunIT 4 года назад
Если выражаться терминами книги Код (Чарльза Петцольда), то регистр есть некая защёлка, хранящая какое-либо число и с этим числом производящая действие. Для работы процессора достаточно одной защёлки, аккумулятора или другими словами регистра общего назначения. Действительно, если мы способны хранить и брать значения помещая их в регистр из оперативной памяти, то точно также мы можем производить с хранимым значением в регистре вычисления взятые из этой же оперативной памяти. Как пример, мы можем сложить числа следующим образом (представим, что у нас есть единственный регистр = A и некий язык ассемблера со своими правилами, не вдаваясь в архитектуру процессора, просто представим, что защёлка представляет 8-битное число, адресация оперативной памяти также представляется в виде 8-битного числа. Следовательно, если защёлка способна хранить только 8-битное число, то поместиться из адреса может только 8 бит. Адрес 0x00 = 8 бит, 0x01 = следующие 8 бит и тд.): mov A, [0x00] ; здесь берётся значение, хранимое по адресу 0, соответственно защёлка сохранило число add [0x01]; здесь для операции add мы говорим сложить число хранимое по адресу 0x01 с числом, хранимым в регистре A mov [0x02], A; сохраняем полученное значение в оперативную память по адресу 0x02 Учитывая то, что возможно использование push и pop операций даже в 8-битном процессоре, вполне реально создать программу любой сложности имея только один единственный регистр, другой вопрос состоит лишь в том, каких усилий это потребует. Таким образом, защёлка или регистр - это собственная память процессора, увеличивая их количество увеличивается сам объём процессора, если углубляться в теорию всего этого, то увеличивается количество транзисторов. Поэтому ограничиваются всегда конечным числом регистров, что впринципе логично, а функцию хранения значений представляют оперативной памяти. Современные процессоры, хранят 64-битное число и их количество достаточно масштабно для хорошей оптимизации компиляторов.
@user-cg2fw3kw9d
@user-cg2fw3kw9d 4 года назад
@@CryptoFunIT "Код" я читал, все это понимаю, спасибо. Жалко, что сразу не придумали RISC, где регистров выше крыши.
@playmarket8605
@playmarket8605 2 года назад
Чем больше регистров тем длиннее будет машинный код команды и код программы в целом. Когда-то это было очень важно, сейчас уже не так критично.
@mosdomveteran9323
@mosdomveteran9323 4 года назад
на 19 минуте я потерялся.
@wyacheslawbogdanyonok5147
@wyacheslawbogdanyonok5147 4 года назад
Db- define byte, а не data byte
@iprogproscript5731
@iprogproscript5731 4 года назад
Привет парни. Кто может дизасемблировать прошивку.? надо достать функцию одну и на си перевести
@khanuralgo4329
@khanuralgo4329 3 года назад
Качаешь дизассемблер для вашей архитектуры и может быть понадобится дезобфускатор
@artur-lg7wv
@artur-lg7wv 4 года назад
А я думал с++ сложный )))))
@iralin6311
@iralin6311 4 года назад
я тоже так думала... наивная ))
@xender2112
@xender2112 4 года назад
на самом деле, с++ очень сложный язык, если быть гуру-кодером, который умеет жанглировать ооп, знает и умеет пользоваться stl, лямбда функций, потоков, асинхронщины и прочего страшного мракобесия 11 стандарта, то ассемблер очень даже дружелюбный и юзерфрендли.
@ruslanvolovik2745
@ruslanvolovik2745 3 года назад
@@xender2112 я так не считаю
@nakidai
@nakidai Год назад
@@xender2112 Ага, также скажу, что ассемблер это очень сложный язык тк много архитектур, а к x86 вышло столько дополнений, что там инструкций тебе надо знать штук 700+. Так еще там нет ООП, и из абстракции разве-что метки и макросы, отчего это совсем не френдли яп
@linkor5000
@linkor5000 3 года назад
Спасибо те мужик за туториал по ассемблеру но сделай пожалуста видос как добавить фасм в этот долбаный саблайм текст не впадло
@fould9509
@fould9509 3 года назад
врата штейна кайф
@18chat48
@18chat48 4 года назад
ладно, посмотрю я эти грёбаные врата штайна
@babyblade1
@babyblade1 4 года назад
Орррррр
@user-rp4hz7ng5n
@user-rp4hz7ng5n Год назад
Вам привет из Украины. Я уже підтоптаный. То есть старый. А старого собаку новым трюкам не обучишь. Я ассемблер уже не освою. Вы могли бы дизассемблировать файл для процессора 8086??
@SamsungJ-gk8jw
@SamsungJ-gk8jw 3 года назад
Блин,откуда такие знания?)
@OleksandrDobrovolskyi
@OleksandrDobrovolskyi 3 года назад
Все.... Ахаааа, такого слова паразита ещё не встречал...
@henson2k
@henson2k 2 года назад
int 21h
@sdv2k11
@sdv2k11 3 года назад
"как работает ассемблер и как работает язык ассемблера" это одно и то же (с) Мюллер
@mrmiquy6640
@mrmiquy6640 2 года назад
Он же спустя 5 секунд объяснил в чём разница
@user-gy3qs1sf1j
@user-gy3qs1sf1j 2 года назад
db -- определить файл байт дефайн байт ане дата
@user-sr2lf6xn5r
@user-sr2lf6xn5r 3 года назад
Если бы ещё AT&T синтаксис был бы...
@shockacademy327
@shockacademy327 9 месяцев назад
я конечно извиняюсь, но кому нужен elf64? я думаю, все на винде сидят, а не на маках.
@Vic7bd
@Vic7bd 7 месяцев назад
Я думаю он на чём привык и сидит и показал примеры, но в реалях нынешних Linux всё более и более захватывает разные отрасли, потому думаю пример тоже хороший, а кому надо под Windows - так про него тоже не мало примеров и перестроятся.
Далее
Философия хлама #diy
01:00
Просмотров 486 тыс.
This yearly values make your PC BRICKED
10:51
Просмотров 173 тыс.
Дени против умной колонки😁
0:40
ВЫ ЧЕ СДЕЛАЛИ С iOS 18?!
22:40
Просмотров 71 тыс.