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

  Рет қаралды 77,687

Industrial Software Engineering Online

Industrial Software Engineering Online

Күн бұрын

Пікірлер
@FalconAtSamara
@FalconAtSamara 2 жыл бұрын
Отличная лекция! С 98 года не писал на ассемблере, получил истинное наслаждение.
@DmitriyShuvalov
@DmitriyShuvalov 2 жыл бұрын
Мля по сколько нам лет, кто трогал асм? 😜😁🙈🙈
@kirillholt2329
@kirillholt2329 2 жыл бұрын
не писал с прошлого года и не очень скучаю, но х86 мб слишком душный мб раньше лучше были
@НикитаТеленков-й1ф
@НикитаТеленков-й1ф 2 жыл бұрын
@@DmitriyShuvalov д
@_Yar_
@_Yar_ 2 жыл бұрын
Супер лектор! Классная подача материала. Монтаж, звук, на высшем уровне. Спасибо!
@viktoryakovenko757
@viktoryakovenko757 2 жыл бұрын
это один из тех преподавателей которые заслуживают внимания. я вам говорю. слушайте его.
@opencart-course7758
@opencart-course7758 2 жыл бұрын
Классный мужик! Блин почему не попадались такие преподы в свое время...
@Андрей-ш1т9г
@Андрей-ш1т9г 2 жыл бұрын
Это очень важно, такие штуки не потерять. С них начинается все: ОС, языки, ваши сети нейронов и прочее. Я рад, что еще есть молодые люди, которым эту базу дают.
@666fedr
@666fedr 2 жыл бұрын
когда я был мелким, я пробовал разобраться в асме... n часов сидения в оллидебаг с разглядыванием того что происходит, с видом как баран на новые ворота... сколько ж лет прошло, и до меня таки дошло, что за eax, ebx и тд и ЗАЧЕМ же наконец они чем-то заполняются... да, за способ предоставления материала отдельный респект: видно и слышно все, что нужно.
@danilmerkurev6248
@danilmerkurev6248 2 жыл бұрын
Отличная лекция! Захотелось поступить в этот ВУЗ
@namefamily1504
@namefamily1504 2 жыл бұрын
Классная лекция, последний раз на ассемблере писал в 1993 году, потом перешел на С++ и расчетные модули коммерческих проектов )))) но приятно было послушать и вспомнить.
@gnu7087
@gnu7087 2 жыл бұрын
Неужели я этого дождался... ура!
@aleksbotler5358
@aleksbotler5358 2 жыл бұрын
Случайно попалась лекция, решил вспомнить детство. занятно. непривычный синтаксис ассемблера в плане порядка "источник -приемник ", привык сперва куда, потом откуда. И огорчает, что Интел осталась верна своим идиотским мне мнемоникам 🙂
@MCVanyusha
@MCVanyusha 2 жыл бұрын
Отличный лектор!
@8888UNIVERSE8888
@8888UNIVERSE8888 2 жыл бұрын
Молодец учитель =) Спасибо большое за видео!
@shelegshalomovich7222
@shelegshalomovich7222 2 жыл бұрын
случайно попал. отличная лекция, у нас таких не было, собственно поэтому к asm относился как к дисциплинам "сдал и забыл".
@dimasutormin3403
@dimasutormin3403 2 жыл бұрын
Кайфанул! Давно я не писал на ассемблере
@Skif0007
@Skif0007 2 жыл бұрын
давайте больше этого мужика)
@СергейМоскалёв-с3ь
@СергейМоскалёв-с3ь 2 жыл бұрын
Лайк за XOR EBX,EBX! 😀
@ВежливыйЧеловек-я8ц
@ВежливыйЧеловек-я8ц 2 жыл бұрын
Большое спасибо.
@antondityatev2338
@antondityatev2338 2 жыл бұрын
- А метку ее неоткуда? - Отличный вопрос!
@onlyonestarwarsfan5337
@onlyonestarwarsfan5337 2 жыл бұрын
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.
@Андрей-ш1т9г
@Андрей-ш1т9г 2 жыл бұрын
@@maxmuster7003 Bild programm in code, я достаточно понятен?? ))
@badcat2922
@badcat2922 2 жыл бұрын
Двадцать лет назад нам препод пояснил, что это седая древность. Чувствовал себя археологом, копаясь в этом. Сейчас это перешло в разряд античности.
@Vaso-p1f
@Vaso-p1f 5 ай бұрын
I love USA technology.
@vovan_ivanoff
@vovan_ivanoff 2 жыл бұрын
Лекция классная. Правда? Правда:)
@industrialsoftwareengineering
@industrialsoftwareengineering 2 жыл бұрын
Спасибо!
@pisuh3291
@pisuh3291 2 жыл бұрын
от такой лекций у деда аж шишка встала 🤣
@BneiElohim
@BneiElohim 2 жыл бұрын
Muito interessante essa aula..👏👏
@rhdrhe6241
@rhdrhe6241 2 жыл бұрын
кто разбирается в ассемблере подскажите в стек первым аргументом оправляется то что с право 3 ? а это тому подтверждение ,прототип аргументов потому что это созданная процедура в момент написания кода AddDigs proto arg1 :DWORD ,arg2 :DWORD ассемблер всегда оправляет первым в стек правый аргумент? в плане этой версии ассемблера
@depressivepumpkin7312
@depressivepumpkin7312 2 жыл бұрын
увидеть на Qemu было бы очень интересно
@MathInfo-ye1gf
@MathInfo-ye1gf 3 ай бұрын
И еще один момент, по факту у переменной asci 9 символов, инструкцией length он поменял значение, не возникнет конфликт или данные не досчиьаються ?
@rhdrhe6241
@rhdrhe6241 2 жыл бұрын
подскажите что считается заголовком процедуры и прототипом ? вот примеры AddDigs proto :DWORD :DWORD invoke AddDigs ,2 ,3 AddDigs proto arg1 :DWORD ,arg2 :DWORD
@rhdrhe6241
@rhdrhe6241 2 жыл бұрын
подскажите на сколько хорош компилятор Myasm по мне так он хорош по стеку? может кто больше с ним работал?
@АртемСтепкович
@АртемСтепкович 2 жыл бұрын
Сразу лайк
@imefamilno940
@imefamilno940 2 жыл бұрын
Последний раз на ассемблере на процессоре 6502 в 1986 г.
@D0sart
@D0sart 2 жыл бұрын
Спасибо. Будет ли продолжение?
@industrialsoftwareengineering
@industrialsoftwareengineering 2 жыл бұрын
Здравствуйте! Да, в ближайшее время выложим последние 3 лекции.
@ignatloskutov2792
@ignatloskutov2792 2 жыл бұрын
А может кто-нибудь подсказать, кто такие эти «другие архитектуры», к которым AT&T-синтаксис готовит студента лучше, чем интеловский? Например, на aarch64 вроде инструкции выглядят в духе «mov x0, #1» и «ldr x1, [x2]», что явно больше похоже на Intel-синтаксис, чем на AT&T (destination-операнд первый, во всяком случае, а регистры именуются без дополнительных префиксов). RISC-V: в инструкциях вроде «ADD x3, x2, x1» за destination тоже отвечает первый операнд. Для косвенных обращений там синтаксис, впрочем, проклятый (аналогичный AT&T), но в целом не выглядит чтобы AT&T-синтаксис как-то заметно легче переносился на другие архитектуры.
@MathInfo-ye1gf
@MathInfo-ye1gf 3 ай бұрын
Как так получилось что exit(c)=1 и stdout=1 если зарезервировано, что exit=1 , то как может быть stdout=1 ?
@Georgiy2803
@Georgiy2803 2 жыл бұрын
Ничего не понятно, но очень интересно ))
@criterrors
@criterrors Жыл бұрын
Интеловский синтаксис, конечно, куда более интересный
@ВиталийФ-ч4г
@ВиталийФ-ч4г 2 жыл бұрын
не думал что это изучают ещё ...
@sergeyelbakyan833
@sergeyelbakyan833 Жыл бұрын
Интересная лекция, но я не понял момент с system call int, есть у кого-нибудь материалы которые обещали расшарить на 21:05 ? Поделитесь, пожалуйста, ссылкой
@MathInfo-ye1gf
@MathInfo-ye1gf 3 ай бұрын
Лектор на протяжении всего курса упоминал слово gdb, в итоге когда на текущей лекции спросили у студентов "что такое gdb" никто не ответил. Что за студенты такие, которые если что то не понятно боятся спросить!!
@pogchamper228
@pogchamper228 2 жыл бұрын
супер понятно, asm крута!
@sergeyelbakyan833
@sergeyelbakyan833 Жыл бұрын
А зачем нужна строки: mov $1, %ebx xor %ebx, %ebx Я не сог себе объяснить, убрал их и все работает как прежде. Кто-нибудь может объяснить? Спасибо)
@faustnata4999
@faustnata4999 Жыл бұрын
На регистрах общего назначения не было сказано к какой памяти они относятся это очень важно упомянуть в начале потому что некоторые не поймут
@MathInfo-ye1gf
@MathInfo-ye1gf 3 ай бұрын
Привет друг, объясни пожалуйста, я не понял 1) отрезок на 13:49, точка - msg , текущий адрес минус адрем msg. Адрес msg, понятно это в потенциале какой у него будет, а вот что имеется ввиду под текущим ? Адрес самой программы или начало .data , я не разобрал . 2) как понять xor ebx ebx - это типа замкнутый цикл, он постоянно будет сам в себя что то ложить. 3) int понятно - это программное прерывание, а вот аргумент xo86 что это? Это типа что именно нужно сделать и за ней инструкция скрываеться ?
@Петр-ы6ъ4ж
@Петр-ы6ъ4ж 2 жыл бұрын
В синктаксисе ассемблера Интел запись наоборот потому что там математическая запись , то есть x=5 а не 5=х
@MathInfo-ye1gf
@MathInfo-ye1gf 3 ай бұрын
Объясните пожалуйста, я не понял отрезок на 13:49, точка - msg , текущий адрес минус адрем msg. Адрес msg, понятно это в потенциале какой у него будет, а вот что имеется ввиду под текущим ? Адрес самой программы или начало .data , я не разобрал .
@3x__
@3x__ 2 жыл бұрын
👍
@hryapacow420
@hryapacow420 2 жыл бұрын
Как в конце 80х освоил ASM, тогда еще на zx spectrum на процессоре Z80, так до сих пор тока на асме и пишу если чего надо. Другие языки просто лень учить даже.
@Abs_Dolts
@Abs_Dolts 2 жыл бұрын
Как я тебя понимаю!.. Я шёл по асму тоже через Z80 (а до этого программил ещё на МК52, что тоже весело). Потом пощупал x86, а теперь потихоньку использую эти знания для программирования AVR (пытаюсь строить железки для бытовых потребностей). Какой нах Си, когда работаешь с железом напрямую! Да, сложнее; да, нужно больше знать, но это же кайф контролировать каждый бит!
@antondityatev2338
@antondityatev2338 2 жыл бұрын
@@Abs_Dolts Try FPGA! Для бытовых и не только нужд.
@dazzershell
@dazzershell 2 жыл бұрын
@@Abs_Dolts когда-то решил копнуть stm32 и его Cortex поглубже, почитал какой он навороченный, и всё желание пропало. Забавно, когда вместо чёткой очерёдности инструкций у вас работает целый конвейер, где команды и данные на выполнение идут как-бы независимо, на ветвлениях параллельно выполняются обе ветки кода, и ход программы выбирается по результату операции. Отец его ковырял, дали задачу дизассемблировать прошивку, полгода жизни он туда закопал, что-то удалось, но не всё, и денег за работу ему не дали. А это был довольно простой cortex-m3, у топовых набор команд раза в 4 больше.
@Abs_Dolts
@Abs_Dolts 2 жыл бұрын
@@dazzershell Грустная история... Наверное именно поэтому я не полез на STM. AVR в этом плане гораздо интереснее. Хотя бы потому, что он попроще и, соответственно, понятнее. Все навороты со встроенными в железо интерфейсы я не использую, пишу свои обработчики и получаю от этого определённый кайф, так как приходится разбираться со всеми таймаутами протоколов. Да, это гимор ещё тот, но когда получается, то испытываешь очень приятное чувство. Если хочешь познакомиться с AVR, то рекомендую почитать книгу (электронную, конечно) "AVR Учебный курс" от Di Halt. Написано с юмором, иногда с матерком и, главное, понятно и по делу, без воды. У меня это настольная (точнее: рабочестольная) книга.
@DicCurHic
@DicCurHic 2 жыл бұрын
0:14 надо было разжевать код для загрузки с накопителя (вместо ос) для bios и uefi
@alexfischer7554
@alexfischer7554 2 жыл бұрын
Американцы на ascii говорят АСК дабл и
@ignatloskutov2792
@ignatloskutov2792 2 жыл бұрын
А с пятёркой проблема, конечно, в том, что передавать её адрес пытались, а надо было значение.
@MathInfo-ye1gf
@MathInfo-ye1gf 3 ай бұрын
И почему такой кусок кода, ее вообще нет, занимает 760 байт , это ?как
@jiejiexia7561
@jiejiexia7561 2 жыл бұрын
右边终端是怎么实现事实追踪的。
@DykyKryl
@DykyKryl 2 жыл бұрын
Школа Хогвартса какая то - immoanimus - immostillium
@MAGNet1911
@MAGNet1911 2 жыл бұрын
53:09 - а почему я не мог положить просто из памяти в память? а действительно, почему нет? 🙂 012727 mov (PC)+,(PC)+ 😁
@aleksbotler5358
@aleksbotler5358 2 жыл бұрын
А есть ли какой-то смысл в настоящее время изучать программирование на ассемблере?
@JimDi87
@JimDi87 2 жыл бұрын
конечно, но это далеко не всем нужно
@quadroninja2708
@quadroninja2708 2 жыл бұрын
Это весело
@Лжеученый_Юра
@Лжеученый_Юра 2 жыл бұрын
он самый простой для изучения. возможно для кого-то уже в этом смысл
@gnu7087
@gnu7087 2 жыл бұрын
Начиная с 21:50 стало непонятно, что происходит (я знаю си более-менее)
@gnu7087
@gnu7087 2 жыл бұрын
Уточню - предыдущие видео на этом канале не смотрел. Смотрел на другом, где Кирилл про ОС объяснял. В общем, попробую предыдущие видео посмотреть сначала.
@VirtuousSaint
@VirtuousSaint 2 жыл бұрын
если вы про XOR, то это операция "исключающее "или"", которая обнуляет все биты в определенных обстоятельствах. например, когда оба операнда хранят одно и то же значение. таким образом, если надо куда-то записать значение 0, чтобы константу не создавать, проще область памяти обнулить посредством вызова XOR на нужную область (на видео - регистр ebx).
@faustnata4999
@faustnata4999 Жыл бұрын
Ну не ОС, а интерпретатор, ну или хотя бы "командная оболочка")
@Юрий-и5з4л
@Юрий-и5з4л 2 жыл бұрын
Препод ассемблер вообще знает? :)
@lumed2189
@lumed2189 2 жыл бұрын
subtitles in spanish......!
@АккаКнебекайзе-й9з
@АккаКнебекайзе-й9з 2 жыл бұрын
Даже я гуманитарий, немного понял. 🤪
@VladVons
@VladVons 2 жыл бұрын
CALL пишется с двумя L
@lordastronaut5614
@lordastronaut5614 2 жыл бұрын
А я вообще деревянный не изучал ни одного языка, почему это появилось в предложке?))
@badcat2922
@badcat2922 2 жыл бұрын
Настало время разобраться в этом фарше. Это судьба.
@y7o4ka
@y7o4ka 2 жыл бұрын
Эти субтитры...
@Qweqwe-ev1ft
@Qweqwe-ev1ft 2 жыл бұрын
если честно где тут архитектура?
@Михазагрздин
@Михазагрздин 2 жыл бұрын
535
@MasterShuShuShu
@MasterShuShuShu 2 жыл бұрын
Отличная лекция, но использование мейк файлов не для крестов - плохая практика. Мне один питонист в контейнер принес 500 мегабайт зависимостей просто потому, что запускал питон скрипты мейк файлом. Чем оно лучше того же sh со switch внутри мне за 20 лет никто так и не смог объяснить.
@Юрий-и5з4л
@Юрий-и5з4л 2 жыл бұрын
К сожалению, этому преподавателю самому бы надо сначала подучиться.
@alekseybehalov5540
@alekseybehalov5540 2 жыл бұрын
Древний Дядя vim i386 at&t
@greg0r091
@greg0r091 2 жыл бұрын
Очень странная лекция. Куча стилистических и фактических ошибок ещё до 10 минуты. Из простого - нет экзешников под линукс, PE32 это формат исполняемого файла по Windows, на линухе эльфы. Intel синтаксис сейчас можно много где использовать, просто компилятору надо на одну опцию больше передать... Иногда легче почитать столярова/зубкова, там классика вычитанная десятилетиями
@maxmuster7003
@maxmuster7003 2 жыл бұрын
Batch files and com files are executable too.
@Лжеученый_Юра
@Лжеученый_Юра 2 жыл бұрын
да. экзешники не потому что расширение exe, а потому что executable
Основы функционирования компьютерных сетей
1:57:04
Industrial Software Engineering Online
Рет қаралды 539 М.
Обязательный минимум для начинающего программиста 1С стажера
17:28
Алексей Иванов 1С программист
Рет қаралды 1,5 М.
«Осень». Самая большая загадка Windows XP
14:36
Девять десятых
Рет қаралды 1,2 МЛН
Как Linux рисует окна?
48:46
Студенческие клубы разработки КНиИТ СГУ
Рет қаралды 58 М.
Архитектура ЭВМ. Лекция 0:  Предварительные сведения
58:49
Industrial Software Engineering Online
Рет қаралды 176 М.
ЯЗЫК АССЕМБЛЕРА С НУЛЯ | #1 НАЧАЛО
54:43
Практика программирования на Python 3, лекция №1
1:21:58
Тимофей Хирьянов
Рет қаралды 876 М.