Это видео недоступно.
Сожалеем об этом.
Hello World на ассемблере z80: сможет и ребенок. От простенькой программки до серьезных программуль
HTML-код
- Опубликовано: 14 янв 2024
- Hello world на ассемблере z80: сможет даже ребенок. От простенькой программки до серьезных приложений: тетрис 1996 года от автора
Исходник тетриса и файл для эмулятора (sna) для ZX-Spectrum cовместимого компьютера: github.com/vad...
Друзья, помогите "раскачать" канал на ДЗЕНе: dzen.ru/vadrov
Пара минут просмотра там аналогичного видео, подписка и комментарий в поддержку, помогут мне, как автору, уделять больше времени на выпуск новых видео, с новыми "игрушками" и бесплатным кодом для Вас.
Исходник тетриса и файл для эмулятора (sna): github.com/vadrov/tetris-zx-spectrum-z80-asm
Друзья, помогите "раскачать" канал на ДЗЕНе: dzen.ru/vadrov
Пара минут просмотра там аналогичного видео, подписка и комментарий в поддержку, помогут мне, как автору, уделять больше времени на выпуск новых видео, с новыми "игрушками" и бесплатным кодом для Вас.
дзеном кто то пользуется вообще? тут времени на видео посматреть не нахожу, рубит мозг.
@@vsosacordeev , там основная масса людей пенсионного возраста. Судя по статистике, за 55 лет. Молодежь, кстати, тоже есть. Смотрит короткие ролики где попами трясут.
😁@@VadRov
Вспомнил забытый любимый Zeus.
Писал разное, в т.ч. динамичную игрушку с главным героем.
К сожалению, не смог ничего сохранить. Может где-то валяются кассеты, но...
Остались только воспоминания.
Порадовал ;) был ZS Scorpion 256
Я о таком мечтал, но увы... Пришлось Синтез-2 паяльником доводить до 128 кБ + 7 MHz Turbo + covox и еще много чего (кроме дисковода - дорого было).
Тоже купил отец мне готовый 256, после 48, как в иномарку сел. Два дисковода надыбал, копировал дискеты 5.25", скорость после кассет, хоть девушкам показывай , принтер матричный подключили (тогда мы узнали про порты), курсовой напечатал))) Важный был, просто не подходи)) Но недолго, наставало время IBM)))
До сих пор пишу на асме .уже 25 лет как.
Начинал с машинного кода и ручного обсчитывания относительных переходов.
Так написал преобразователь из символов в векторы - для самодельного плоттера для рисования плат
Я с этого же начинал, пока кассету с Gens не раздобыл. Все тетрадки кодом были исписаны. Отловить ошибку было ооочень сложно.
@@VadRov я использовал дизассемблер мон2, вроде так он назывался.
под конец уже перешел на тасм.
@@kestvvv, да, пакет с ассемблером и монитором отладчиком HiSoft Devpac. Про отлов ошибок я имел в виду, когда в машинный код вручную переводил были ошибки (то порядок байт перепутаешь, то пропустишь чего, а то когда код набиваешь через строку перепрыгнешь). А это было до того, как эти программки раздобыл. Потом проще стало. Правда, ненамного. Мешал магнитофон. Дисковода не было. Долго. А еще холодильник включался в неподходящее время при записи/загрузки программ и... пиши пропало 😂
@@VadRov Да...... холодильник делал проблемы. По этому побольше кондеров в бп, чтобы сбавить просадку при пуске холодильника.
Контроллер дисковода вначале лепил самодельный....... это было не просто.....
Ставил еще расширение памяти на SIMM на 1 мб.
Еще поставил 3.5 дюйма, причем привод именно на 720.
с 2004 пишу на авр.
Разрабатывал свой контроллер мышки с кучей счетчиков - где то микрух 20 в итоге.
Извращался как мог.
На ассемблере никто в здравом уме программировать не станет.
Коллега постоянно извращается с ассемблером, ничего толкового за всю жизнь не написал и не напишет.
Я искренне не понимаю, какой смысл гонять байты по регистрам, ничего серьезного ни в жизнь не разработаешь. А если и напишешь, то кто-то над этим будет долго хохотать.
Ох уж эти бессонные ночи и километры листинга на асме для ZX) А ведь горели так, что есть забывали)
ZX-Spectrum и ассемблер 😊
Это моё. Давно было, последний раз в 1999 году.
Спасибо вам
Лайкнул.
Но такой ассемблер я не видел никогда. Какие непривычные комманды. Я когда то писал ide для tasm. А это какой то совсем не привычный. Не думал что после стольких лет почувствую себя слишком молодым)))
А еще ...... на ассемблере можно печатать не только столбиком, но и в строчку. то есть у вас в строке может быть сколько угодно команд.
Да, по большому счету мнемоники на разных ассемблерах не совпадают. Чем примечателен z80 лично для меня, так это тем, что спустя 27 лет помню все его инструкции на память. Если взять тот же arm, то при написании кода постоянно приходится подсматривать в шпаргалку. Слишком много префиксов и их вариаций, особенно, в simd. Но самый простой ассемблер из тех, что знаю, это A51 (для м/к 8051) .
@@VadRov 51 асм весьма обрезан. У авр риск платформы намного удобнее. Есть 32 регистра и прочие штуки.
Аж скулы свело :)
Не просто скулы, а ОЛДскулы! )
Спасибо!
спасибо большое
👍🙂
интересно. вот что значит обучаться с нуля. по мере того как появлялась электроника. сейчас это сложнее мне кажется)
По этому поводу можно долго спорить, но я не готов это делать 🙂
раньше попроще была электроника, сейчас если на esp32 посмотреть, то там и 2 ядра и кэши и уровни изоляции памяти и виртуальная адресация. Жесть одним словом, без SDK даже светодиодом моргнуть сложновато.
@@EgorFrade , моргнуть светодиодом несложно без sdk:
GPIO.out_w1tc = 1ULL
@@VadRov а мне мануал по esp32 нравится, хотя может я его путаю с мануалом по Xtensa.
Но на сколько я помню магия происходит в бутлоадере, который работает там как bios, благодаря ему у нас появляется мапинг хардвара на память и мы можем записывая данные в память влиять на GPIO. А бутлоадер, на сколько я помню, идет вместе с SDK и вкомпиливается в втой код. Хотя могу ошибаться
@@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% потенциальных пользователей, кто захочет получить максимум производительности.
Какой прогой можно взломать ключ видеоредактора?
Не надо ничего ломать. Сейчас много бесплатных программ и приложений для творчества.
@@VadRov Я в курсе. Но у них функционал урезанный. Даже не спорьте.
У меня 2 вопроса:
1) почему это в моих рекомендациях
2) как вы все не сошли с ума изучая все это? Это же жесть просто, какие-то детективы, мы что в терминаторе? Цифры какие-то из воздуха берете и выдумывайте….
Прочитал на другом видео коммент, что этот язык программирования может все что душа пожелает, что даже 3d движок можно написать?
Не Боги горшки обжигают. Даже 4d движок можно написать 😉
как раз языком и балаболит вызывая готовые роцедуры
да и тетрис так же писал
И к чему эти высеры? В тетрисе ни одна подпрограмма из ПЗУ не вызывается. Исходник на гитхабе. А чем ты прославился балабол из комментариев?
это доже блиско не на асемблере.
если целиком писать на асемблере код будет 5000 строк
а подпрограмму из биос вызвать это не асемблер
комент написан до начала просмотра ролика.
Открой любую книгу по программированию на ассемблере, и везде эта программа для любой архитектуры использует вызов подпрограмм биос. Но это не правило.. Там, где экран текстовый, можно обойтись без биоса. Здесь же, как минимум, требуется знакогенератор. Про 5000 строк ты загнул. Вместе со знакогенератором столько и близко не будет. Вот в тетрисе, например, собственные процедуры вывода текста, причём, в любых направлениях. Открой код на гитхабе и восхитись. Утони в своей жёлчи, человек 😂
@@VadRov асемблер знаю в совершенстве. я еще перфокарты застал. никакой желчи просто ржу над тем кто думает что он на асемблере что-то пишет.
знакогенератор это таже внешняя процедура. использование внешних проедур не далеко ушло от языков высокого уровня. это не асемблер. на асемблере ты каждую точку символа вырисовывать будешь отдельной командой.
@@mastermir8347 , вот ты и спалился,, знаток. Здесь, на Спектруме, одной командой (например, LD (HL),127 ; в HL - адрес из области экрана) сразу 8 точек экранной области можно определить. Такое строение экрана. И знакогенератор тут не команды, а блок памяти, определяющий данные символов. По 8 байт на символ. Впрочем, кому я это пишу, если знаток программу на ассемблере, вызывающую подпрограммы ПЗУ, называет "не ассемблером".
Upd. : и не знаешь ты никакой ассемблер в совершенстве,. Ты даже не знаешь, что слово "аССемблер" с двумя буквами "с" пишется. Не пиши тут больше, любитель перфокарт, троллей кормить не люблю.
Зачем вам это?) Лучше ломать облачные сервисы 😂
Сегодня, определенно, кто-то хочет что-то сломать. Одни строят, а другие ломают 🤦♂
@@VadRov процесс взлома это прежде всего процесс понимания как это работает. Причем, в большей степени, чем понимает это создатель) то что ОНИ строят должно умереть
@@n3tium , я это понимаю, но вот в чем дело... как бы сказать... hello world из этого видео не имеет к вышесказанному никакого отношения. Неправомерный доступ к компьютерной информации карается по Закону ().
Спасибо!