Author Topic: Ассемблер для Z80  (Read 16351 times)

0 Members and 1 Guest are viewing this topic.

Offline Alone Coder

  • Posts: 22398
    • Орфовики
« Reply #25on: October 10, 2011, 19:10 »
Там 28 регистров, и все они неравноправны. Так что можно жонглировать ими долго, пока не найдёшь самое эффективное решение.

Offline jvarg

  • Posts: 12370
« Reply #26on: October 10, 2011, 19:16 »
Для чего в жизни может пригодиться этот ассемблер? Или просто для развлечения?

Для развития логического мышления.
Он чем-то принципиально отличается от ассемблеров для других процессоров? Я просто не в курсе?

Нет, я говорил о полезности ассемблеров вообще.
Все бояться быть обвинёнными в ксенофобии. А вот в русофобии никто.
(© Захар Прилепин)

Offline Demetrius

  • Posts: 12675
  • Бес джинн фея колдунчик
« Reply #27on: October 10, 2011, 21:31 »
Для чего в жизни может пригодиться этот ассемблер? Или просто для развлечения?
Для развлечения. Вообще, сфера применения ассемблера очень мала... :'(
«Честного не жди слова, // Я тебя предам снова»

Offline sasza

  • Posts: 7640
« Reply #28on: October 10, 2011, 22:45 »
Он чем-то принципиально отличается от ассемблеров для других процессоров? Я просто не в курсе?
От ассемблера 8080 отличается мнемоникой и расширенным набором команд.

В начале 90-х, когда спаял Синклер, купил книжку по ассемблеру для Z80 (в мягкой обложке). Пользовался, по-моему, Zeus-ом и ещё каким-то ассемблером, поддерживающим макросы. Самое крупное, что написал - игрушку Минёр. Правда, использовал чью-то оконную библиотеку (там и менюшки красивые были, и мышиный курсор). Вышло в районе 2  KB, и работал шустрее, чем виндовский на 386-м.

Offline maristo

  • Posts: 10027
« Reply #29on: October 10, 2011, 22:53 »
Quote
работал шустрее, чем виндовский на 386-м.

Конечно быстрее, без винды ведь. :D
«Toute discussion theorique est vaine: l'Esperanto fonctionne» Antoine Mеillet

Offline arseniiv

  • Posts: 14956
    • ::
« Reply #30on: October 10, 2011, 23:04 »
Offtop
Demetri, игра «Ліхозлав против фриков»? А что! Может, кто-то захочет вообще любую игру по ЛФ сделать? Правда, я не умею рендерить даже 2D. Картинки могу рисовать в GIMPе. Музыку писать. Времени только мало.

Offline Triton

  • Posts: 6167
« Reply #31on: October 11, 2011, 06:32 »
Там 28 регистров, и все они неравноправны. Так что можно жонглировать ими долго, пока не найдёшь самое эффективное решение.
:fp:
Молиться, поститься и слушать радио Ватника

Offline Demetrius

  • Posts: 12675
  • Бес джинн фея колдунчик
« Reply #32on: October 11, 2011, 11:08 »
Когда напишите, дайте мне код, я добавлю в бот считающий до миллиона, будет на кантонском тоже считать.
Вот готовый счёт на кантонском на JavaScript. Там была только ошибка с léuhng, теперь всё в порядке. Могу ещё иероглифами сделать, но тогда это будет просто китайский, а не кантонский. ;D

Этот код всегда использует полные формы (тридцать будет sāam-sahp, а не sā'ah). Потом можно будет сделать и с редуцированными, но я не уверен относительно их(как редуцировать 50? Ńg'ah?)
«Честного не жди слова, // Я тебя предам снова»

Offline Bhudh

  • Posts: 47800
  • aka 蝎
    • Сайты по языкознанию
« Reply #33on: October 11, 2011, 11:25 »
Quote
Code: [Select]
span.rigth
Штоэта?
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Offline RawonaM

  • Posts: 41936
« Reply #34on: October 11, 2011, 11:46 »
Вот готовый счёт на кантонском на JavaScript.
Добавил :)

Offline Demetrius

  • Posts: 12675
  • Бес джинн фея колдунчик
« Reply #35on: October 11, 2011, 20:53 »
Quote
Code: [Select]
span.rigth
Штоэта?
Все теги span с классом right (то есть <span class="right"). По-хорошему, right здесь избыточен, так как у меня только два объекта span и оба с классом right.

У span'ов нет никакой семантики (кроме того, что это текстовый объект; в этом плане они противопоставлены div'ам, единственная семантика которых—то, что это блочный объект), поэтому они идеально подходят для оформлений, которые не несут никакой смысловой нагрузки.

Вот готовый счёт на кантонском на JavaScript.
Добавил :)
Спасибо. :yes:
«Честного не жди слова, // Я тебя предам снова»

Offline Bhudh

  • Posts: 47800
  • aka 蝎
    • Сайты по языкознанию
« Reply #36on: October 11, 2011, 23:36 »
Все теги span с классом right (то есть <span class="right"). По-хорошему, right здесь избыточен, так как у меня только два объекта span и оба с классом right.
Quote
span.rigth
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Offline mnashe

  • Administrator
  • *
  • Posts: 40037
    • Библиотека
« Reply #37on: October 12, 2011, 00:10 »
Нет, я говорил о полезности ассемблеров вообще.
Посчитал, сколько строк на ассемблере в моей программе, которой я постоянно пользуюсь, — 38 тысяч, не считая .inc файлов.
Из них 10–15% написано было когда-то на паскале (не мной), а я оптимизировал результат работы дизассемблера.
Остальное я писал изначально на ассемблере.
Это ядро программы; остальное написано на макро-языке.
В компиляторе (этого макро-языка в байт-код) более 7 тысяч строк, но там оптимизированного дизассемблера почти столько же, сколько написанного изначально, а некоторая часть даже оставлена нетронутой.
שָׁלוֹם עֲלֵיכֶם!

Offline Alone Coder

  • Posts: 22398
    • Орфовики
« Reply #38on: October 12, 2011, 13:08 »
Посчитал, сколько строк на ассемблере в моей программе, которой я постоянно пользуюсь, — 38 тысяч, не считая .inc файлов.
Что она делает??? O.o

Offline mnashe

  • Administrator
  • *
  • Posts: 40037
    • Библиотека
« Reply #39on: October 12, 2011, 13:15 »
Что она делает?
Основные функции: текстовый редактор и file-manager / оболочка к системе.
А вокруг этого очень много всякого.
Например, перевод дат из еврейского или григорианского календаря в номер дня и обратно — тоже функции на ассемблере. Программа-календарь, написанная на макро-языке, использует эти функции.
В общем, я фанат ассемблера.
Даже под Windows писал на ассемблере.
שָׁלוֹם עֲלֵיכֶם!

« Reply #40on: October 12, 2011, 13:24 »
Посчитал, сколько строк на макроязыке в основном пакете программы (не считая всяких отдельных специальных утилит и большой программы для школьного офиса).
42 тысячи.
Учитывая разницу в длине строк, это всё-таки намного больше, чем ассемблерное ядро программы.
שָׁלוֹם עֲלֵיכֶם!

Offline Тайльнемер

  • Posts: 12131
  • Σοι υν βυρρο. Ix bin æn ézl
« Reply #41on: October 12, 2011, 13:31 »
Основные функции: текстовый редактор и file-manager / оболочка к системе.
А вокруг этого очень много всякого.
Например, перевод дат из еврейского или григорианского календаря в номер дня и обратно — тоже функции на ассемблере. Программа-календарь, написанная на макро-языке, использует эти функции.
А почему именно на ассемблере?

Offline mnashe

  • Administrator
  • *
  • Posts: 40037
    • Библиотека
« Reply #42on: October 12, 2011, 13:51 »
А почему именно на ассемблере?
Мой личный бзик. Даже два:

1. Мне тяжело начинать что-нибудь, я больше приспособлен для совершенствования имеющегося.
Мне дали программу Multi-Edit (1987 года), она мне понравилась, но почти никакой информации по ней не было, и мне хотелось её улучшить. Сначала я делал небольшие заплатки debug'ом (это очень легко — тогдашние компиляторы делали дико раздутый код); потом дизассемблировал целиком и стал переписывать и добавлять. Сейчас изначальный код составляет лишь незначительную часть программы.
Для байт-кода я тоже написал декомпилятор, так что получил «исходники» (без имён переменных, конечно) всех их макрей. Но нынешний байт-код уже давно несовместим со старым, тот был страшно неэффективен. Функций в нём было раз в 50 меньше, а места они занимали больше.

2. Мне нравится работать с мелкими деталями, оттачивать алгоритм и его реализацию на низком уровне.
В общем, и то, и то — очень по-девски ;)
שָׁלוֹם עֲלֵיכֶם!

Offline Dana

  • Posts: 16618
« Reply #43on: October 12, 2011, 16:12 »
В общем, я фанат ассемблера.
:+1:
 :UU:
Homo homini cattulus est

Хто не знає про добро, той завжди буде злим,
Хто забув свою мову, той прокинеться німим,
Хто завжди був рабом, той залишиться ніким,
Все почалося з нічого і закінчиться нічим...

Offline Тайльнемер

  • Posts: 12131
  • Σοι υν βυρρο. Ix bin æn ézl
« Reply #44on: October 12, 2011, 19:17 »
Так что? Будут уроки?

Offline arseniiv

  • Posts: 14956
    • ::
« Reply #45on: October 12, 2011, 20:13 »
:+1:
 :UU:
:o Вы разорвали ((a:b:_) :+ (Just (l,_))).

Offline jvarg

  • Posts: 12370
« Reply #46on: October 12, 2011, 21:41 »
В общем, я фанат ассемблера.
:+1:
 :UU:

Дана, а вы ассемблер ни с чем другим не путаете?

Ваше горячее приветствие  ассемблера меня пугает...
Все бояться быть обвинёнными в ксенофобии. А вот в русофобии никто.
(© Захар Прилепин)

Offline Dana

  • Posts: 16618
« Reply #47on: October 13, 2011, 04:49 »
Дана, а вы ассемблер ни с чем другим не путаете?

Ваше горячее приветствие  ассемблера меня пугает...
Нет, ассемблер тот самый.
Но только для архитектуры x86. О Z80 я вообще понятия не имею. Вот буду уроки, познакомлюсь.

А чем пугает?
Homo homini cattulus est

Хто не знає про добро, той завжди буде злим,
Хто забув свою мову, той прокинеться німим,
Хто завжди був рабом, той залишиться ніким,
Все почалося з нічого і закінчиться нічим...

Offline Demetrius

  • Posts: 12675
  • Бес джинн фея колдунчик
« Reply #48on: October 13, 2011, 11:00 »
Все теги span с классом right (то есть <span class="right"). По-хорошему, right здесь избыточен, так как у меня только два объекта span и оба с классом right.
Quote
span.rigth
:donno:
Значит, это не нужно́ было, раз и без него работает.
«Честного не жди слова, // Я тебя предам снова»

Offline Python

  • Posts: 32411
  • Aluarium agent
« Reply #49on: October 13, 2011, 22:48 »
((a:b:_) :+ (Just (l,_))).
Мечтаю об асме с лисп-подобным синтаксисом. Правда, меня больше интересует либо x86, либо JVM.
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Note: this post will not display until it's been approved by a moderator.
Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
√49 Напишите ответ строчными буквами:
«Сто одёжек, все без застёжек» — что это?: