Важная информация

User Tag List

Страница 2 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 11 по 20 из 50

Тема: Форк SDCC для процессора 8080

  1. #11
    Activist Аватар для L Juriy
    Регистрация
    29.11.2009
    Адрес
    г. Бийск
    Сообщений
    446
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    svofski,
    Там самая интересная папка это C-port.
    Микро-80, Радио-86РК, Океан 240, Ириша, Спектрум-48, NEC PC-8201, ЮТ-88(2017) .

  2. #12
    Master Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    918
    Спасибо Благодарностей отдано 
    112
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    А сохранилась правильная версия PL/M, пригодная для сборки CP/M?
    Я не в курсе. Я больше про компилер на Фортране, который Какос смог адаптировать для Windows через транслятор Фортрана в Си. Вот то - хороший компилер PL/M. Но можно ли собрать с его помощью CP/M - не знаю. Пробуйте. В любом случае, компилер в исходниках, можно подправить.

    Цитата Сообщение от svofski Посмотреть сообщение
    Рекурсия и реентрантность это чудесно. Если бы сишный компилятор отслеживал случаи, когда они не применяются, и пользовался бы этим для оптимизации под 8080, это было бы просто волшебно.
    Ага.

  3. #13
    Activist Аватар для L Juriy
    Регистрация
    29.11.2009
    Адрес
    г. Бийск
    Сообщений
    446
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну вроде собрал компилятор, нужно попробовать что-то скомпилить.
    Первое попавшее выдает много ошибок. Попробую подсунуть, что проглотил Dunfild C.
    Микро-80, Радио-86РК, Океан 240, Ириша, Спектрум-48, NEC PC-8201, ЮТ-88(2017) .

  4. #14
    Veteran Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    1,654
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Выложите бинарник на обозрение, пожалуйста, а то все исходники в Digital Mars C/C++ перелопачивать пока нет решимости.

  5. #15
    Master Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    918
    Спасибо Благодарностей отдано 
    112
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Зачем в Digital Mars C/C++? Он изначально собирается, насколько я понимаю, в GCC и MinGW.

    Есть ли желающие общаться на темы PL/M и компов на проце 8080 в Телеграм-группе? (опрос: есть ли смысл в ней?)

  6. #16
    Activist Аватар для L Juriy
    Регистрация
    29.11.2009
    Адрес
    г. Бийск
    Сообщений
    446
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я собираю под Debiab 8, и работаю в основном под ней.
    Из Форточек строит WinXP, но пользуюсь редко.
    Тем более что пошли программы скомпилированные под VS2017, а они уже не работают под WinXP,
    так как скомпилированы без ключа совместимости с ХР. Новая версию minGW уже не запускается.
    Вопрос к модераторам, может пора создать в "Отечественных компьтерах" раздел "Программирование".
    Микро-80, Радио-86РК, Океан 240, Ириша, Спектрум-48, NEC PC-8201, ЮТ-88(2017) .

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

  8. #17
    Veteran Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    1,654
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Зачем в Digital Mars C/C++? Он изначально собирается, насколько я понимаю, в GCC и MinGW.

    Есть ли желающие общаться на темы PL/M и компов на проце 8080 в Телеграм-группе? (опрос: есть ли смысл в ней?)
    так сложилось(сначала в телефонной компании, где я работал в 2002-м это был основной компилятор, так как сама цифровая станция была на 3086EX и рабочий проект был на DMC+MASM), что я все сишные проекты туда перетягиваю. А сейчас вот мне плату на 8085 подогнали, хотелось бы под него допилить. Да, в идеале и с PL/M, и c RMX, и с дебагером для многозадачной среды. На всех работах более 12, где довелось быть, Linux использовали только однажды,на Светлане МЭ. Дома держал раздел на диске одно время, но сейчас времени на все не хватает( в семье младенец появился). GCC и MinGW конечно стоят на компе.
    Последний раз редактировалось andrews; 18.09.2019 в 11:16.

  9. #18
    Master Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    918
    Спасибо Благодарностей отдано 
    112
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от L Juriy Посмотреть сообщение
    Тем более что пошли программы скомпилированные под VS2017, а они уже не работают под WinXP,
    так как скомпилированы без ключа совместимости с ХР.
    Да. Даже у z88dk была подобная проблема, но исправили.

    Цитата Сообщение от andrews Посмотреть сообщение
    так сложилось
    Ну, надо просто прикинуть, стоит ли SDCC-8080 того, чтобы делать кропотливую и сложную работу по его адаптации к Digital Mars C. Другое дело - сконвертированный из Фортрана исходник компилятора PL/M припилить, это полегче.

    P.S. Ну так что - нет желающих общаться в Телеграме? Я могу конечно пригласить в группу по ZXDev, но мы там больше про Спектрум.

  10. #19
    Veteran Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    1,654
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Да. Даже у z88dk была подобная проблема, но исправили.

    Ну, надо просто прикинуть, стоит ли SDCC-8080 того, чтобы делать кропотливую и сложную работу по его адаптации к Digital Mars C. Другое дело - сконвертированный из Фортрана исходник компилятора PL/M припилить, это полегче.
    ну а если принять, что DMC данность и весь проект будет на нем? Какие еще есть исходники С?
    SMALL C это 70-е если не ошибаюсь. Ассемблер там не помню какой. По поводу исходников PL/M на Fortran-e пытался ковыряться, мрак! А конвертер Fortran to C, то опять какой? GCC?

  11. #20
    Master Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    918
    Спасибо Благодарностей отдано 
    112
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andrews Посмотреть сообщение
    ну а если принять, что DMC данность и весь проект будет на нем?
    Ну хорошо. А кто будет вести проект SDCC-8080 на DMC? Если Вы, тогда конечно. А если Ken Yap, то вряд ли он захочет использовать DMC.

    Цитата Сообщение от andrews Посмотреть сообщение
    По поводу исходников PL/M на Fortran-e пытался ковыряться, мрак! А конвертер Fortran to C, то опять какой? GCC?
    Не GCC. Там юзается AT&T Fortran-to-C converter.

    Я сегодня нашёл компилятор PL/M версии 4.1, сконвертированный в Си. А тот, который на Фортране - это PL/M версии 2.

    plm80/*.* this is an old port of plm80 v4.1 to C++. It was written
    before I had completed the decompilation of plm80. Also I use
    a number of kludges to map address variables, some of which I
    would do differently in a future version.
    Note it currently maps isis drives differently from the other
    tools. Note the 10-Dec-2017 comment above.

    plm80c/*.* this is a newer port of plm80 v4.1 to C. This is the one I am
    adding commentary to as I understand the compiler internals.
    https://github.com/ogdenpm/intel80tools
    https://github.com/ogdenpm/intel80to.../c-ports/plm80

    Это свежак, кстати
    В 2018 году Марк Огден декомпилировал ISIS и инструменты PL/M на PL/M и преобразовал в программы на Си. - Херб Джонсон
    http://retrotechnology.net/dri/dri_plm.html

    В июне 2018 года я спросил Марка Огдена о работе PLM 1800. Он сказал, что знаком с недавно восстановленным программным обеспечением и обнаружил много общего между PLM 1800 и PL / M 8080. Марк проделал большую работу по воссозданию 8-битной и 16-битной операционной системы и кода ассемблера. Вот ссылка на его сайт github о некоторых его работах. В частности, он декомпилировал ISIS (Intel 8080 OS) и его компилятор plm80 в исходники C. - Херб Джонсон
    http://retrotechnology.net/dri/plm1800_review.html

    Самым старым PLM является кросс-компилятор, написанный на FORTRAN, который работает в 2 прохода (PLM81 и PLM82), создавая шестнадцатеричный вывод. Качество кода довольно хорошее. Я увеличил размеры буфера и перевел код на C. Он отлично работает.

    Затем существуют (как минимум) 2 версии собственного компилятора (PLM80), 3.3 и 4.0, которые работают под управлением ISIS, операционной системы Intel MDS. Марк Огден перевел двоичный файл на C.

    У меня был некоторый успех с использованием препроцессора C с обоими вышеупомянутыми компиляторами PLM с преимуществом расширения языка с помощью MACRO, условной компиляции, включаемых файлов. В частности, я могу сделать один и тот же исходный код компилировать со всеми из них.

    Есть также компиляторы PLM для 8051, 8096, 8086, 80186, 80386.

    У меня не было большого успеха с PLMX, который, кажется, падает, когда источник превышает определенный размер.

    PLM не такой мощный язык, как C. Тем не менее, сгенерированный код часто намного эффективнее, потому что C не очень хорошо компилируется в архитектуру, в которой отсутствует 16-битная индексированная адресация (для локальных переменных и аргументов функций). Я переписал CCP в PLM, добавив множество новых команд и все еще оставаясь в пределах 2 КБ, наложенных исходной архитектурой.

    Да, когда я был молодым (помните Kernighan & Ritchie?), Я читал бесчисленные статьи, объясняющие, насколько ужасным был код, сгенерированный компиляторами C, особенно на Z-80. Удивительно (но логично) видеть, насколько привязаны к данному оборудованию некоторые системные языки (например, C). Но, конечно, новички, знающие только C, не могут этого понять, поскольку у них нет опыта.

    C - отличный язык, но он просто не подходит для некоторых видов оборудования, например, для старых 8-битных процессоров. Есть 2 основные проблемы. Во-первых, выражения C переводятся в размер слова / указателя, который на 8080 равен 16 битам. Очевидно, это не очень эффективно. Во-вторых, как я уже говорил, локальные переменные динамически размещаются в стеке, но нет инструкций, обеспечивающих поддержку размера слова для такого доступа. Предположим, вы хотите передать адрес локального буфера в подпрограмму C на Z80. Самый маленький код (8 байт), который вы можете сделать: -
    PUSH IX; Базовый указатель
    POP HL
    LD BC, буфер
    ADD HL, BC; HL: = IX + буфер
    PUSH HL

    В отличие от более современного EZ80 допускается: -
    PEA (IX + буфер)
    P.S. Видимо, заниматься PL/M будет всё-таки больше Какос, а я только в роли консультанта. Хватит с меня и Оберона.

  12. Этот пользователь поблагодарил Oleg N. Cher за это полезное сообщение:

    andrews (19.09.2019)

Страница 2 из 5 ПерваяПервая 12345 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Форк демо-архива вышел из беты
    от Hacker VBI в разделе Новости
    Ответов: 133
    Последнее: 20.10.2016, 10:26
  2. Ассемблер для 8080
    от shoorick в разделе Разное
    Ответов: 26
    Последнее: 13.02.2016, 14:30
  3. SDCC: библиотеки для ZX
    от Sergey в разделе Программирование
    Ответов: 10
    Последнее: 25.10.2015, 19:30
  4. Форт для процессора 6502
    от rw6hrm в разделе Зарубежные компьютеры
    Ответов: 7
    Последнее: 15.10.2010, 15:01

Ваши права

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