Ассемблер

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ก.พ. 2015
  • Перед тем, как посмотреть видео, прочитайте, пожалуйста, следующие утверждения о программировании на ассемблере, которые для тех, кто имеет опыт, покажутся банальными, а для тех кто его не имеет, могут дать правильный взгляд на программирование на этом языке.
    1. Ассемблер - язык, максимально приближенный к системе команд конкретного процессора.
    2. На языках высокого уровня данные хранятся преимущественно в переменных, имена которым придумывает программист, а на ассемблере данные хранятся в регистрах, имена которым придумывает разработчик процессора. Поэтому, программируя конкретный процессор, мы имеем фиксированный набор имен регистров.
    3. В различных процессорах различное число регистров, и у них разные имена, которые описаны в технической документации на процессор.
    4. Вместо присваивания в ассемблере используется копирование данных (пересылка в регистр), то есть, например, для записи числа в регистр, в разных ассемблерах используются команды mov (от "move" - переместить) или ld (от "load" - загрузить).
    Книги по ассемблеру для начинающих:
    - В.Н. Пильшиков "Программирование на языке ассемблера IBM PC" 1994
    - С.В. Зубков Assembler для DOS, Windows, и Unix

ความคิดเห็น • 25

  • @hro688
    @hro688 6 ปีที่แล้ว +4

    Я бы так же позеленел после записи целого курса в студии.

  • @rayrau
    @rayrau 6 ปีที่แล้ว

    Наконец операции разобраны до самого низа!

  • @Shad0w64bit
    @Shad0w64bit 9 ปีที่แล้ว +1

    Объяснено и показано хорошо!
    На мой взгляд Intel синтаксис предпочтительнее в образовательных целях чем синтаксис AT&T. Он является более чистым (отсутсвие префиксов), благодаря чему код выглядит элегантно и понятно.
    И еще маленькое замечание:
    "C=C+A" (ц равно ц плюс а)
    В этом случае слово "присвоить" является более верным. Так как C != C+A (Только если A=0).
    Все таки объясняется чаще всего студентам которым всегда понятно не всё. Чем проще подано, тем проще им понять и осознать что от них хотят.

  • @sergshutk2757
    @sergshutk2757 ปีที่แล้ว

    нового ни чего, но новичкам думаю понятно будет.

  • @user-rc1wq8ud9f
    @user-rc1wq8ud9f 3 ปีที่แล้ว +1

    препод супер

  • @user-gb6wj6fn9x
    @user-gb6wj6fn9x 4 ปีที่แล้ว

    Надо бы про представление данных в
    формате Интел и Моторолла....

  • @sykaax
    @sykaax 6 ปีที่แล้ว +3

    мужик так привык писать на доске, что даже тут непечатает а рисует буквы =)

    • @user-gq2wv3br8k
      @user-gq2wv3br8k 3 ปีที่แล้ว +1

      потому, что кроме рисовать, больше ни чего не умеет

  • @vedyn7777
    @vedyn7777 9 ปีที่แล้ว

    И еще как найти делители натурального числа N

  • @vedyn7777
    @vedyn7777 9 ปีที่แล้ว +1

    Про массивы нет нифига ни-где!!!массивы разберите пжл.

    • @MonahTuk
      @MonahTuk 8 ปีที่แล้ว

      +vedyn7777 а что не так с массивами? просто кусок, именованный блок памяти с известной длинной и известным стартовым адресом. создавайте при помощи db/dw/etc и dup, по необходимости. Это со статикой, с динамикой: или пишите свой аллокатор или зовите _malloc: тот же адрес, тот же известный размер. Да и образаться просто: mas[ecx * 4]. Хотя, судя по всему вы ещё и не сильно пристально искали: archkomp.narod.ru/lab08.htm, ru.stackoverflow.com/questions/52399/%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2-%D0%B2-%D0%B0%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80%D0%B5,

  • @0day694
    @0day694 5 ปีที่แล้ว

    Аватар!

  • @Лжеученый_Юра
    @Лжеученый_Юра 3 ปีที่แล้ว

    вместо четырех миллиардов сложений можно обойтись тридцатью двумя сдвигами и сложениями. Двоичное умножение в столбик

  • @hekto_pyc9998
    @hekto_pyc9998 5 ปีที่แล้ว

    Пишу на ассемблере для avr контроллеров, ни как не решусь под интел процессоры, страшно за мозг)

    • @KirillKrinkin
      @KirillKrinkin 5 ปีที่แล้ว

      На уровне основных команд x86, страшно быть не должно, можете смело браться.... а если решитесь на расширения, то пожалуй, стоит набраться упорства

    • @hekto_pyc9998
      @hekto_pyc9998 5 ปีที่แล้ว

      @@KirillKrinkin было бы проще если бы примеры были. Например как создать диалоговое окно, не готовое а самому. Виден результат и понимание само приходит. Я больше литературу искал чем учился. Как я понял ассемблер невозможно выучить, его нужно понять) А щас с плис контроллерами знакомлюсь, там и языки свои, пока выбираю, может интел уже и не нужен будет, зачем время терять) Спасибо за ваши лекции)

    • @KirillKrinkin
      @KirillKrinkin 5 ปีที่แล้ว +1

      @@hekto_pyc9998 Я думаю, что создание диалогового окна на ассемблере с нуля, без использования каких-то готовых библиотек, дело немного неблагодарное. К каждой задаче подходит свой инструмент. Диалоговые окна на ассемблере -- оверкилл, а вот оптимизация чего-то под конкретную аппаратную платформу или программа для контроллера с минимальным размером памяти -- самое то.

    • @hekto_pyc9998
      @hekto_pyc9998 5 ปีที่แล้ว +2

      @@KirillKrinkin про диалоговое окно это как пример был. 4г назад я не знал о разнице между переменным и постоянным током, компа ни когда не было и уж тем более как им пользоваться. В 8кл бросил школу пошёл работать. 4г бессонных ночей, меня научили одной вещи, надо понять принцип, как это работает и где это применить, так легче учится. Освоил электротехнику, логику, контроллеры, научился паять, изучил с++ потом ассемблер. Но этого не произошло бы если не знаеш зачем это и где применить. Так и ассемблер для интел. Желание было создать программу подобную автокаду, или протеус. Но так и не осуществил мечту так как нет конкретной литературы или лекций чтоб не по принципу чёрного ящика, с нуля. Потом и библиотеками проще пользоваться. Если плис я знаю где буду применять, то мне проще их изучить, чем ассемблер который не знаю где я его применю. Вот я о чем)

    • @user-gb6wj6fn9x
      @user-gb6wj6fn9x 4 ปีที่แล้ว

      Где количество циклов и проверка флагов?

  • @SpinchMr
    @SpinchMr 5 ปีที่แล้ว

    А если его научить в столбик считать? как в школе делают, на огромных числах должна увеличиться производительность

    • @industrialsoftwareengineering
      @industrialsoftwareengineering  5 ปีที่แล้ว

      Имеет смысл считать "в столбик" не по цифрам, как в школе, а по набору шириной в машинное слово. Ну и конечно, вопрос -- по сравнению с чем будете измерять производительность? Во многих языках размер операндов арифметических операций ограничен

    • @user-gb6wj6fn9x
      @user-gb6wj6fn9x 4 ปีที่แล้ว

      Под управлением винды, всякие размышления
      о производительности теряют смысл...