Чем машинный код отличается от ассемблера

  Рет қаралды 41,756

S0ER

S0ER

2 жыл бұрын

#soer #itubeteam
Основной канал для общения и публикации новых видео - Телегарм - t.me/softwareengineervlog
Спонсорство - donate.s0er.ru
Сайт платным контентом - soer.pro
Зеркало для видео Дзен Видео - zen.yandex.ru/id/5f578bdf22e2...
GitHub - github.com/soerdev
Чат для программистов - / discord
Группа ВК - codeartblog

Пікірлер: 108
@user-yu1hn6wf2p
@user-yu1hn6wf2p Жыл бұрын
Под 40 лет интерес к информатике когда в школе её ненавидел.Сколько времени упущено... Автору спасибо за толковое объяснение.
@sudo-apt-upgrade-brain
@sudo-apt-upgrade-brain Жыл бұрын
Лучше поздно чем никогда! Тем более с ChatGPT изучать это все намного проще.
@user-id5pt7nj7g
@user-id5pt7nj7g 9 ай бұрын
​@@sudo-apt-upgrade-brainА как подскажи правильно вести диалог с нейронкой, дабы изучение было более лëгким?
@sudo-apt-upgrade-brain
@sudo-apt-upgrade-brain 9 ай бұрын
​@@user-id5pt7nj7g Желательно общаться на английском (намного лучше рус), и когда не понимаешь что-то, напоминай ей что ты нуб (новичок), тогда она упростит объяснение. Можешь еще попросить объяснить как ребёнку.
@LevanovSiarhei
@LevanovSiarhei 8 ай бұрын
​@@user-id5pt7nj7gна гуглите порядок изучения интересующего вас языка и следуйте плану
@tareyasmheti1526
@tareyasmheti1526 8 ай бұрын
​@@user-id5pt7nj7gможете у неё спросить. Она подскажет
@dmitriysergeevich4
@dmitriysergeevich4 6 ай бұрын
Насколько интересно, изучаю сейчас ассемблер и каждый раз узнаю что то новое
@user-rh7hi6rk3r
@user-rh7hi6rk3r 21 күн бұрын
Ну что, как успехи?:)
@AndreiAndrei-cu7jq
@AndreiAndrei-cu7jq 9 ай бұрын
Большое спасибо за понятное объяснение Соер !
@ExWheel
@ExWheel 2 жыл бұрын
Благодарю за видео, очень качественно и информативно
@UFO26
@UFO26 2 жыл бұрын
Соер, как написали первую операционную систему, когда не было ни одной операционной системы?
@semax5263
@semax5263 2 жыл бұрын
@@mimocrocodil210 корневой станок от которого произошли все остальные был дарован инопланетянами в 408 году до нэ
@orkoteg09
@orkoteg09 2 жыл бұрын
9:40 тут неоднозначная неоднозначность, т.к. при дизассемблировании формируются метки переходов je jne и т.п. из адресов и смещений в бинарнике (даже макросы можно восстановить по косвенным признакам повторения кода). поэтому при сборке все переходы будут верны, даже при изменении размера. другое дело, если сам бинарник котролирует размер или высчитывает переходы (например, прыжок на +100 байт вперед) - как вариант защиты или особенность работы.
@Mugen88888
@Mugen88888 2 жыл бұрын
Спасибо, интересная тема.
@vovanchik_ru4208
@vovanchik_ru4208 2 жыл бұрын
продолжай, очень интересно!
@user-ym8ur7fk6h
@user-ym8ur7fk6h 2 жыл бұрын
Спасибо, было интересно!
@koffeika_let2947
@koffeika_let2947 Жыл бұрын
Блин это так интересно, спасибо соер за объяснение
@sovrinfo
@sovrinfo 2 жыл бұрын
Спасибо за видео.Коммент в поддержку!
@Marselmarsemars
@Marselmarsemars 2 жыл бұрын
Спасибо. Было интересно
@igor_cojocaru
@igor_cojocaru 2 жыл бұрын
Превьюха запутала Машинный код не это assembler😆 Спасибо за видос.
@user-to7we3ox4h
@user-to7we3ox4h 2 жыл бұрын
О, класс! Всегда интересовал этот вопрос, но не находил толковый ответ .
@user-vu1gs8kg2j
@user-vu1gs8kg2j 2 жыл бұрын
Гениальный видео ролик. Как прочитал название и сразу сюда, не удержался😂😂😂
@alexlawyer777
@alexlawyer777 2 жыл бұрын
Соер - ты лучший по компам на рутубе !!!
@yarosav5396
@yarosav5396 2 жыл бұрын
спасибо за видео, есть оффтопный вопрос, сделайте обзор на ваши гарнитуры, рабочее место и освещение на заднем фоне, особо последнее я бы mov tomy, home
@msbull100
@msbull100 4 ай бұрын
Ассемблер мнемоническое представление машинных кодов. Есть еще макрорасширения, для компоновки и компиляции кода. На этом все.
@MikhailGoncharov-tl4cr
@MikhailGoncharov-tl4cr 2 жыл бұрын
Мне обзор понравился, тема интересная
@peckbrain
@peckbrain Жыл бұрын
Заумно объясняешь дружище.
@PianoElipse
@PianoElipse 2 жыл бұрын
Хор :D весело. Видать тоде нравиться коверкать слова)
@phunkthat4124
@phunkthat4124 2 жыл бұрын
7:49 Да, пожалуй лучшее объяснение, состедоточиться строго на одной архитектуре. Безо всяких pdp-11 и z80, как у комментаторов. Выбросить из головы это старьё. В одном x86/amd64 уже можно закопаться. Да еще неточности в объяснении, человеческий фактор... В одном случае add который 66 05 ждет 4 байта на вход, в другом, где 66 83 -- 2 байта. Вот и вся разница. Дизассеблер длин. У команд перемнная длина для разных случаев. И получается, что запись 66 05 01 00 неверна, она не полная. Процессор сожрет еще два байта после. А значит, взаимная однозначность очень даже имеет место. Надо 66 05 01 00 00 00 Самое главное, естественно по памяти я этого не знал. Тупо взял двоичный дизассемблерный редактор hiew, позволяющий писать файлы вручную прямо в машинных кодах, и тут же видеть ассемблерный вид.
@S0ERDEVS
@S0ERDEVS 2 жыл бұрын
Да, насчет 4-х байт вы правы, там не дописал нулей. Взаимной однозначности нет: было: 66 05 01 00 00 00 - дизассемблер выдал: add ax, 0x1 повторное ассемблирование: 66 83 с0 01 (и тут у нас поехала адресация) взаимная однозначность это когда add ax, 0x1 - это всегда 66 05 01 00 00 00.
@phunkthat4124
@phunkthat4124 2 жыл бұрын
@@S0ERDEVS Адресация не поехала. Тут всё правильно. add ax, 0x01 это 66 83 с0 01 add eax, 0x01 это 66 05 01 00 00 00 Чем ax отличается от eax пусть читатель сам выяснит. Но оба кода будут работать корректно на 32- и 64- битных системах.
@aakh3500
@aakh3500 Жыл бұрын
Вобщем и целом, автор ролика прав, и именно поэтому существуют пакеты разработчика на ЯА с различным уровнем детализации, для случаев когда нужно чтобы в код вошла нужная последовательность байт ее вбивают макросом с определением инструкции побайтно
@vladimirzhazha5912
@vladimirzhazha5912 2 жыл бұрын
Ассемблер должен давать возможность полного контроля генерируемого кода. Если дизассемблированный код не ассемблируется в такой же код, то это проблема дизасма. Конечно если не говорим про грязные хаки типа когда смещение является ещё и опкодом.
@orkoteg09
@orkoteg09 2 жыл бұрын
хор )
@semax5263
@semax5263 2 жыл бұрын
После хора закрыл это бессмысленное видео.
@valbv
@valbv 2 жыл бұрын
Офигенно! Даёшь больше таких видосов!!! Некоторые вещи не знал )
@Kaktus_77
@Kaktus_77 11 ай бұрын
В случае с записью в регисты, получается на самом деле в процессоре есть разные команды для записи в разные регистры (для записи в каждый регист - своя команда, сколько регистров - столько и реально команд, а не один "muv"), при том что мнемоника одна. Это грубо говоря упрощение для программиста - нужно знать только одну мнемонику для записи и указывать регистр. Короче так была придумана первая обстракция в программировании😄 На самом деле команд в процессоре больше (реальных бинарных кодов операций), чем команд в асемблере для конкретного кристала описанных в даташите, все зависит от архитектуры.
@ukr9760
@ukr9760 6 ай бұрын
Что такое команда «muv»?😅
@USER-ruzer2000
@USER-ruzer2000 2 ай бұрын
Команда mov она одна, но она многобайтная. Команда одна, но состоит из трёх частей: 1) переложи байт 2) откуда 3) куда. Первая часть команды всегда одинаковая, а другие две могут быть разные.
@nikolaiii3
@nikolaiii3 2 жыл бұрын
когда-то в уме простенькие задачки интерпритировали в машинный код. Конечно они отличаются в записи, но принципиально не отличаются. Команда за командой как в одном случае так и в другом.
@USER-ruzer2000
@USER-ruzer2000 2 ай бұрын
Мы в институте для микроконтроллеров писали на ассемблере и каждую команду дублировали машинным кодом. Там ясно было видно что мнемоника просто удобное восприятие машинного кода. Короче одно и тоже. А вот компьютерщики, которые не очень понимают что такое регистр считают что это не одно и тоже.
@user-yl8tj3jm9j
@user-yl8tj3jm9j 2 жыл бұрын
Крайне познавательно, структурированно и локанично! Один из лучших каналов на тему программирования…, спасибо за труд! :)
@funfunfun536
@funfunfun536 2 жыл бұрын
2:51 Не согласен по поводу меток. Теряются не метки, а всего лишь их имена (как и имена переменных). Если метка в программе была использована (на нее есть jmp, call... etc), ее можно восстановить. 4:26 Лучшим примером разного синтаксиса будет наличие мнемонического ассемблера и алгебраического у некоторых производителей микроконтроллеров/цифровых сигнальных процессоров. Два ассемблера в видео: Intel и AT&T - это все примеры мнемонического ассемблера. Алгебраический, он больше похож на запись в стиле языка С. Например, мнемонический код: MOV ADDRA,AC0 ADD ADDRB,AC0,AC0 MOV AC0,ADDRB эквивалентен алгебраической записи: AC0 = @(ADDRA) AC0 = AC0 + @(ADDRB) @(ADDRB) = AC0 7:47 Тут стоит понимать, что ассемблер неотделим от архитектуры процессора (в том числе его разрядности). Некорректно сравнивать машинный код похожих инструкций у фактически разных архитектур, заявляя, что они скомпилировались в разные последовательности байтов, а значит, имеется неоднозначность. Не существует какого-то сферического ассемблера в вакууме. Есть ассемблеры 8088, 8086, 80286, 80386, и много еще каких для АРМов, DSP и прочего. 10:22 Снова мимо. Кто вам сказал, что мнемоники обязательно должны быть однобайтовыми? Они вообще кодируются по принципу бинарного дерева. Более часто употребимые могут иметь меньшую длину (меньше одного байта, например, 4 бита). Более редкие - более длинные.
@S0ERDEVS
@S0ERDEVS 2 жыл бұрын
1. Метка теряется, вместо нее подставляется адрес 2. не понял, вы опровергаете, дополняете или соглашаетесь? 3. архитектура одна и та же, разные варианты появляются на уровне архитектуры за счет обратной совместимости и избыточности, например на уровне АЛУ, когда есть машинные коды для двухбайтовых и четырехбайтовых значений. 4. мнемоники вообще не имеют фиксированной длины, поэтому и нет соответствия. Более того нет правила, что одной и той же мнемонике соответствует одно и то же количество совпадающих бит, они могут быть разными и определяться исходя из семантики всей команды, а не самой мнемоники.
@funfunfun536
@funfunfun536 2 жыл бұрын
​@@S0ERDEVS 1. Метка в асме - это адрес в машинном коде. А поскольку асм с машинным кодом взаимнооднозначны, то по адресу восстанавливается метка (только с дефолтным именем). Например на асме intel 8051, mov A, my_fancy_variable cjne A, #0x12, not_equal movx A, @R0 not_equal: swap A После получения машинного кода из этого листинга, а потом дизассемблирования его, получим листинг типа такого: mov A, var_1 cjne A, #0x12, label_1 movx A, @R0 label_1: swap A По мне так слово "теряется" означает утрату без возможности ее восстановить. Что в данном случае потерялось кроме имен меток? Или что означает в вашем случае слово "теряется"? 2. Я к тому, что ассемблеры для одного и того же процессора могут принимать гораздо более причудливые формы, но это не значит, что между ними нет взаимной однозначности. Вы же не станете утверждать, что 18, 0x12, 022 и 0b00010010 - это разные числа? При любой из этих записей в памяти будет лежать одно и то же число. С листингами та же ситуация. 3. В любом случае по имени команды (или ее суффиксу в некоторых случаях), специальному байту-префиксу можно понять разрядность или вывести из разрядности ее аргументов (как транслятор и поступает). Взаимная однозначность и тут никуда не девается. Или я чего-то не догоняю? 4. Я об этом же и говорю. Конечно мнемоники транслируются в маш.код с учетом типов аргументов и их размеров. Но почему вы говорите, что нет однозначности между командами ассемблера и маш.кодом, мне не понятно. Ваш пример с mov ax, 1 / mov cx, 1 мог бы быть объяснен следующим образом. Т.к. это операция mov между регистром и константой, то mov кодируется 5-битовой последовательностью 10110 для 1-байтовой операции и 10111 для 2-байтовой (и 4-байтовой, кстати, так же). Следующие 3 бита - это номер регистра: AL - 000, CL - 001 и т.д. (для 8-битовых операндов), AX - 000, CX - 001, DX - 010 и т.д. (для 16-битовых операндов). Первый байт разобрали. Поскольку у вас 16-битные аргументы, далее должны идти 2 байта, задающие константу (у вас, кстати, 1 байт - это ошибка, но это в данном случае несущественно). И, если мне память не изменяет, для 16-битовых операндов будет нужен байт-префикс 0x66 для данной команды mov (но могу ошибаться - может, для 32-битовых операндов, т.к. на асме для x86 уже лет 20 не писал).
@KonstantinPrydnikov1
@KonstantinPrydnikov1 2 жыл бұрын
@@funfunfun536 Бро, тормозни, хочешь чтобы Соера от кишонок отвернуло?
@1kamely
@1kamely Жыл бұрын
@@funfunfun536 20 лет не писал и такие вещи говоришь, и правда, ты гений на каком языке сейчас пишешь? Чтобы сразу учится этому языку а не другим, которые хуже. Ведь такой гений не будет писать на плохом языке
@slavastalkerovich2035
@slavastalkerovich2035 2 жыл бұрын
По аналогии если принять что русский язык - это "яз. высокого уровня" (одни матерных выражений (не документированные команды?) немыслимо больше...), а английский - "низкоуровневый", то после машинного перевода с русского на английский и обратно, тексты могут быть разные.
@crazy_tht3706
@crazy_tht3706 2 жыл бұрын
Все же у разговорных языков это работает в обе стороны, но аналогия неплохая
@Dmitrii-Zhinzhilov
@Dmitrii-Zhinzhilov Жыл бұрын
Благодарю! Очень интересно!! 👍🔥💯подписка+1
@soltaurus
@soltaurus 2 жыл бұрын
Ни разу не слышал утверждения, что ассамблер и машинный код это одно и то же
@user-wp9uf7uz4r
@user-wp9uf7uz4r 2 жыл бұрын
Тоже первый раз про такое слышу. Если это одно и тоже, то все ассемблеры = машинный код или какой-то конкретный ассемблер? )))
@Helling_Out
@Helling_Out 6 ай бұрын
Мне говорили что ассемблер максимально приближен к машинному коду
@pitche
@pitche 5 ай бұрын
А я ранее слышал... от самого себя)
@-fym-
@-fym- 5 ай бұрын
Ну приблизительно так и есть. Асм же машинно-ориентированный яп.
@fanatmlp-
@fanatmlp- 5 ай бұрын
🫡
@6trica1a3
@6trica1a3 Жыл бұрын
Ассемблер это компилятор языка ассемблера
@Mark-or7nd
@Mark-or7nd 2 жыл бұрын
Да, это всё понятно, конечно, про ассемблер, маш. коды и как их переваривает процессор (на уровне комбинационно-последовательностной логики). Непонятно только вот что - если вдруг происходит такое, что в процессор из памяти поступает инструкция с искаженными бит/набором бит, которые у него в таблице отсутствуют, как в этом случае он работает? Вешает всю систему намертво или продолжает работу как ни в чем небывало? Или такого не бывает, что в линиях данных может оказаться неинтерпретируемая команда, т.е. размер списка команд у процессоров всегда соответствует степени двойки?
@AntiBandera
@AntiBandera 2 жыл бұрын
эксепшен выкидывает
@xrtcam163
@xrtcam163 Жыл бұрын
Думаю достаточно уже того что если бы это было одно и то же никто бы не создавал ассемблер, ассемблер это просто следующий этам абстракции для убодности и писания более широкими мазками, но уже менее управляемыми и кастомизируемыми. Чем выше подымаемся по уровням абстракции, там например с++, пайтон, фреймворк так называемый и так далее тем более широкий мазок и менее управляемость детальная. Вот и все. Просто те кто говорят что одно и тоже люто безграмотны и у них напрочь вообще отстуствует даже эллементарная логика инфузории. Так как если бы так то люди бы просто писали на машином как и писали и все. Они зачемто и ясно зачем создали ассемблер потом С и так далее.
@USER-ruzer2000
@USER-ruzer2000 2 ай бұрын
Мы в институте для микроконтроллеров писали на ассемблере и каждую команду дублировали машинным кодом. Там ясно было видно что мнемоника просто удобное восприятие машинного кода. Короче одно и тоже. А вот компьютерщики, которые не очень понимают что такое регистр считают что это не одно и тоже.
@buka_baka6933
@buka_baka6933 2 жыл бұрын
4:00 - А что из себя представляют соглашения?
@user-en3gy5ue4q
@user-en3gy5ue4q Жыл бұрын
Мне кажется язык ассемблера и машинный код проще объяснить так: машинный код это набор команд в виде ноликов и единичек, чтобы процессор понимал что ему делать, а язык ассемблера это уже слова которые соответствуют наборам ноликов и единичек. То есть совсем не одно и то же. На языке ассемблера писать проще, там хотя бы слова, а не нолики и единички. Остальное объяснение это уже углубленная инфа. Возможно лишняя.
@Alan-12345
@Alan-12345 4 ай бұрын
Согласен
@USER-ruzer2000
@USER-ruzer2000 2 ай бұрын
Александр, саша, alex, санёк, сашка, aleksander, алексашка, шура, санька. Это всё одно и тоже или совершенно разное? Так же и ассемблер с машинными кодами это одно и тоже, только пишется по разному.
@ctf59
@ctf59 Жыл бұрын
Кто в теме, ответьте максимально подробно в чем отличие байт кода от опкодов?
@mrs2z914
@mrs2z914 2 жыл бұрын
S0ER - Луч света в темном царстве интернета... Удачи!!!
@MrValNick
@MrValNick 6 ай бұрын
Мой дисассемблер генерил ассемблер код который после ассемблирование в двоичный код полностью совпадал с исходным машинным кодом. Иначе это не дисассемблер, а хз что!
@NyanCoder
@NyanCoder 2 жыл бұрын
Хмм, а разве настолько ли сложно дизассемблеру адреса преобразовать в метки? (Конечно имена меток потеряются, но что-то типа "метка1", "метка2" и т. п. думаю во многих случаях подставить можно) P.S.: за другие архитектуры без понятия, а сам копался лишь в 64-битном интеловском (в 32-битном мне не нравились соглашения вызовов, да и все мои пк в то время уже были 64-битными)
@S0ERDEVS
@S0ERDEVS 2 жыл бұрын
Восстановить метку нельзя, можно создать новые из констант адресов, которые есть в коде. В один проход такие штуки не сделать, нужен многопроходный дизассемблер, который поймет где метки могли быть изначально. Т.е. это не преобразование, а логический анализ кода и создание новых меток.
@chaoskrl
@chaoskrl 2 жыл бұрын
@@S0ERDEVS Т.е. как та же IDA делает? Насколько я понимаю, она по файлу несколько раз пробегает, чтоб потом показывать, где метки, откуда идет запрос к константам, и т.д.
@Anatoly555
@Anatoly555 Жыл бұрын
Поясните чайнику: с тем, что взаимно однозначного соответствия кода на асм и машинным нет - согласен, это понятно но на 9:24 утверждается, будто после операции дизассемблировании и затем ассемблирования программа перестанет работать??!! это ж кто ж так косячит? давайте по простому, в понятиях "рабочий/нерабочий код" положим есть машинный код М_исх - он рабочий, мы его дизассемблируем, получаем ассемблерный код АСМ - он рабочий, ведь дизассемблер работает нормально теперь мы ассемблируем код АСМ и получаем машинный код М_новый - почему он вдруг оказался нерабочим, если код АСМ - рабочий? Выходит, существует такой код на ассемблере, который верный, но после ассемблирования программа вдруг не работает? Или дизассемблер не справился и код АСМ - уже нерабочий? Есть ещё предположение. Рассматривается ситуация, когда машинный код, написанный для одного процессора подсовывается дизассемблеру под видом кода другого процессора. То есть, берём набор байт - машинный код для суперсовременного процессора, и скармливаем его дизассемблеру, которому говорим, что это код для процессора Z80 (компьютер из прошлого века ZX Spectrum). И удивляемся, почему дизассемблер пишет фигню. Так?
@Eustrop
@Eustrop 2 жыл бұрын
7:49 вот здесь, можно было-бы подробнее разжевать, полагаю. Первую команду из примера: add cx,0x1 Думаю, здесь многим осталось непонятно. А так - как обычно превосходно!
@phunkthat4124
@phunkthat4124 2 жыл бұрын
Написал выше объяснение.
@michaeljordan1283
@michaeljordan1283 2 жыл бұрын
Видео о том, чем машинный код отличается от ассемблера. А не о том, как работает компилятор ассемблера.
@user-wv8xz3vi3l
@user-wv8xz3vi3l 2 жыл бұрын
то чувство года начал изучать ЯП в 90х и тут пахнуло ностальгией. спасибо. ассемблер не машинный код от слова совсем. просто запустите на екзешник дизассемблер и сравните.
@AntiBandera
@AntiBandera 2 жыл бұрын
с чем сравнить ?
@user-wv8xz3vi3l
@user-wv8xz3vi3l 2 жыл бұрын
@@AntiBandera с исходником написанным вами же.
@AstarotVoland
@AstarotVoland 4 ай бұрын
Фривольное обращение с терминами приводит к подмене понятий и подмене смысла, а это приводит к недопониманию и путаницам. Так поступают оккупанты перед агрессией. Со школы приучают употреблять слова, смысл которых НЕ ПОНЯТЕН, всё на уровне догадок и домыслов. Обзывать машинный код ассемблерным кодом, это как гвозди обзывать рукопальцами. Так, понятие "разряд числа" похерили тупыми непонятными "битами". Это не одно и то же. Они из разных контекстов. Где-то конечно можно так говорить, но только потому, что это уместно, но не потому что так удобно в произношении, может оно и удобней, но совершенно искажает смысл. Договариваются до того, что телеграфный код Бодо называют пятибитным.. Вообще-то бит это "двоичное число" (в переводе с латыни - 2 пальца) у которого 2 состояния, но не разряда! разряд то один!!! Поэтому код Бодо скорее пятиразрядный. А в разряде 2 состояния - есть контакт, нет контакта. И 150 лет назад никаких битов в помине не могло быть, было понятие разряда числа. А разряд это МЕСТО в форме записи числа. А одно место в десятичной системе содержит одно из 10 значений! Мы же не говорим что 1000 это тысячецифирное число, мы выражаем его количественным значением - тысяча. Аналогично и двоичные числа выражаются количественным значением. Но для двоичного числа нет названия, поэтому оно выражается как десятичное, потому что оно нам понятно. Когда хотим показать не числовую величину, а количество знаков, то в этом случае справедливо можем сказать, что длина двоичного числа состоит ИЗ N разрядов. И это академически ПРАВИЛЬНО. Правильным будет сказать: трёхразрядное, пятиразрядное, семиразрядное, восьмиразрядное число, шестнадцатиразрядное и т.д. Если называть это битовостью, то это академически неправильно. Тем более, обзывать разрядность аппаратной части битовостью, это неграмотно. Ну давайте назовём не "битом", а "монетой" -- восьми монетный, 32-х монетный. Может так понятнее будет? Разряд он и в Африке разряд - "размерный ряд". ( или монетный ряд?)
@Alan-12345
@Alan-12345 4 ай бұрын
Тем что ассемблер компилируется в машинный код. Все. О чем тут 13 минут рассуждать
@Alex-zz8vk
@Alex-zz8vk 2 жыл бұрын
спасибо.
@AmericanDragon134
@AmericanDragon134 2 жыл бұрын
Вы очень много сидите за компом?
@KADMIyMGN
@KADMIyMGN 2 жыл бұрын
Кто пишет в машинных кодах, в ассемблере не смеётся 😇 ЗЫЖ Программирование на листочке рулит. 😂 25лет уж минуло...
@nikolaiii3
@nikolaiii3 2 жыл бұрын
CD 19 всем.
@realmanproject7529
@realmanproject7529 2 жыл бұрын
првиет всем кул хацкерам
@itdotconf675
@itdotconf675 Жыл бұрын
Hydra, хм, так вот в чем секрет успеха
@stas6848
@stas6848 2 жыл бұрын
Сны и сновидения - в чем отличие?
@sergeistarodubov2534
@sergeistarodubov2534 2 жыл бұрын
охеренно, лайк
@MrPalianytsia
@MrPalianytsia Жыл бұрын
На кого видео рассчитано? Кто пишет на ассемблере те и так в курсе. Кто не пишет, .....
@semsoe5638
@semsoe5638 2 жыл бұрын
Вот почему Ремастеры так с нами поступили. А я пинял на "руко.....". Вопрос: Кто нибуть что-то делает чтобы это вылечить?
@rilledkokesov2731
@rilledkokesov2731 Жыл бұрын
Вообще слабо понимаю о чем здесь дискусс. Ассемблер не является машинным кодом и это аксиома.
@w.t.2905
@w.t.2905 2 жыл бұрын
Тебя с работы что ли выгнали? Ролики каждый день. Ты уж наверное забыл, как код писать. На тик-ток скоро планируешь?
@paganorth
@paganorth 2 жыл бұрын
это все проблема компилятора но это максимально близкий код ибо надо следить за памятью, потоками и тд..
@semax5263
@semax5263 2 жыл бұрын
Кликбейт.
@desys.
@desys. 2 жыл бұрын
Значит ты машинник?
@S0ERDEVS
@S0ERDEVS 2 жыл бұрын
Нет, я - соер
@alexandernaumochkin
@alexandernaumochkin 2 жыл бұрын
Словоблудие, поддерживаемое эклектикой архитектур IA-32/64.
@websofter
@websofter 2 жыл бұрын
Если 1 такт процесса соответствует 1 команде ASM, то это машинный код, иначе это комбинация нескольких машинных команд под одной командой ASM
@fulcanelly
@fulcanelly 2 жыл бұрын
извините но это бред
@sandalsuzdalov1606
@sandalsuzdalov1606 2 жыл бұрын
В кучу завалил. Лучше опишите как это работает по подробнее, тогда и понятнее будет. Ассемблер - по моему, это очеловечивание машинного кода. Т. Е. Бинарный код процессора описывается на человеческом языке(не битами) - словами(буквами). У разных процессоров биты одной и той же команды разные. Вот из этого и следует разница при дисассеблировании. Нам не важно знать битовые команды сложения разных процессоров. Это дело интерпретатора языка. Вот откуда идет проблема.
@sandalsuzdalov1606
@sandalsuzdalov1606 2 жыл бұрын
Add значит умножение. И нам не надо знать как это будет в двоичном коде выглядеть для интел или для амд процессора. При дисассемблировании наоборот. Надо выделить откакого проца код надо дисассемблировать. Ведь код то разный у всех. Ассемблер один для всех, а коды разные. Вот где собака ...
@user-rp4hz7ng5n
@user-rp4hz7ng5n Жыл бұрын
Сойер, а ты можешь снизойти к украинскому деду?? И поговорить...
I Need Your Help..
00:33
Stokes Twins
Рет қаралды 133 МЛН
Indian sharing by Secret Vlog #shorts
00:13
Secret Vlog
Рет қаралды 50 МЛН
SHE WANTED CHIPS, BUT SHE GOT CARROTS 🤣🥕
00:19
OKUNJATA
Рет қаралды 14 МЛН
СПИДРАН ВСЕГО Comp Scie
21:35
Winderton
Рет қаралды 309 М.
Ghidra, how to reverse games, part 1, the preparing. [RUS]
39:00
Machine Code Explained - Computerphile
20:32
Computerphile
Рет қаралды 106 М.
Hello World на Ассемблере (x86)
9:34
Псевдо Программист
Рет қаралды 157 М.
КАК РАБОТАЕТ ПРОЦЕССОР
10:24
GopherTech
Рет қаралды 2,8 МЛН
ЭТИ КНИГИ СДЕЛАЮТ ИЗ ТЕБЯ ХАКЕРА
16:38
I Need Your Help..
00:33
Stokes Twins
Рет қаралды 133 МЛН