ЯЗЫК АССЕМБЛЕРА С НУЛЯ | #1 НАЧАЛО
Вставка
- Опубліковано 17 тра 2024
- Ассемблер с нуля.
Язык, на котором давно никто не пишет обыденные программы, но язык, который делает обыденного программиста профессионалом.
Любая программа превращается в набор инструкций процессора.
Язык ассемблера - тот самый набор инструкций, только в удобной для человека форме.
Понимая как работает ассемблер, вы понимаете как работает программа.
Вход в ассемблер сильно отличается от привычных нам языков программирования, поэтому начинать мы будем с самого нуля - с 16 битного ассемблера под ms-dos.
ПЛЕЙЛИСТ "ОСНОВЫ ПРОГРАММИРОВАНИЯ" - • КАК РАБОТАЕТ ПАМЯТЬ КО...
ПЛЕЙЛИСТ "ПОЛЕЗНО ЗНАТЬ" - • ЯЗЫКИ ПРОГРАММИРОВАНИЯ...
💎 Поддержка канала:
/ alekos1
yoomoney.ru/to/410011179144828
Программы из видео:
ms-dos, masm6.11, winimage - cloud.mail.ru/public/zp6Q/Xf5...
vurtualbox - www.virtualbox.org/
00:00 Введение
03:23 Набор инструкций
04:27 Что будет в этом видео
05:08 Ассемблер - это
05:56 Семейства процессоров
08:00 Регистры
10:24 Режимы работы процессоров
12:03 Компиляторы
13:22 Формат записи команд (mov)
15:05 Установка ms-dos
19:41 Сегменты программы
20:32 Адреса
23:48 Создание сегментов
28:06 Загрузка адресов в сегментные регистры
28:29 Группы
29:09 ASSUME
30:32 Директива .model
32:06 Упрощенные сегменты
35:47 Исполняемые файлы
36:43 Загрузка программы в память
41:30 Процесс компиляции
44:49 Написание первой программы
ВАЖНО!!!
В видео есть 2 неточности, возникшие на этапе монтажа.
Первое, это при установке компилятора во 2 окне выбираем второй пункт (для ms-dos).
Второе - в программах типа com в конце ролика строка "message db 'Hello, World!$'" должна была идти после команды ret.
Банальная невнимательность с моей стороны, ибо человек всегда будет ошибаться.
Как напечатать знак доллара $?
Доброго, не забываем, что скомпелировать пишется через И
Резервирование строки на месте старта программы - это сурово! Ну и как по мне ничего небыло сказано про причину использования сегментов и сегментных регистров! Ведь регистры в х86 были 16 битные а шина адреса 20 бит и для того чтобы воспользоваться всей памятью (целым 1 мегабайтом) и был введен этот костыль
После ассемблера будет c или c++? Будет ли вообще?
И ещё: tiny все же через i читается
Понравилась фраза “ms-dos готов к работе, но к работе с ним не готовы мы»
как начинается изучение любых языков:
"helloword!"
как начинается ассемблер:
"начнем немного издалека.."
Огромное спасибо!
Все невероятно доходчиво.
Очень издалека... С библейских времен)))
Дорогие студенты. Сегодня мы с вами будем писать на языке ассемблера форму, для отображения 3D-графики.
Только «helloworld» там было 🙂
И так дорогие, слушатели, после 10 дней программирования, можно запускать нашу программу, и вот мы видем результат на экране HelloWord
@@SuperGrizlik да ну 🙂 за 5 минут вместе с установкой масм-а.
Я посмотрел только 4 минуты видео и уже могу сказать, что ты проделал офигенную работу над монтажом и графикой, чувак. Однозначно лайк, такие видео должны продвигаться
Минуте на 23й я потерялся, но это видео - глоток свежего воздуха! ))) Подписка однозначно и лайк! Благодарность автору!
Мужик, ты лучший , это просто невероятное качество работы
Присоединяюсь, более доступного объяснения я не встречал.
@@user-mx3cb9rg3p +
Поддерживаю, это классика жанра. От А до Я всё есть
Подверждаю.
@@MikhailGoncharov-tl4cr нет, до меня
Этот урок - Эталон, какими должны быть все видео уроки на ютубе.
Tom major Workshop тоже советую
Да - работа проделана титаническая. Но и в ней есть небольшие неточности. Например, директива ORG говорит компилятору ассемблера, насколько байт нужно корректировать адреса в программе. Это необходимо, как правильно сказал автор, для возможности кореектной работы программы, если она будет загружена не по нулевому адресу. Например, если рассчитывается, что программа будет загружена по адресу 100h, то комманда ORG 100h говорит компилятору, чтобы он прибавлял 256 ко всем смещениям, ссылающимся внутри программы...
Мне 38, я не программист.. забросил это дело лет 20 назад начав в шесть лет (начинал писать на ZX Spectrum) . В общем это долгая история, но просто хочу написать комментарий в поддержку. Огромное уважение проделанной работе. Сейчас все проще и доступнее, можно обезьяну научить и вызывает огромное уважение, что есть люди которые пытаются и стремятся, как вы сказали понять как оно работает. Я до сих пор дотошен во всем, мне не достаточно инструкции хоть к чему, пока я не буду понимать как и что работает и устроено, я не смогу нормально вещью пользоваться..
ого, в 6 лет уже код писал, ничег себе
@@frdml да на ZX Spectrume, BASIC. Причем писал так, что все 48 кб кончались) и я понял что мне надо 128 кб.. Но BASIC 128 кб от 48 помню отличало то, что в 48 операторы сразу по нажатии кнопки вылетали, а в 128 каждую букву печатать надо было)) это резко стало лениво и неудобно и долго. Запомнил прям..
@@frdml спасибо, что ответили, мне прям приятно) потом в школе кучу олимпиад выигрывал по информатике городских.. Но вся тяга кончилась, когда информатика стала плотно переплетаться с математикой и по сути приходилось решать тупо математику путем информатики и только. А к математике я не тяготел. Мне хотелось творчества.. игры, графика..
@@odinvdome а чем вы занимаетесь, какой сферой деятельности?
@@vanyarakov8869 забавно, у меня друга зовут Ваня и фамилия похожая, мы его дразнили раковым часто))
35 минут смотрел заворожено.. Но сделал вывод, что такое перед сном пожалуй не надо 😄😅 после пробуждения, на свежую голову досмотрю!! 😏 Огромная благодарность!! 👍🏻 контент невероятный!! Визуализация превосходная!!
Сам так же сделал. 😂
Ох как я ждал чего-то подобного, в русском Ютубе такой информации сильно недостаточно. Обязательно жду вторую часть
Есть книги
@@volodymyrgutsu7011 Книги то конечно есть. Но как ни удивительно, в них есть ошибки и неточности, не всё работает так как там описано. А здесь свежий ролик, от автора который этим сейчас занимается, ещё и наглядно всё показывается. Так что такая информация тоже очень полезна
Да, ошибки есть и это хорошо. Задача программиста ведь понимать что там написано и делать что бы код работал. Сталкивался с этим не раз и исправлял. Чего и вам желаю
@@Uni-Coder Очередной умник, который думает, что старое нафиг не надо🤦🏼♂️
@@Uni-Coder Вас обидело "очередной умник" или "старое нафиг не надо"?
I just saw your video in the French UA-cam recommendation pages. Too bad I don't understand a Russian word because your video looks very complete. However I'm glad my Russian speaking friends can take advantage of it, keep it up! You advance computer learning!
I assure you this guy knows what he's doing very well )
Единственный нормальный канал по программированию, без засыпающего голоса, мемасиков и рекламы. Всё доходчиво преподнесено.
Что сказать, лучший!
Это максимально божичная манера подачи материала! Если бы все так рассказывали, я был бы самым умным! Автор, ты явно талантище! Не прекращай! Лайк вдавил так, что аж монитор треснул!
Офигенское четкое понятное и красивое видео, голова всё равно лопнула!!!! ) очень круто!!
Черт возьми парень! Ты герой, если решил донести столь не привычную информацию русскоязычной аудитории, я досмотрел все до конца и это было круто, я давно хотел что бы кто то смог растолковать то, о чем ты повествуешь в данном видео.
Данное видео несомненно полезно и попадает в избранное + распространяют всем своим друзьям (учусь на ЭВМ 3 курс, проходим тоже самое, но только дольше и менее понятно + скучно)
Рассказываешь безумно интересно, спасибо!
Жизааа
Рассказывает Безумно Интересно ! Но Лишний Раз убеждаюсь -- Ассемблер -- для "Избранных" . Сколько раз брался -- заканчивал на 53-й странице .... !😂
На 6 минуте я ясно осознал что это видео не просто видео, а настоящий шедевр. Как, скорее всего, и другие видео на канале, которые я посмотрю после этого. Однозначно лайк, подписка.
на получасе понял, что надо пойти сначала отдельно разобраться в устройстве памятей и процессора, а то уже большинство слов мимо ушей летит
но ролик отличный, видно, что проделал огромную работу
нужно просто практиковаться чтоб в голове отложилось, на С поработать со стаком, ассемблер не обязателен.
@@JamesSmith-ix5jd Чем тебе C поможет? Тут речь о другом, что бы писать на асм, нужно понимать как работает процессор и память.
проолема таких видео в том, что авторы забивают болт после выпуска пары серий.
Как же ты угадал
Возьмите Столярова или книги Криса Касперски
Потому что это трудно, а выхлопа мало. Если ты посмотришь более крупно на проблему, то поймёшь, что такое везде
Фундамент для 42:23
Ведь это самый сложный язык
Бесспорно лучшая подача материала, спасибо за ваш труд!
Автор, я вас обожаю) Все идеально: особая манера преподносить информацию, тонкий юмор, визуал и сама тема. Браво! Жду продолжения.
Невероятно крутой канал! Да, к таким видео не подойдешь с одного подхода, их приходиться смотреть в несколько, но зато в них все понятно и ясно объяснено! Спасибо за невероятную работу!
Это просто пушка. Очень классный материал, спасибо большое за работу. Надеюсь вы продолжите
Чел просто пушка. Когда у тебя будет 1М проссотрров, я буду вспоминать что смотрел тебя когда у тебя было 6 ТЫЩ.
Тематика программирования на русскоязычном ютубе 1 миллион собирает минимум за неделю, подобное видео за год не соберет, т.к. канал не популярный, в рекомендациях только у узкого круга людей. В общем, просмотры этого видео - в основном целевая аудитория
Он имеет ввиду что через пару лет видосы будут набирать миллион просмотров и он типо будет олдом
@@ANUARKA если автор канала не перестанет делать видео
@@ANUARKA сложно представить что обучающие и технические видео могут набирать миллионы просмотров. Это скорее для развлекательного контента. Но пожелаем успехов автору.
И большое человеческое спасибо автору за продвижение знаний.
Я прочитал "когда у тебя будет M1" )
Невероятный видео ролик, все прям по пальцам разложил и расписал, колоссальная работа! Огромное спасибо за проделанный труд! С меня лайк и подписка и ожидание следующего ролика!
Такие видеоуроки надо делать ОБЯЗАТЕЛЬНЫМИ к просмотру студентам, жаль в своё время не было у нас такого, но зато были прекрасные преподаватели, только вот преподавателя на "паузу" не поставишь )))
Богоугодное дело ты желаешь, раз решил ликбез провести, чтобы кнопконажиматели могли стать полноценными программистами. Мало, очень мало программистов нынче.
Спасибо! Самое адекватное видео, где всё на своих местах. Очень нужная информация.
Чувак, большое тебе спасибо! Как хорошо всё разжёвано и показано! Одно удовольствие смотреть твои ролики! До этого не понимал чем логический адрес отличался от физического, да и много чего ещё узнал.
Чувак, бомби дальше, нам и особенно молодёжи это сейчас очень нужно. Удачи, и всего тебе самого самого.
Комментарий в поддержку. Искал полную информацию о принципе работы стека, а нашел клад всевозможной информации с непревзойденной подачей информации! Большое спасибо!
смотрю все его выпуски. очень грамотная подача информации. такого редко встретишь.
Я в лютом восторге: помимо качества самой подачи и отбора информации, ещё и топовый монтаж с наглядными схема.
Автор, ты просто огонь!
Для людей которые не учились на факультете информатики твои видео очень помогают. Благодарю за труд и время!
Так, это подписка, лайк и комментарий. Спасибо, чудесное видео! Вы действительно разрушили огромный миф о ассемблере. Я еще лет 10 назад считал, что он мертв и вообще не нужен. С нетерпением жду новых серий.
Видосик отличный !!!
Но, ИМХО, написание программ под DOS, не имеет никакого практического смысла, даже для обучения (там очень много своей специфики, 16 битые сегменты/смещения, работа с памятью без её выделения, перевод процессора в защищенные режим и т. д.).
Было бы круто, если это возможно, подобный видосик для прикладного Assembler, например написание программ под Windows/Linux с вызовами API OS, написание OS, с получением управиления от загрузчика, написание загрузчика (хотя сегодня в этом врядли есть смысл) и т. д.
Также, было бы круто рассмотреть интеграцию Assembler програм/модулей с высокоуровневыми языками (C/C++, C#, Python и т. д.).
Какая же офигенная подача материала
Спасибо)
Твой подход с помощью инфографики не имеет аналогов и равных себе. Не побоюсь этого слова, лучший!
Спасибо большое, что делаешь свой контент! Уже множество видео посмотрел, но все так же кайфую от качества и подачи информации!!
Спасибо большое за такой качественный материал, подкрепленный понятым объяснением и отличной визуализацией. Продолжай!
Потрясающе!! Спасибо за проделанную работу!! С нетерпением ждём продолжения😁🙏
Это лучшее из того что я ознакамливался не только с ассемблером но и с программированием вообще. Спасибо за такое подробное пояснение - таким понятным языком.
Классный канал!! Грамотно изложин материал урока, приятный голос за кадром , вообще все супер 👍👍👍
Очень рада, что нашла этот канал!) Желаю успехов в продвижении контента, ведь редко можно найти материалы, где бы так хорошо и понятно преподносили информацию о фундаментальном устройстве компьютера.
Охренеть! Я помню всё это, хотя уже думала, что забыла все это как страшный сон.
Да, я ещё тогда, когда программировала на масме (уже под 286-е в досе) поражалась насколько всё продуманно придумано!
Да... Как-то в детстве делал программу для общения со звуковой картой. Turbo Pascal с ассемблерными вставками...
@@mikhailyagodin841даа, этим турбопаскаль больше си нравился. Диплом на нем делал.
Случайно наткнулся на это видео, и просто офгел как детально показали и рассказали про ассемблер. Побольше бы такого на нашем ютубе.
Очень приятное повествование, понятно что откуда и куда и почему. Не забрасывай пожалуйста!
Хочу выразить свою благодарность, за ваш труд, за все ваши видео. Даже не знаю сколько матчасти мне нужно было бы скурить, чтобы понять всё то, что вы так коротко и подробно объясняете. Желаю вам не оставлять это дело и дальше радовать нас новыми выпусками. Вы наверное первый человек на ютубе, кому я бы хотел пожертвовать, хотя бы копеечку.
Просто невероятное кол-во проделанной работы! Спасибо!
Респект таким ребятам, которые так доступно объясняют материал!
Поразительно насколько качественно вы умеете подавать информацию! Спасибо за такое подробное и доходчивое обучающие видео!
Насколько же качественно и стильно рассказано и даже показано! Даже на такую непопулярную тему, но очень важную и интересную тему! Огромное тебе спасибо!!!
Блин, ты крут )) серьёзно, твой контент и познавательный и легко воспринимается )) то что я учил про реальный режим месяц ты умудрился впихать в 1 час ! Красава !) Желаю процветания тебе и твоему каналу ))
Ты - огромный молодец!
Искреннее уважение к проделанной работе.
Какой же у тебя офигенный контент. Спасибо за работу !!!
комментарий для продвижения видоса) спасибо за такие крутые видео!)
Мне очень нравится, как текст ложится на фоновую музыку.
Кажется, ты делаешь это специально.
Это очень круто и правильно, потому что помогает «зацепиться» за повествование на подольше.
Круто! Так раскидать все - это талант. С нетерпением жду продолжения.
Да ,это сила. Жаль что 30 лет назад не было такого учителя. Очень ценная информация. Но на сегодняшний день, мало людей которых интересует, что внутри.
IoT?
Да, 30 лет назад было и сложнее, и проще. В те времена, если программировал, самая затертая кнопка у компьютера - это "Reset" :)
Для продвижения, спасибо за информативные уроки!
Спасибо за видео, отлично структурированная лекция получилась
Как же много интересного, однако. Один раз уже смотрел, вернулся и снова нахожу много любопытных деталей, да и просто смотреть твою подачу приятно. Спасибо^^
С нетерпением жду продолжения. Спасибо)
Спасибо вам! Успеха в продолжении выпусков по ассемблеру!
Алек, это лучшее что я видел по асму, правда. и именно от тебя очень жду как минимум второй части, нигде больше не могу адекватного материала найти, а читать в падлу, + у тебя очень хороший темп и понятная красивая графика. и да, по поводу темпа, хоть и пришлось пару раз пересматривать, это лучше чем слушать просто перечитывающих статьи на 2х, что все равно медленно. как минимум так приходится самому быстрее думать и осознавать, соответственно крепче запоминается. очень хочу углубиться в работу компонентов, всей этой подкорки, в общение с процом. надеюсь это хоть немного поможет с мотивацией для новой части + скорее всего мало кто будет об этом комменты писать, хотя ещё не читал их, а надо бы
Это просто офигенно! Очень хочу увидеть продолжение.
Можно пожалуйста продолжение? Очень классная идея, спасибо Вам.
Это не идея! Это реальность фундамента программирования!
Если кто то не понял, то в двух словах - учите ассемблер.
Я пока посмотрел только 3 минуты, но уже могу сказать, что работу по созданию ролика ты проделал просто шикарную. Однозначно лайк и репост нескольким друзьям!
Господи, спасибо тебе за проделанную работу. Умиляюсь, что нахожу человека на ютубе, который весь ком моих мыслей насчет обучения программированию, познания фундаментальщины, подтверждает их. Спасибо.
Автор, контент просто пушка!
Еще нигде не видел столь объемных, но крайне понятных гайдов по вещам, которые, к слову, реально желательно знать каждому, кто работает с кодом.
Не ожидал вас здесь увидеть
Очень и очень отличный видеоролик! Подача информации, легкая фоновая музыка, подход - все на отличном уровне! Об одном сожалею - что я не увидел этого видео лет 20 назад.
Огромное спасибо за такой качественный и интересный контент!
С нетерпением жду продолжение
Спасибо, качественно, грамотно, понятно, предоставлен материал. Спасибо за Ваш труд.
Спасибо за видео! Прекрасное оформление, редко такое бывает.
Отличная подача материала, все просто и понятно. Спасибо за проделанную работу, лучший!
Спасибо за видео! с нетерпением ожидаю продолжения!
после института писал на ассемблере под микроконтроллеры. было круто. каждая команда несла смысл, ниже которого ничего уже не было. Задачи решались не шибко серьезные, но целый год на асме.
в институте была лаба - когда программу прям в ноликах и единичках - устанавливая тумблерами (вкл/выкл) записывали в ОЗУ. адреса ячеек памяти возможно также тумблерами выставляли - но это не точно. После пошагово (нажимая на кнопку - следующий такт процессора), проверяли (прям как в дебаггере) работу программы - смотрели на светодиоды которые отображали значения/результат в двоичной(понятно) системе счисления. Правда не помню - толи регистры были выведены на светодиоды, толи еще что то.
Вот такие азы давали в институте. Понятно что программы были не сложные - за 45 минут тумблерами не так много команд можно записать в ОЗУ.
наконец-то, ждал такой подачи на ютубе не первый год, спасибо автор!
Впечатлён, это замечательный контент, однозначно лайк, подписка и ссылка всем знакомым причстным к теме.
Автор контента такого качества и содержания достоин всяческих успехов.
Автор достоен уважения, конспектирую каждое видео. С большим нетерпением жду некст видео, первый канал на котором я поставил колокольчик.
Это очень огромная работа, очень много инфо,классная подача, просто лучший. Продолжай в том же духе
Благодарю за такой труд! Объяснение красиво структурировано, лайк подписка))
Спасибо тебе огромное!
Захотел взять тему "написание ОС" как итоговый проект по информатике, свежего материала нигде нет и вдруг такое)
ты супер!)
Душа моя возрадовалась. Супер! Спасибо!
Очень большая проделанная работа! Моё уважение к вам автор!
Вот это материал! Вышка, огромная работа. Благодарю!
Всегда думал, что это нереализуемо)
Отличный контент и его подача:)
Крутяк! Начал учить С, понял что нужно и сразу заглядывать глубже. Видео супер качественное, спасибо)
Пришлось пересматривать несколько раз, но подача материала очень хорошая, очень помог в изучении ассемблера!
Очень крутой материал и подача! Спасибо) Желаю процветания твоему каналу!
Я считаю, изучать ассемблер наиболее эффективно с простых устройств. Например, ассемблер для 8-битных микроконтроллеров PIC содержит всего 35 команд. На такой мелочевке (PIC10F200, к примеру) даже на Си особо не развернешься, приходится экономить каждый байт и даже бит. Это тот же компьютер, но в максимально упрощенном виде. И чтобы писать под него на ассемблере, хочешь-не хочешь, а придется сначала изучить устройство микроконтроллера и булеву алгебру. Поняв принципы работы на ассемблере под такое простое устройство, потом проще вникать в работу на компьютере.
Просто лучшее видео, без лишних слов. Ждём вторую часть
А вот первый язык, который я изучил, это ассемблер. Далёкий 1986 год. Я купил приставку к телевизору. Восьмиразрядном... В комплекте был Ассемблер и Бейсик... Ассемблер мне показался поначалу проще...
Но вот на Ассемблер я написал может три, может четыре программки...
Но этот язык меня многому научил.
Язык простой, если ты знаешь как устроен компьютер...
чел, ты очень крут. если бы все обучающие видео были такого качества, люди хотели бы учиться)
Пожалуйста не останавливайся, продолжай данную тему, и подача, и монтаж на высоте, но отсюда и логично, что время и усилия для создания такого по качеству учебного материала, да ещё и бесплатно, ведёт к выгоранию, а мы очень хотим, чтобы видео продолжались, поэтому автор услышь пожалуйста, делай хорошо и не так затратно по твоим человеческим ресурсам, но ни в коем случае не останавливайся, ты практически мессия для русского ютуба
Огромное спасибо за такое подробное объяснение, это огромная работа , уважаю
Вот мы и увидели как всё на деле работает. Ждём второй выпуск! Однозначно подпишусь, а лайк уже стоит
Огромное спасибо. Очень интересно и подача отличная 🔥
Спасибо за такой контент. 👍
К сожалению на Ютубе очень мало видел в которых бы так глубоко разбирались хардкорные темы.
П.С было бы не плохо добавить в описание ссылки на документацию по соответствующим топикам 🙏
Я просто в шоке, какой ты крутой контент делаешь! Браво👏👏👏
Пожалуйста продолжай! У тебя круто получается. Объясняешь крайне понятно и очень интересно. Монтаж озвучка графика музыка - тоже на высоте!!! Спасибо!
Автор проделал ОГРОМНЕЙШИЙ объем работы! Качество подачи материала великолепное 👍