Архитектура ЭВМ Лекция 8: Assembly Language "Hello World". Основы отладки в GDB.

Видео посвящено больше чем первым шагам в программировании на языке ассемблера. Начиная с изучения структуры исполняемого файла, постепенно рассматривается как написание простой программы Hello World, так и детальное выполнение её с использованием отладчика GDB. Это позволяет отследить выполнение каждой инструкции и получить базовые знания использования отладчика. Лектор: Кирилл Кринкин
Другие полезные материалы: online.osll.ru/useful

Пікірлер: 87

  • @_Yar_
    @_Yar_2 жыл бұрын

    Супер лектор! Классная подача материала. Монтаж, звук, на высшем уровне. Спасибо!

  • @666fedr
    @666fedr2 жыл бұрын

    когда я был мелким, я пробовал разобраться в асме... n часов сидения в оллидебаг с разглядыванием того что происходит, с видом как баран на новые ворота... сколько ж лет прошло, и до меня таки дошло, что за eax, ebx и тд и ЗАЧЕМ же наконец они чем-то заполняются... да, за способ предоставления материала отдельный респект: видно и слышно все, что нужно.

  • @opencart-course7758
    @opencart-course77582 жыл бұрын

    Классный мужик! Блин почему не попадались такие преподы в свое время...

  • @FalconAtSamara
    @FalconAtSamara2 жыл бұрын

    Отличная лекция! С 98 года не писал на ассемблере, получил истинное наслаждение.

  • @DmitriyShuvalov

    @DmitriyShuvalov

    2 жыл бұрын

    Мля по сколько нам лет, кто трогал асм? 😜😁🙈🙈

  • @kirillholt2329

    @kirillholt2329

    2 жыл бұрын

    не писал с прошлого года и не очень скучаю, но х86 мб слишком душный мб раньше лучше были

  • @user-mp4gx2bt9r

    @user-mp4gx2bt9r

    2 жыл бұрын

    @@DmitriyShuvalov д

  • @user-yf7qw3yk4r
    @user-yf7qw3yk4r2 жыл бұрын

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

  • @viktoryakovenko757
    @viktoryakovenko7572 жыл бұрын

    это один из тех преподавателей которые заслуживают внимания. я вам говорю. слушайте его.

  • @8888UNIVERSE8888
    @8888UNIVERSE88882 жыл бұрын

    Молодец учитель =) Спасибо большое за видео!

  • @namefamily1504
    @namefamily15042 жыл бұрын

    Классная лекция, последний раз на ассемблере писал в 1993 году, потом перешел на С++ и расчетные модули коммерческих проектов )))) но приятно было послушать и вспомнить.

  • @gnu7087
    @gnu70872 жыл бұрын

    Неужели я этого дождался... ура!

  • @user-xu4bd8sr7v
    @user-xu4bd8sr7v2 жыл бұрын

    Большое спасибо.

  • @MCVanyusha
    @MCVanyusha2 жыл бұрын

    Отличный лектор!

  • @danilmerkurev6248
    @danilmerkurev6248 Жыл бұрын

    Отличная лекция! Захотелось поступить в этот ВУЗ

  • @Skif0007
    @Skif00072 жыл бұрын

    давайте больше этого мужика)

  • @MrVictomina
    @MrVictomina2 жыл бұрын

    Muito interessante essa aula..👏👏

  • @dimasutormin3403
    @dimasutormin34032 жыл бұрын

    Кайфанул! Давно я не писал на ассемблере

  • @cupertino1972
    @cupertino19722 жыл бұрын

    Блин, вспомнил далекие годы учебы 89-94е! Так и не освоил в полной мере ассемблер. Начал сразу программировать на Turbo C. Крайне редко использовал ассемблерные вставки в код, когда надо было ускорить работу с видеопамятью или работать с прерываниями.

  • @aleksbotler5358
    @aleksbotler53582 жыл бұрын

    Случайно попалась лекция, решил вспомнить детство. занятно. непривычный синтаксис ассемблера в плане порядка "источник -приемник ", привык сперва куда, потом откуда. И огорчает, что Интел осталась верна своим идиотским мне мнемоникам 🙂

  • @shelegshalomovich7222
    @shelegshalomovich72222 жыл бұрын

    случайно попал. отличная лекция, у нас таких не было, собственно поэтому к asm относился как к дисциплинам "сдал и забыл".

  • @user-tg6yo7io2y
    @user-tg6yo7io2y2 жыл бұрын

    Лайк за XOR EBX,EBX! 😀

  • @user-rz9mj8xn9x
    @user-rz9mj8xn9x2 жыл бұрын

    Сразу лайк

  • @pisuh3291
    @pisuh32912 жыл бұрын

    от такой лекций у деда аж шишка встала 🤣

  • @antondityatev2338
    @antondityatev23382 жыл бұрын

    - А метку ее неоткуда? - Отличный вопрос!

  • @onlyonestarwarsfan5337
    @onlyonestarwarsfan53372 жыл бұрын

    Assembly Language. The “Assembler” is the compiler. When you write C code, do you say that you program in gcc, or clang? No, you say C.

  • @viacheslav1392

    @viacheslav1392

    2 жыл бұрын

    Wow, you are so smart

  • @industrialsoftwareengineering

    @industrialsoftwareengineering

    2 жыл бұрын

    Thank you!

  • @maxmuster7003

    @maxmuster7003

    2 жыл бұрын

    The assembler is not a compiler.

  • @user-yf7qw3yk4r

    @user-yf7qw3yk4r

    2 жыл бұрын

    @@maxmuster7003 Bild programm in code, я достаточно понятен?? ))

  • @depressivepumpkin7312
    @depressivepumpkin73122 жыл бұрын

    увидеть на Qemu было бы очень интересно

  • @3x__
    @3x__2 жыл бұрын

    👍

  • @user-li4bc9hr1s
    @user-li4bc9hr1s2 жыл бұрын

    В синктаксисе ассемблера Интел запись наоборот потому что там математическая запись , то есть x=5 а не 5=х

  • @ignatloskutov2792
    @ignatloskutov27922 жыл бұрын

    А может кто-нибудь подсказать, кто такие эти «другие архитектуры», к которым AT&T-синтаксис готовит студента лучше, чем интеловский? Например, на aarch64 вроде инструкции выглядят в духе «mov x0, #1» и «ldr x1, [x2]», что явно больше похоже на Intel-синтаксис, чем на AT&T (destination-операнд первый, во всяком случае, а регистры именуются без дополнительных префиксов). RISC-V: в инструкциях вроде «ADD x3, x2, x1» за destination тоже отвечает первый операнд. Для косвенных обращений там синтаксис, впрочем, проклятый (аналогичный AT&T), но в целом не выглядит чтобы AT&T-синтаксис как-то заметно легче переносился на другие архитектуры.

  • @badcat2922
    @badcat29222 жыл бұрын

    Двадцать лет назад нам препод пояснил, что это седая древность. Чувствовал себя археологом, копаясь в этом. Сейчас это перешло в разряд античности.

  • @rhdrhe6241
    @rhdrhe6241 Жыл бұрын

    кто разбирается в ассемблере подскажите в стек первым аргументом оправляется то что с право 3 ? а это тому подтверждение ,прототип аргументов потому что это созданная процедура в момент написания кода AddDigs proto arg1 :DWORD ,arg2 :DWORD ассемблер всегда оправляет первым в стек правый аргумент? в плане этой версии ассемблера

  • @faustnata4999
    @faustnata4999 Жыл бұрын

    На регистрах общего назначения не было сказано к какой памяти они относятся это очень важно упомянуть в начале потому что некоторые не поймут

  • @vovan_ivanoff
    @vovan_ivanoff2 жыл бұрын

    Лекция классная. Правда? Правда:)

  • @industrialsoftwareengineering

    @industrialsoftwareengineering

    2 жыл бұрын

    Спасибо!

  • @sergeyelbakyan833
    @sergeyelbakyan833 Жыл бұрын

    Интересная лекция, но я не понял момент с system call int, есть у кого-нибудь материалы которые обещали расшарить на 21:05 ? Поделитесь, пожалуйста, ссылкой

  • @rhdrhe6241
    @rhdrhe6241 Жыл бұрын

    подскажите что считается заголовком процедуры и прототипом ? вот примеры AddDigs proto :DWORD :DWORD invoke AddDigs ,2 ,3 AddDigs proto arg1 :DWORD ,arg2 :DWORD

  • @D0sart
    @D0sart2 жыл бұрын

    Спасибо. Будет ли продолжение?

  • @industrialsoftwareengineering

    @industrialsoftwareengineering

    2 жыл бұрын

    Здравствуйте! Да, в ближайшее время выложим последние 3 лекции.

  • @rhdrhe6241
    @rhdrhe6241 Жыл бұрын

    подскажите на сколько хорош компилятор Myasm по мне так он хорош по стеку? может кто больше с ним работал?

  • @user-sl4th2pu1z
    @user-sl4th2pu1z2 жыл бұрын

    супер понятно, asm крута!

  • @sergeyelbakyan833
    @sergeyelbakyan833 Жыл бұрын

    А зачем нужна строки: mov $1, %ebx xor %ebx, %ebx Я не сог себе объяснить, убрал их и все работает как прежде. Кто-нибудь может объяснить? Спасибо)

  • @__-nc3ct
    @__-nc3ct2 жыл бұрын

    Ничего не понятно, но очень интересно ))

  • @imefamilno940
    @imefamilno9402 жыл бұрын

    Последний раз на ассемблере на процессоре 6502 в 1986 г.

  • @hryapacow420
    @hryapacow4202 жыл бұрын

    Как в конце 80х освоил ASM, тогда еще на zx spectrum на процессоре Z80, так до сих пор тока на асме и пишу если чего надо. Другие языки просто лень учить даже.

  • @ruslan...gryobaniy-youtube

    @ruslan...gryobaniy-youtube

    2 жыл бұрын

    Как я тебя понимаю!.. Я шёл по асму тоже через Z80 (а до этого программил ещё на МК52, что тоже весело). Потом пощупал x86, а теперь потихоньку использую эти знания для программирования AVR (пытаюсь строить железки для бытовых потребностей). Какой нах Си, когда работаешь с железом напрямую! Да, сложнее; да, нужно больше знать, но это же кайф контролировать каждый бит!

  • @antondityatev2338

    @antondityatev2338

    2 жыл бұрын

    @@ruslan...gryobaniy-youtube Try FPGA! Для бытовых и не только нужд.

  • @dazzershell

    @dazzershell

    2 жыл бұрын

    @@ruslan...gryobaniy-youtube когда-то решил копнуть stm32 и его Cortex поглубже, почитал какой он навороченный, и всё желание пропало. Забавно, когда вместо чёткой очерёдности инструкций у вас работает целый конвейер, где команды и данные на выполнение идут как-бы независимо, на ветвлениях параллельно выполняются обе ветки кода, и ход программы выбирается по результату операции. Отец его ковырял, дали задачу дизассемблировать прошивку, полгода жизни он туда закопал, что-то удалось, но не всё, и денег за работу ему не дали. А это был довольно простой cortex-m3, у топовых набор команд раза в 4 больше.

  • @ruslan...gryobaniy-youtube

    @ruslan...gryobaniy-youtube

    2 жыл бұрын

    @@dazzershell Грустная история... Наверное именно поэтому я не полез на STM. AVR в этом плане гораздо интереснее. Хотя бы потому, что он попроще и, соответственно, понятнее. Все навороты со встроенными в железо интерфейсы я не использую, пишу свои обработчики и получаю от этого определённый кайф, так как приходится разбираться со всеми таймаутами протоколов. Да, это гимор ещё тот, но когда получается, то испытываешь очень приятное чувство. Если хочешь познакомиться с AVR, то рекомендую почитать книгу (электронную, конечно) "AVR Учебный курс" от Di Halt. Написано с юмором, иногда с матерком и, главное, понятно и по делу, без воды. У меня это настольная (точнее: рабочестольная) книга.

  • @user-jm4nh7um9b
    @user-jm4nh7um9b2 жыл бұрын

    не думал что это изучают ещё ...

  • @DicCurHic
    @DicCurHic2 жыл бұрын

    0:14 надо было разжевать код для загрузки с накопителя (вместо ос) для bios и uefi

  • @aleksbotler5358
    @aleksbotler53582 жыл бұрын

    А есть ли какой-то смысл в настоящее время изучать программирование на ассемблере?

  • @JimDi87

    @JimDi87

    2 жыл бұрын

    конечно, но это далеко не всем нужно

  • @quadroninja2708

    @quadroninja2708

    2 жыл бұрын

    Это весело

  • @user-kr2ff3xr3h

    @user-kr2ff3xr3h

    2 жыл бұрын

    он самый простой для изучения. возможно для кого-то уже в этом смысл

  • @alexfischer7554
    @alexfischer75542 жыл бұрын

    Американцы на ascii говорят АСК дабл и

  • @ignatloskutov2792
    @ignatloskutov27922 жыл бұрын

    А с пятёркой проблема, конечно, в том, что передавать её адрес пытались, а надо было значение.

  • @criterrors
    @criterrors Жыл бұрын

    Интеловский синтаксис, конечно, куда более интересный

  • @gnu7087
    @gnu70872 жыл бұрын

    Начиная с 21:50 стало непонятно, что происходит (я знаю си более-менее)

  • @gnu7087

    @gnu7087

    2 жыл бұрын

    Уточню - предыдущие видео на этом канале не смотрел. Смотрел на другом, где Кирилл про ОС объяснял. В общем, попробую предыдущие видео посмотреть сначала.

  • @VirtuousSaint

    @VirtuousSaint

    2 жыл бұрын

    если вы про XOR, то это операция "исключающее "или"", которая обнуляет все биты в определенных обстоятельствах. например, когда оба операнда хранят одно и то же значение. таким образом, если надо куда-то записать значение 0, чтобы константу не создавать, проще область памяти обнулить посредством вызова XOR на нужную область (на видео - регистр ebx).

  • @jiejiexia7561
    @jiejiexia75612 жыл бұрын

    右边终端是怎么实现事实追踪的。

  • @lumed2189
    @lumed21892 жыл бұрын

    subtitles in spanish......!

  • @user-wj1bx5mv3i
    @user-wj1bx5mv3i2 жыл бұрын

    Препод ассемблер вообще знает? :)

  • @DykyKryl
    @DykyKryl2 жыл бұрын

    Школа Хогвартса какая то - immoanimus - immostillium

  • @VladVons
    @VladVons2 жыл бұрын

    CALL пишется с двумя L

  • @user-vo5gw1cg7f
    @user-vo5gw1cg7f2 жыл бұрын

    Даже я гуманитарий, немного понял. 🤪

  • @Qweqwe-ev1ft
    @Qweqwe-ev1ft2 жыл бұрын

    если честно где тут архитектура?

  • @user-zy7ug4sl6z
    @user-zy7ug4sl6z2 жыл бұрын

    535

  • @y7o4ka
    @y7o4ka2 жыл бұрын

    Эти субтитры...

  • @MAGNet1911
    @MAGNet19112 жыл бұрын

    53:09 - а почему я не мог положить просто из памяти в память? а действительно, почему нет? 🙂 012727 mov (PC)+,(PC)+ 😁

  • @faustnata4999
    @faustnata4999 Жыл бұрын

    Ну не ОС, а интерпретатор, ну или хотя бы "командная оболочка")

  • @lordastronaut5614
    @lordastronaut56142 жыл бұрын

    А я вообще деревянный не изучал ни одного языка, почему это появилось в предложке?))

  • @badcat2922

    @badcat2922

    2 жыл бұрын

    Настало время разобраться в этом фарше. Это судьба.

  • @alekseybehalov5540
    @alekseybehalov55402 жыл бұрын

    Древний Дядя vim i386 at&t

  • @MasterShuShuShu
    @MasterShuShuShu2 жыл бұрын

    Отличная лекция, но использование мейк файлов не для крестов - плохая практика. Мне один питонист в контейнер принес 500 мегабайт зависимостей просто потому, что запускал питон скрипты мейк файлом. Чем оно лучше того же sh со switch внутри мне за 20 лет никто так и не смог объяснить.

  • @user-wj1bx5mv3i
    @user-wj1bx5mv3i2 жыл бұрын

    К сожалению, этому преподавателю самому бы надо сначала подучиться.

  • @greg0r091
    @greg0r0912 жыл бұрын

    Очень странная лекция. Куча стилистических и фактических ошибок ещё до 10 минуты. Из простого - нет экзешников под линукс, PE32 это формат исполняемого файла по Windows, на линухе эльфы. Intel синтаксис сейчас можно много где использовать, просто компилятору надо на одну опцию больше передать... Иногда легче почитать столярова/зубкова, там классика вычитанная десятилетиями

  • @maxmuster7003

    @maxmuster7003

    2 жыл бұрын

    Batch files and com files are executable too.

  • @user-kr2ff3xr3h

    @user-kr2ff3xr3h

    2 жыл бұрын

    да. экзешники не потому что расширение exe, а потому что executable

Келесі