Тёмный

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

S0ER
Подписаться 107 тыс.
Просмотров 42 тыс.
50% 1

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

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

 

28 янв 2022

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 109   
@AndreiAndrei-cu7jq
@AndreiAndrei-cu7jq 11 месяцев назад
Большое спасибо за понятное объяснение Соер !
@ExWheel
@ExWheel 2 года назад
Благодарю за видео, очень качественно и информативно
@user-yu1hn6wf2p
@user-yu1hn6wf2p Год назад
Под 40 лет интерес к информатике когда в школе её ненавидел.Сколько времени упущено... Автору спасибо за толковое объяснение.
@sudo-apt-upgrade-brain
@sudo-apt-upgrade-brain Год назад
Лучше поздно чем никогда! Тем более с ChatGPT изучать это все намного проще.
@user-id5pt7nj7g
@user-id5pt7nj7g 11 месяцев назад
​@@sudo-apt-upgrade-brainА как подскажи правильно вести диалог с нейронкой, дабы изучение было более лëгким?
@sudo-apt-upgrade-brain
@sudo-apt-upgrade-brain 11 месяцев назад
​@@user-id5pt7nj7g Желательно общаться на английском (намного лучше рус), и когда не понимаешь что-то, напоминай ей что ты нуб (новичок), тогда она упростит объяснение. Можешь еще попросить объяснить как ребёнку.
@LevanovSiarhei
@LevanovSiarhei 9 месяцев назад
​@@user-id5pt7nj7gна гуглите порядок изучения интересующего вас языка и следуйте плану
@tareyasmheti1526
@tareyasmheti1526 9 месяцев назад
​@@user-id5pt7nj7gможете у неё спросить. Она подскажет
@dmitriysergeevich4
@dmitriysergeevich4 7 месяцев назад
Насколько интересно, изучаю сейчас ассемблер и каждый раз узнаю что то новое
@konoiya
@konoiya 2 месяца назад
Ну что, как успехи?:)
@user-ym8ur7fk6h
@user-ym8ur7fk6h 2 года назад
Спасибо, было интересно!
@koffeika_let2947
@koffeika_let2947 Год назад
Блин это так интересно, спасибо соер за объяснение
@sovrinfo
@sovrinfo 2 года назад
Спасибо за видео.Коммент в поддержку!
@Marselmarsemars
@Marselmarsemars 2 года назад
Спасибо. Было интересно
@vovanchik_ru4208
@vovanchik_ru4208 2 года назад
продолжай, очень интересно!
@Mugen88888
@Mugen88888 2 года назад
Спасибо, интересная тема.
@user-vu1gs8kg2j
@user-vu1gs8kg2j 2 года назад
Гениальный видео ролик. Как прочитал название и сразу сюда, не удержался😂😂😂
@igor_cojocaru
@igor_cojocaru 2 года назад
Превьюха запутала Машинный код не это assembler😆 Спасибо за видос.
@user-to7we3ox4h
@user-to7we3ox4h 2 года назад
О, класс! Всегда интересовал этот вопрос, но не находил толковый ответ .
@orkoteg09
@orkoteg09 2 года назад
9:40 тут неоднозначная неоднозначность, т.к. при дизассемблировании формируются метки переходов je jne и т.п. из адресов и смещений в бинарнике (даже макросы можно восстановить по косвенным признакам повторения кода). поэтому при сборке все переходы будут верны, даже при изменении размера. другое дело, если сам бинарник котролирует размер или высчитывает переходы (например, прыжок на +100 байт вперед) - как вариант защиты или особенность работы.
@alexlawyer777
@alexlawyer777 2 года назад
Соер - ты лучший по компам на рутубе !!!
@yarosav5396
@yarosav5396 2 года назад
спасибо за видео, есть оффтопный вопрос, сделайте обзор на ваши гарнитуры, рабочее место и освещение на заднем фоне, особо последнее я бы mov tomy, home
@MikhailGoncharov-tl4cr
@MikhailGoncharov-tl4cr 2 года назад
Мне обзор понравился, тема интересная
@aakh3500
@aakh3500 Год назад
Вобщем и целом, автор ролика прав, и именно поэтому существуют пакеты разработчика на ЯА с различным уровнем детализации, для случаев когда нужно чтобы в код вошла нужная последовательность байт ее вбивают макросом с определением инструкции побайтно
@PianoElipse
@PianoElipse 2 года назад
Хор :D весело. Видать тоде нравиться коверкать слова)
@peckbrain
@peckbrain Год назад
Заумно объясняешь дружище.
@UFO26
@UFO26 2 года назад
Соер, как написали первую операционную систему, когда не было ни одной операционной системы?
@semax5263
@semax5263 2 года назад
@@mimocrocodil210 корневой станок от которого произошли все остальные был дарован инопланетянами в 408 году до нэ
@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- битных системах.
@soltaurus
@soltaurus 2 года назад
Ни разу не слышал утверждения, что ассамблер и машинный код это одно и то же
@user-wp9uf7uz4r
@user-wp9uf7uz4r 2 года назад
Тоже первый раз про такое слышу. Если это одно и тоже, то все ассемблеры = машинный код или какой-то конкретный ассемблер? )))
@Helling_Out
@Helling_Out 7 месяцев назад
Мне говорили что ассемблер максимально приближен к машинному коду
@pitche
@pitche 7 месяцев назад
А я ранее слышал... от самого себя)
@-fym-
@-fym- 7 месяцев назад
Ну приблизительно так и есть. Асм же машинно-ориентированный яп.
@fanatmlp-
@fanatmlp- 6 месяцев назад
🫡
@Dmitrii-Zhinzhilov
@Dmitrii-Zhinzhilov Год назад
Благодарю! Очень интересно!! 👍🔥💯подписка+1
@msbull100
@msbull100 5 месяцев назад
Ассемблер мнемоническое представление машинных кодов. Есть еще макрорасширения, для компоновки и компиляции кода. На этом все.
@orkoteg09
@orkoteg09 2 года назад
хор )
@semax5263
@semax5263 2 года назад
После хора закрыл это бессмысленное видео.
@nikolaiii3
@nikolaiii3 2 года назад
когда-то в уме простенькие задачки интерпритировали в машинный код. Конечно они отличаются в записи, но принципиально не отличаются. Команда за командой как в одном случае так и в другом.
@USER-ruzer2000
@USER-ruzer2000 4 месяца назад
Мы в институте для микроконтроллеров писали на ассемблере и каждую команду дублировали машинным кодом. Там ясно было видно что мнемоника просто удобное восприятие машинного кода. Короче одно и тоже. А вот компьютерщики, которые не очень понимают что такое регистр считают что это не одно и тоже.
@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 лет не писал и такие вещи говоришь, и правда, ты гений на каком языке сейчас пишешь? Чтобы сразу учится этому языку а не другим, которые хуже. Ведь такой гений не будет писать на плохом языке
@Kaktus_77
@Kaktus_77 Год назад
В случае с записью в регисты, получается на самом деле в процессоре есть разные команды для записи в разные регистры (для записи в каждый регист - своя команда, сколько регистров - столько и реально команд, а не один "muv"), при том что мнемоника одна. Это грубо говоря упрощение для программиста - нужно знать только одну мнемонику для записи и указывать регистр. Короче так была придумана первая обстракция в программировании😄 На самом деле команд в процессоре больше (реальных бинарных кодов операций), чем команд в асемблере для конкретного кристала описанных в даташите, все зависит от архитектуры.
@ukr9760
@ukr9760 8 месяцев назад
Что такое команда «muv»?😅
@USER-ruzer2000
@USER-ruzer2000 4 месяца назад
Команда mov она одна, но она многобайтная. Команда одна, но состоит из трёх частей: 1) переложи байт 2) откуда 3) куда. Первая часть команды всегда одинаковая, а другие две могут быть разные.
@slavastalkerovich2035
@slavastalkerovich2035 2 года назад
По аналогии если принять что русский язык - это "яз. высокого уровня" (одни матерных выражений (не документированные команды?) немыслимо больше...), а английский - "низкоуровневый", то после машинного перевода с русского на английский и обратно, тексты могут быть разные.
@crazy_tht3706
@crazy_tht3706 2 года назад
Все же у разговорных языков это работает в обе стороны, но аналогия неплохая
@valbv
@valbv 2 года назад
Офигенно! Даёшь больше таких видосов!!! Некоторые вещи не знал )
@user-yl8tj3jm9j
@user-yl8tj3jm9j 2 года назад
Крайне познавательно, структурированно и локанично! Один из лучших каналов на тему программирования…, спасибо за труд! :)
@vladimirzhazha5912
@vladimirzhazha5912 2 года назад
Ассемблер должен давать возможность полного контроля генерируемого кода. Если дизассемблированный код не ассемблируется в такой же код, то это проблема дизасма. Конечно если не говорим про грязные хаки типа когда смещение является ещё и опкодом.
@IvanIvanov-ps5iz
@IvanIvanov-ps5iz 4 дня назад
Если не глядя быстро прочитать S0ER то вижу SBER...
@user-en3gy5ue4q
@user-en3gy5ue4q Год назад
Мне кажется язык ассемблера и машинный код проще объяснить так: машинный код это набор команд в виде ноликов и единичек, чтобы процессор понимал что ему делать, а язык ассемблера это уже слова которые соответствуют наборам ноликов и единичек. То есть совсем не одно и то же. На языке ассемблера писать проще, там хотя бы слова, а не нолики и единички. Остальное объяснение это уже углубленная инфа. Возможно лишняя.
@Alan-12345
@Alan-12345 6 месяцев назад
Согласен
@USER-ruzer2000
@USER-ruzer2000 4 месяца назад
Александр, саша, alex, санёк, сашка, aleksander, алексашка, шура, санька. Это всё одно и тоже или совершенно разное? Так же и ассемблер с машинными кодами это одно и тоже, только пишется по разному.
@ctf59
@ctf59 Год назад
Кто в теме, ответьте максимально подробно в чем отличие байт кода от опкодов?
@Mark-or7nd
@Mark-or7nd 2 года назад
Да, это всё понятно, конечно, про ассемблер, маш. коды и как их переваривает процессор (на уровне комбинационно-последовательностной логики). Непонятно только вот что - если вдруг происходит такое, что в процессор из памяти поступает инструкция с искаженными бит/набором бит, которые у него в таблице отсутствуют, как в этом случае он работает? Вешает всю систему намертво или продолжает работу как ни в чем небывало? Или такого не бывает, что в линиях данных может оказаться неинтерпретируемая команда, т.е. размер списка команд у процессоров всегда соответствует степени двойки?
@AntiBandera
@AntiBandera 2 года назад
эксепшен выкидывает
@6trica1a3
@6trica1a3 Год назад
Ассемблер это компилятор языка ассемблера
@MrValNick
@MrValNick 7 месяцев назад
Мой дисассемблер генерил ассемблер код который после ассемблирование в двоичный код полностью совпадал с исходным машинным кодом. Иначе это не дисассемблер, а хз что!
@xrtcam163
@xrtcam163 2 года назад
Думаю достаточно уже того что если бы это было одно и то же никто бы не создавал ассемблер, ассемблер это просто следующий этам абстракции для убодности и писания более широкими мазками, но уже менее управляемыми и кастомизируемыми. Чем выше подымаемся по уровням абстракции, там например с++, пайтон, фреймворк так называемый и так далее тем более широкий мазок и менее управляемость детальная. Вот и все. Просто те кто говорят что одно и тоже люто безграмотны и у них напрочь вообще отстуствует даже эллементарная логика инфузории. Так как если бы так то люди бы просто писали на машином как и писали и все. Они зачемто и ясно зачем создали ассемблер потом С и так далее.
@USER-ruzer2000
@USER-ruzer2000 4 месяца назад
Мы в институте для микроконтроллеров писали на ассемблере и каждую команду дублировали машинным кодом. Там ясно было видно что мнемоника просто удобное восприятие машинного кода. Короче одно и тоже. А вот компьютерщики, которые не очень понимают что такое регистр считают что это не одно и тоже.
@buka_baka6933
@buka_baka6933 2 года назад
4:00 - А что из себя представляют соглашения?
@mrs2z914
@mrs2z914 2 года назад
S0ER - Луч света в темном царстве интернета... Удачи!!!
@NyanCoder
@NyanCoder 2 года назад
Хмм, а разве настолько ли сложно дизассемблеру адреса преобразовать в метки? (Конечно имена меток потеряются, но что-то типа "метка1", "метка2" и т. п. думаю во многих случаях подставить можно) P.S.: за другие архитектуры без понятия, а сам копался лишь в 64-битном интеловском (в 32-битном мне не нравились соглашения вызовов, да и все мои пк в то время уже были 64-битными)
@S0ERDEVS
@S0ERDEVS 2 года назад
Восстановить метку нельзя, можно создать новые из констант адресов, которые есть в коде. В один проход такие штуки не сделать, нужен многопроходный дизассемблер, который поймет где метки могли быть изначально. Т.е. это не преобразование, а логический анализ кода и создание новых меток.
@chaoskrl
@chaoskrl 2 года назад
@@S0ERDEVS Т.е. как та же IDA делает? Насколько я понимаю, она по файлу несколько раз пробегает, чтоб потом показывать, где метки, откуда идет запрос к константам, и т.д.
@Eustrop
@Eustrop 2 года назад
7:49 вот здесь, можно было-бы подробнее разжевать, полагаю. Первую команду из примера: add cx,0x1 Думаю, здесь многим осталось непонятно. А так - как обычно превосходно!
@phunkthat4124
@phunkthat4124 2 года назад
Написал выше объяснение.
@michaeljordan1283
@michaeljordan1283 2 года назад
Видео о том, чем машинный код отличается от ассемблера. А не о том, как работает компилятор ассемблера.
@Alex-zz8vk
@Alex-zz8vk 2 года назад
спасибо.
@Anatoly555
@Anatoly555 2 года назад
Поясните чайнику: с тем, что взаимно однозначного соответствия кода на асм и машинным нет - согласен, это понятно но на 9:24 утверждается, будто после операции дизассемблировании и затем ассемблирования программа перестанет работать??!! это ж кто ж так косячит? давайте по простому, в понятиях "рабочий/нерабочий код" положим есть машинный код М_исх - он рабочий, мы его дизассемблируем, получаем ассемблерный код АСМ - он рабочий, ведь дизассемблер работает нормально теперь мы ассемблируем код АСМ и получаем машинный код М_новый - почему он вдруг оказался нерабочим, если код АСМ - рабочий? Выходит, существует такой код на ассемблере, который верный, но после ассемблирования программа вдруг не работает? Или дизассемблер не справился и код АСМ - уже нерабочий? Есть ещё предположение. Рассматривается ситуация, когда машинный код, написанный для одного процессора подсовывается дизассемблеру под видом кода другого процессора. То есть, берём набор байт - машинный код для суперсовременного процессора, и скармливаем его дизассемблеру, которому говорим, что это код для процессора Z80 (компьютер из прошлого века ZX Spectrum). И удивляемся, почему дизассемблер пишет фигню. Так?
@AmericanDragon134
@AmericanDragon134 2 года назад
Вы очень много сидите за компом?
@user-wv8xz3vi3l
@user-wv8xz3vi3l 2 года назад
то чувство года начал изучать ЯП в 90х и тут пахнуло ностальгией. спасибо. ассемблер не машинный код от слова совсем. просто запустите на екзешник дизассемблер и сравните.
@AntiBandera
@AntiBandera 2 года назад
с чем сравнить ?
@user-wv8xz3vi3l
@user-wv8xz3vi3l 2 года назад
@@AntiBandera с исходником написанным вами же.
@itdotconf675
@itdotconf675 Год назад
Hydra, хм, так вот в чем секрет успеха
@esimitley4729
@esimitley4729 14 часов назад
high skill
@nikolaiii3
@nikolaiii3 2 года назад
CD 19 всем.
@stas6848
@stas6848 2 года назад
Сны и сновидения - в чем отличие?
@KADMIyMGN
@KADMIyMGN 2 года назад
Кто пишет в машинных кодах, в ассемблере не смеётся 😇 ЗЫЖ Программирование на листочке рулит. 😂 25лет уж минуло...
@realmanproject7529
@realmanproject7529 2 года назад
првиет всем кул хацкерам
@AstarotVoland
@AstarotVoland 5 месяцев назад
Фривольное обращение с терминами приводит к подмене понятий и подмене смысла, а это приводит к недопониманию и путаницам. Так поступают оккупанты перед агрессией. Со школы приучают употреблять слова, смысл которых НЕ ПОНЯТЕН, всё на уровне догадок и домыслов. Обзывать машинный код ассемблерным кодом, это как гвозди обзывать рукопальцами. Так, понятие "разряд числа" похерили тупыми непонятными "битами". Это не одно и то же. Они из разных контекстов. Где-то конечно можно так говорить, но только потому, что это уместно, но не потому что так удобно в произношении, может оно и удобней, но совершенно искажает смысл. Договариваются до того, что телеграфный код Бодо называют пятибитным.. Вообще-то бит это "двоичное число" (в переводе с латыни - 2 пальца) у которого 2 состояния, но не разряда! разряд то один!!! Поэтому код Бодо скорее пятиразрядный. А в разряде 2 состояния - есть контакт, нет контакта. И 150 лет назад никаких битов в помине не могло быть, было понятие разряда числа. А разряд это МЕСТО в форме записи числа. А одно место в десятичной системе содержит одно из 10 значений! Мы же не говорим что 1000 это тысячецифирное число, мы выражаем его количественным значением - тысяча. Аналогично и двоичные числа выражаются количественным значением. Но для двоичного числа нет названия, поэтому оно выражается как десятичное, потому что оно нам понятно. Когда хотим показать не числовую величину, а количество знаков, то в этом случае справедливо можем сказать, что длина двоичного числа состоит ИЗ N разрядов. И это академически ПРАВИЛЬНО. Правильным будет сказать: трёхразрядное, пятиразрядное, семиразрядное, восьмиразрядное число, шестнадцатиразрядное и т.д. Если называть это битовостью, то это академически неправильно. Тем более, обзывать разрядность аппаратной части битовостью, это неграмотно. Ну давайте назовём не "битом", а "монетой" -- восьми монетный, 32-х монетный. Может так понятнее будет? Разряд он и в Африке разряд - "размерный ряд". ( или монетный ряд?)
@MrPalianytsia
@MrPalianytsia Год назад
На кого видео рассчитано? Кто пишет на ассемблере те и так в курсе. Кто не пишет, .....
@semsoe5638
@semsoe5638 2 года назад
Вот почему Ремастеры так с нами поступили. А я пинял на "руко.....". Вопрос: Кто нибуть что-то делает чтобы это вылечить?
@Alan-12345
@Alan-12345 6 месяцев назад
Тем что ассемблер компилируется в машинный код. Все. О чем тут 13 минут рассуждать
@paganorth
@paganorth 2 года назад
это все проблема компилятора но это максимально близкий код ибо надо следить за памятью, потоками и тд..
@sergeistarodubov2534
@sergeistarodubov2534 2 года назад
охеренно, лайк
@w.t.2905
@w.t.2905 2 года назад
Тебя с работы что ли выгнали? Ролики каждый день. Ты уж наверное забыл, как код писать. На тик-ток скоро планируешь?
@rilledkokesov2731
@rilledkokesov2731 Год назад
Вообще слабо понимаю о чем здесь дискусс. Ассемблер не является машинным кодом и это аксиома.
@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 Год назад
Сойер, а ты можешь снизойти к украинскому деду?? И поговорить...
Далее
КАК РАБОТАЕТ ПРОЦЕССОР
10:24
Просмотров 2,8 млн
Hello World на Ассемблере (x86)
9:34
Просмотров 158 тыс.