User Tag List

Показано с 1 по 10 из 14

Тема: М80 ассемблер

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    18.01.2010
    Адрес
    Крым
    Сообщений
    238
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну на ПК то шустро работает.) Да и раньше, в CP/M всякие изгаления придумывали, типа электронного диска. А так да, флоппи елозил здорово, ходили курить пока оттранслирует.
    А вообще, ассемблер достаточно серьёзный. Под 2 процессора, ну и макросредства великая вещь. Одно время хотел было перейти на другой, не под CP/M, но перепробовал 2 десятка ассемблеров и ни один не подошел. То валятся, то одного нету, то другого... Проект большой был, а перепахивать много не хотелось. Так и успокоился.)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от M80 Посмотреть сообщение
    Ну на ПК то шустро работает.)
    Это да, теперь проблем с временем компиляции нет. Но нет и проектов под Z80 - какая несправедливость
    Цитата Сообщение от M80 Посмотреть сообщение
    Да и раньше, в CP/M всякие изгаления придумывали, типа электронного диска.
    У меня с ASC CP/M был RAM-DISK. Но даже на нем ассемблирование M80 и компоновка LINK исполнялись ужасно долго.

    Я с двух сторон пытался решить эту проблему. Первая - пытался сделать свой компоновщик (см. выше) - хотя бы для того, чтобы ускорить сборку проекта, когда изменения внесены лишь в один небольшой исходный файл. Вторая сторона - хотел сделать турбо и процессора, и памяти. Турбо только процессора помогало мало. Много времени потратил на попытки турбировать память. Даже работало, пока микросхемы не нагреются Тогда, в 1995г, знаний мне не хватило, чтобы довести проект до ума.
    Цитата Сообщение от M80 Посмотреть сообщение
    ну и макросредства великая вещь.
    Даа, меня впечатлила библиотека твоих макросов

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

    - - - Добавлено - - -

    Цитата Сообщение от ^m00h^ Посмотреть сообщение
    Это что, Microsoft Macro 80 ? Тоесть под досом писали под спек ?
    Да, Microsoft Macro 80. Писали не под досом, а под CP/M.

    - - - Добавлено - - -

    Вот, если кто желает заняться REL-файлами - продизассемблированный LIB80 (оттуда я выяснил формат REL-файлов), и моя программа RelView2, которая считывает REL-файл и выводит его содержимое на экран в человекочитаемом виде.

    По сути REL-файл представляет собой битовый поток, содержащий 8-битные кодовые литералы (им предшествует бит 0 в потоке) - они встречаются чаще всего и представляют собой результат ассемблирования, не требующий релокации. Также встречаются перемещаемые 16-битные слова - для них еще задается тип сегмента (CSEG, DSEG, COMMON). И прочие команды, задающие список символов ENTRY, EXTRN, имя модуля и т.д.

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

    Этот пользователь поблагодарил Barmaley_m за это полезное сообщение:

    aGGreSSor(17.10.2025)

  4. #3

    Регистрация
    18.01.2010
    Адрес
    Крым
    Сообщений
    238
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Даа, меня впечатлила библиотека твоих макросов

    Чтобы такое создать, нужно иметь обширный опыт разработки под данный процессор. Чтобы почувствовать, какие конструкции имеет смысл облечь в макросы. Чтобы, с одной стороны, не генерировать с их помощью неэффективный код; с другой стороны - чтобы объем и понятность исходного кода улучшались. И чтобы не запоминать слишком много имен и параметров этих макросов.
    Ну, тут на любителя.) На самом деле, важно что бы в голове не было много новых команд, с новыми параметрами... Просто я работал с другими семействами МК, с командами которых у меня сложилась ассоциация, и которые решил применить и с Z80. А так, многим это покажется лишним... Я просто показал как можно использовать макро. И считаю что это очень эффективное средство при низкоуровневом программировании.
    Но это всё от бедности.) На самом деле, если есть возможность, нужно переходить на высокоуровневый язык, дабы не дублировать написание своего кода, и продуктивность своего труда была бы выше.

    Эти 2 пользователя(ей) поблагодарили M80 за это полезное сообщение:

    Barmaley_m(28.02.2024), Oleg N. Cher(09.03.2024)

  5. #4

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от M80 Посмотреть сообщение
    Но это всё от бедности.) На самом деле, если есть возможность, нужно переходить на высокоуровневый язык
    Ну, что значит, бедности? В наше время любой владелец компьютера может себе позволить программировать на ЯВУ.

    Только для разных средств - разные задачи. Иногда даже современные Си-компиляторы не справляются с задачей генерации эффективного кода. Или они справляются только при условии написания Си-кода определенным образом. Нужен, как минимум, контроль результатов компиляции в ассемблере для критичных участков кода; а как максимум - написание таких участков на ассемблере вручную.

    Конечно, речь идет о критичных приложениях реального времени, когда быстродействия даже самых современных процессоров может не хватить. Или памяти. Или тактовую частоту нужно снизить для снижения энергопотребления. Тогда и приходится, по старинке, выжимать последние байты и такты. Это иногда нужно, и это реально помогает. Вычислительных ресурсов никогда не бывает слишком много. И навыки их экономии всегда останутся востребованы.
    Последний раз редактировалось Barmaley_m; 28.02.2024 в 18:30.

    Этот пользователь поблагодарил Barmaley_m за это полезное сообщение:

    Oleg N. Cher(09.03.2024)

  6. #5

    Регистрация
    18.01.2010
    Адрес
    Крым
    Сообщений
    238
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Ну, что значит, бедности? В наше время любой владелец компьютера может себе позволить программировать на ЯВУ.

    Только для разных средств - разные задачи. Иногда даже современные Си-компиляторы не справляются с задачей генерации эффективного кода. Или они справляются только при условии написания Си-кода определенным образом. Нужен, как минимум, контроль результатов компиляции в ассемблере для критичных участков кода; а как максимум - написание таких участков на ассемблере вручную.
    Ну, это понятно. Сейчас да, тогда не всегда. Либо же были какие то ограничения - по скорости ли, по объёму ли... Но, я хотел сказать, что программирование на асм, зачастую пустая трата времени. Потому что его навыки не применишь к Си и его не перенесёшь в Си. Ну, перенесёшь конечно, но только чего это будет стоить.) Это не то что если бы изначально писал на Си, пусть даже применительно к какому то семейству.
    Ну а сейчас, зачастую соревнования по объёму можно провести. И асм у Си не всегда выиграет.)
    ПС. Да, само собой, когда нужна скорость, приходится писать на асм. Но, одно дело, это фрагменты, а не весь проект.
    Последний раз редактировалось M80; 28.02.2024 в 20:11.

  7. #6

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не могу со всем согласиться, но участвовать в холиваре "Asm vs C" тоже не хочется. Останемся при своих.

    Ты лучше посмотри по REL-файлам Скомпилируй мою программу RELVIEW2.MAC в эмуляторе CP/M, натрави ее на какой-нибудь REL-файл и посмотри на результаты!

  8. #7

    Регистрация
    18.01.2010
    Адрес
    Крым
    Сообщений
    238
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И что? Я давно не в теме, да и просто лень. Извини.) И меня l80 во всём устраивает.
    Я тоже не сторонник холиваров, но когда смотрю на кучу своей писанины на асм, берёт тоска. Давеча, как то, х-модем захотелось на AVR перенести... Плевался почём зря.(

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Атари ассемблер
    от atariki в разделе Atari
    Ответов: 221
    Последнее: 01.05.2025, 16:56
  2. ПК8000 - Ассемблер
    от scaraby в разделе ПК8000
    Ответов: 9
    Последнее: 16.12.2018, 11:00
  3. Ассемблер 8080
    от Kakos_nonos в разделе Утилиты
    Ответов: 0
    Последнее: 21.09.2011, 23:35
  4. Ассемблер Z-80
    от sergey2b в разделе Пресса
    Ответов: 12
    Последнее: 11.07.2011, 23:41

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •