Это видео недоступно.
Сожалеем об этом.

Hello World на ассемблере z80: сможет и ребенок. От простенькой программки до серьезных программуль

Поделиться
HTML-код
  • Опубликовано: 14 янв 2024
  • Hello world на ассемблере z80: сможет даже ребенок. От простенькой программки до серьезных приложений: тетрис 1996 года от автора
    Исходник тетриса и файл для эмулятора (sna) для ZX-Spectrum cовместимого компьютера: github.com/vad...
    Друзья, помогите "раскачать" канал на ДЗЕНе: dzen.ru/vadrov
    Пара минут просмотра там аналогичного видео, подписка и комментарий в поддержку, помогут мне, как автору, уделять больше времени на выпуск новых видео, с новыми "игрушками" и бесплатным кодом для Вас.

Комментарии • 58

  • @VadRov
    @VadRov  7 месяцев назад +5

    Исходник тетриса и файл для эмулятора (sna): github.com/vadrov/tetris-zx-spectrum-z80-asm
    Друзья, помогите "раскачать" канал на ДЗЕНе: dzen.ru/vadrov
    Пара минут просмотра там аналогичного видео, подписка и комментарий в поддержку, помогут мне, как автору, уделять больше времени на выпуск новых видео, с новыми "игрушками" и бесплатным кодом для Вас.

    • @vsosacordeev
      @vsosacordeev 7 месяцев назад

      дзеном кто то пользуется вообще? тут времени на видео посматреть не нахожу, рубит мозг.

    • @VadRov
      @VadRov  7 месяцев назад +3

      @@vsosacordeev , там основная масса людей пенсионного возраста. Судя по статистике, за 55 лет. Молодежь, кстати, тоже есть. Смотрит короткие ролики где попами трясут.

    • @vsosacordeev
      @vsosacordeev 7 месяцев назад

      😁@@VadRov

  • @hoptersertim8471
    @hoptersertim8471 7 месяцев назад +3

    Вспомнил забытый любимый Zeus.
    Писал разное, в т.ч. динамичную игрушку с главным героем.
    К сожалению, не смог ничего сохранить. Может где-то валяются кассеты, но...
    Остались только воспоминания.

  • @tovjukov
    @tovjukov 7 месяцев назад +3

    Порадовал ;) был ZS Scorpion 256

    • @VadRov
      @VadRov  7 месяцев назад

      Я о таком мечтал, но увы... Пришлось Синтез-2 паяльником доводить до 128 кБ + 7 MHz Turbo + covox и еще много чего (кроме дисковода - дорого было).

    • @romanbor2929
      @romanbor2929 6 месяцев назад +1

      Тоже купил отец мне готовый 256, после 48, как в иномарку сел. Два дисковода надыбал, копировал дискеты 5.25", скорость после кассет, хоть девушкам показывай , принтер матричный подключили (тогда мы узнали про порты), курсовой напечатал))) Важный был, просто не подходи)) Но недолго, наставало время IBM)))

  • @kestvvv
    @kestvvv 7 месяцев назад +8

    До сих пор пишу на асме .уже 25 лет как.
    Начинал с машинного кода и ручного обсчитывания относительных переходов.
    Так написал преобразователь из символов в векторы - для самодельного плоттера для рисования плат

    • @VadRov
      @VadRov  7 месяцев назад +2

      Я с этого же начинал, пока кассету с Gens не раздобыл. Все тетрадки кодом были исписаны. Отловить ошибку было ооочень сложно.

    • @kestvvv
      @kestvvv 7 месяцев назад +1

      @@VadRov я использовал дизассемблер мон2, вроде так он назывался.
      под конец уже перешел на тасм.

    • @VadRov
      @VadRov  7 месяцев назад +3

      @@kestvvv, да, пакет с ассемблером и монитором отладчиком HiSoft Devpac. Про отлов ошибок я имел в виду, когда в машинный код вручную переводил были ошибки (то порядок байт перепутаешь, то пропустишь чего, а то когда код набиваешь через строку перепрыгнешь). А это было до того, как эти программки раздобыл. Потом проще стало. Правда, ненамного. Мешал магнитофон. Дисковода не было. Долго. А еще холодильник включался в неподходящее время при записи/загрузки программ и... пиши пропало 😂

    • @kestvvv
      @kestvvv 7 месяцев назад +2

      @@VadRov Да...... холодильник делал проблемы. По этому побольше кондеров в бп, чтобы сбавить просадку при пуске холодильника.
      Контроллер дисковода вначале лепил самодельный....... это было не просто.....
      Ставил еще расширение памяти на SIMM на 1 мб.
      Еще поставил 3.5 дюйма, причем привод именно на 720.
      с 2004 пишу на авр.
      Разрабатывал свой контроллер мышки с кучей счетчиков - где то микрух 20 в итоге.
      Извращался как мог.

    • @user-ul5ds9uv8u
      @user-ul5ds9uv8u 7 месяцев назад

      На ассемблере никто в здравом уме программировать не станет.
      Коллега постоянно извращается с ассемблером, ничего толкового за всю жизнь не написал и не напишет.
      Я искренне не понимаю, какой смысл гонять байты по регистрам, ничего серьезного ни в жизнь не разработаешь. А если и напишешь, то кто-то над этим будет долго хохотать.

  • @romanbor2929
    @romanbor2929 6 месяцев назад +1

    Ох уж эти бессонные ночи и километры листинга на асме для ZX) А ведь горели так, что есть забывали)

  • @user-tc8fj8de9p
    @user-tc8fj8de9p 6 месяцев назад +1

    ZX-Spectrum и ассемблер 😊
    Это моё. Давно было, последний раз в 1999 году.
    Спасибо вам

  • @elmarrasulzade2043
    @elmarrasulzade2043 7 месяцев назад +1

    Лайкнул.
    Но такой ассемблер я не видел никогда. Какие непривычные комманды. Я когда то писал ide для tasm. А это какой то совсем не привычный. Не думал что после стольких лет почувствую себя слишком молодым)))

    • @kestvvv
      @kestvvv 7 месяцев назад +1

      А еще ...... на ассемблере можно печатать не только столбиком, но и в строчку. то есть у вас в строке может быть сколько угодно команд.

    • @VadRov
      @VadRov  7 месяцев назад +3

      Да, по большому счету мнемоники на разных ассемблерах не совпадают. Чем примечателен z80 лично для меня, так это тем, что спустя 27 лет помню все его инструкции на память. Если взять тот же arm, то при написании кода постоянно приходится подсматривать в шпаргалку. Слишком много префиксов и их вариаций, особенно, в simd. Но самый простой ассемблер из тех, что знаю, это A51 (для м/к 8051) .

    • @kestvvv
      @kestvvv 7 месяцев назад

      @@VadRov 51 асм весьма обрезан. У авр риск платформы намного удобнее. Есть 32 регистра и прочие штуки.

  • @WWolf_13
    @WWolf_13 7 месяцев назад +2

    Аж скулы свело :)

    • @DrLithium
      @DrLithium 7 месяцев назад +4

      Не просто скулы, а ОЛДскулы! )

  • @user-bi4ve1id8y
    @user-bi4ve1id8y 7 месяцев назад +1

    Спасибо!

  • @user-km1vy7me6u
    @user-km1vy7me6u 7 месяцев назад +1

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

    • @VadRov
      @VadRov  7 месяцев назад

      👍🙂

  • @openFrimeTv
    @openFrimeTv 7 месяцев назад +1

    интересно. вот что значит обучаться с нуля. по мере того как появлялась электроника. сейчас это сложнее мне кажется)

    • @VadRov
      @VadRov  7 месяцев назад

      По этому поводу можно долго спорить, но я не готов это делать 🙂

    • @EgorFrade
      @EgorFrade 7 месяцев назад +1

      раньше попроще была электроника, сейчас если на esp32 посмотреть, то там и 2 ядра и кэши и уровни изоляции памяти и виртуальная адресация. Жесть одним словом, без SDK даже светодиодом моргнуть сложновато.

    • @VadRov
      @VadRov  7 месяцев назад

      @@EgorFrade , моргнуть светодиодом несложно без sdk:
      GPIO.out_w1tc = 1ULL

    • @EgorFrade
      @EgorFrade 7 месяцев назад

      @@VadRov а мне мануал по esp32 нравится, хотя может я его путаю с мануалом по Xtensa.
      Но на сколько я помню магия происходит в бутлоадере, который работает там как bios, благодаря ему у нас появляется мапинг хардвара на память и мы можем записывая данные в память влиять на GPIO. А бутлоадер, на сколько я помню, идет вместе с SDK и вкомпиливается в втой код. Хотя могу ошибаться

    • @VadRov
      @VadRov  7 месяцев назад

      @@EgorFrade, я имел ввиду мануал "низкого уровня": уровень ядра, работа с периферией на уровне "железа" (регистры специальных функций и т.п.) на уровне, low layer, так сказать. Так вот, он описан плохо (я бы сказал, отвратительно) в сравнении с тем, о чем пишите Вы. Вы же, очевидно, подразумеваете самый высокий уровень, т.н., hal. А вот он, как раз, описан очень хорошо, даже отлично. Кстати, прикольно написаны библиотеки: можно программировать на выбор на трех уровнях: ll, ml или hal.
      Upd.: вот об этом reference manual пишу: www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf
      Но он потребуется 0.1% потенциальных пользователей, кто захочет получить максимум производительности.

  • @user-tb5fx6zq5u
    @user-tb5fx6zq5u 7 месяцев назад

    Какой прогой можно взломать ключ видеоредактора?

    • @VadRov
      @VadRov  7 месяцев назад +2

      Не надо ничего ломать. Сейчас много бесплатных программ и приложений для творчества.

    • @user-tb5fx6zq5u
      @user-tb5fx6zq5u 7 месяцев назад

      @@VadRov Я в курсе. Но у них функционал урезанный. Даже не спорьте.

  • @fiji3514
    @fiji3514 6 месяцев назад

    У меня 2 вопроса:
    1) почему это в моих рекомендациях
    2) как вы все не сошли с ума изучая все это? Это же жесть просто, какие-то детективы, мы что в терминаторе? Цифры какие-то из воздуха берете и выдумывайте….
    Прочитал на другом видео коммент, что этот язык программирования может все что душа пожелает, что даже 3d движок можно написать?

    • @VadRov
      @VadRov  6 месяцев назад

      Не Боги горшки обжигают. Даже 4d движок можно написать 😉

  • @mastermir8347
    @mastermir8347 6 месяцев назад

    как раз языком и балаболит вызывая готовые роцедуры
    да и тетрис так же писал

    • @VadRov
      @VadRov  6 месяцев назад

      И к чему эти высеры? В тетрисе ни одна подпрограмма из ПЗУ не вызывается. Исходник на гитхабе. А чем ты прославился балабол из комментариев?

  • @mastermir8347
    @mastermir8347 6 месяцев назад

    это доже блиско не на асемблере.
    если целиком писать на асемблере код будет 5000 строк
    а подпрограмму из биос вызвать это не асемблер
    комент написан до начала просмотра ролика.

    • @VadRov
      @VadRov  6 месяцев назад

      Открой любую книгу по программированию на ассемблере, и везде эта программа для любой архитектуры использует вызов подпрограмм биос. Но это не правило.. Там, где экран текстовый, можно обойтись без биоса. Здесь же, как минимум, требуется знакогенератор. Про 5000 строк ты загнул. Вместе со знакогенератором столько и близко не будет. Вот в тетрисе, например, собственные процедуры вывода текста, причём, в любых направлениях. Открой код на гитхабе и восхитись. Утони в своей жёлчи, человек 😂

    • @mastermir8347
      @mastermir8347 6 месяцев назад

      @@VadRov асемблер знаю в совершенстве. я еще перфокарты застал. никакой желчи просто ржу над тем кто думает что он на асемблере что-то пишет.
      знакогенератор это таже внешняя процедура. использование внешних проедур не далеко ушло от языков высокого уровня. это не асемблер. на асемблере ты каждую точку символа вырисовывать будешь отдельной командой.

    • @VadRov
      @VadRov  6 месяцев назад

      @@mastermir8347 , вот ты и спалился,, знаток. Здесь, на Спектруме, одной командой (например, LD (HL),127 ; в HL - адрес из области экрана) сразу 8 точек экранной области можно определить. Такое строение экрана. И знакогенератор тут не команды, а блок памяти, определяющий данные символов. По 8 байт на символ. Впрочем, кому я это пишу, если знаток программу на ассемблере, вызывающую подпрограммы ПЗУ, называет "не ассемблером".
      Upd. : и не знаешь ты никакой ассемблер в совершенстве,. Ты даже не знаешь, что слово "аССемблер" с двумя буквами "с" пишется. Не пиши тут больше, любитель перфокарт, троллей кормить не люблю.

  • @n3tium
    @n3tium 7 месяцев назад

    Зачем вам это?) Лучше ломать облачные сервисы 😂

    • @VadRov
      @VadRov  7 месяцев назад +4

      Сегодня, определенно, кто-то хочет что-то сломать. Одни строят, а другие ломают 🤦‍♂

    • @n3tium
      @n3tium 7 месяцев назад +1

      @@VadRov процесс взлома это прежде всего процесс понимания как это работает. Причем, в большей степени, чем понимает это создатель) то что ОНИ строят должно умереть

    • @VadRov
      @VadRov  7 месяцев назад +4

      @@n3tium , я это понимаю, но вот в чем дело... как бы сказать... hello world из этого видео не имеет к вышесказанному никакого отношения. Неправомерный доступ к компьютерной информации карается по Закону ().

  • @user-bi4ve1id8y
    @user-bi4ve1id8y 7 месяцев назад +1

    Спасибо!