User Tag List

Страница 12 из 13 ПерваяПервая ... 8910111213 ПоследняяПоследняя
Показано с 111 по 120 из 125

Тема: LLVM Backend для Z80

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

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

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У EARL последний коммит в 2013 году, о чем вы говорите.

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

    А так вообще вот чувак более живой, пилит что-то: https://github.com/jacobly0/llvm-z80
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

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

  3. #2

    Регистрация
    21.08.2009
    Адрес
    Cyprus
    Сообщений
    236
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    20 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще две попытки создания LLVM-бэкэнда:

    1. https://github.com/Bevinsky/llvm-gbz80 (GBZ80 - урезанная версия Z80 для GameBoy)
    * Инструкция по сборке: https://github.com/Bevinsky/llvm-gbz...d-instructions
    * Dockerfile для сборки этого проекта в docker: https://github.com/dfrankland/docker-gameboy

    2. https://github.com/MI-CHI/llvm-z80-backend

  4. #3

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вопрос
    даже если оно кто то допишет
    чего это нам такого даст?

  5. #4

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,453
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    169
    Поблагодарили
    120 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    вопрос
    даже если оно кто то допишет
    чего это нам такого даст?
    а што ты ждеш?

  6. #5

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiny Посмотреть сообщение
    а што ты ждеш?
    Я ничего не жду
    и уверен что пишется просто ради писания и ради того чтоб было

    а спрашиваю можот кто то чего то и ждет и видит этому применение

  7. #6

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,453
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    169
    Поблагодарили
    120 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    Я ничего не жду
    и уверен что пишется просто ради писания и ради того чтоб было

    а спрашиваю можот кто то чего то и ждет и видит этому применение
    мне показалось, что ворчиш(:
    по идее берешь raze.dll, лепишь к нему немножко кода и получаешь эмуляцию. С таймингом не разбирался.

  8. #7

    Регистрация
    21.08.2009
    Адрес
    Cyprus
    Сообщений
    236
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    20 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    Я ничего не жду
    и уверен что пишется просто ради писания и ради того чтоб было

    а спрашиваю можот кто то чего то и ждет и видит этому применение
    Те кто пишут, дорабатывают сразу же clang заодно. Т.е. хотят как минимум этот C/C++ компилятор использовать. Можно еще, например, Rust доработать. Еще Carp, возможно, хорошо бы лег на 8-битные платформы ( https://github.com/carp-lang/Carp ) - он генерирует C.

  9. #8

    Регистрация
    24.03.2008
    Адрес
    г. Рыбинск
    Сообщений
    123
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я как-то находил инструкции по сборке LLVM clang для z80. Я там мало что понял. Но там, похоже, получаются таргеты для z80 и ez80. Собирается все очень долго и муторно. Чтобы второй раз все не искать, собрал все в одном месте и завернул в образ на Dockerhub. Так что теперь собирать самому не надо (весь день). Весит 1.3 Гб примерно.

    https://github.com/UA3MQJ/z80-llvm
    https://hub.docker.com/repository/docker/ua3mqj/z80llvm

    На компьютере должен быть установлен Docker. Вроде бы можно даже на Windows, но я не пробовал.

    Кладем в текущую папку файл, запускаем и попадаем в среду контейнера, где доступен clang
    Код:
    docker run --rm -it -v$(pwd):/current_dir ua3mqj/z80llvm:1.0.3 bash
    Компилируем
    Код:
    clang -cc1 -triple z80 -S -O3 -o test1.s test1.c
    Из такой функции
    Код:
    char foo(char a, char b) {
        return a + b;       
    }
    получаем такой выхлоп
    Код:
    	SEGMENT	CODE
    	.file	"test1.c"
    	XDEF	_foo
    _foo:
    	push	ix
    	ld	ix, 0
    	add	ix, sp
    	ld	a, (ix + 6)
    	add	a, (ix + 4)
    	pop	ix
    	ret
    Далее не пока не экспериментировал.

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

    Eltaron(04.11.2020), mastermind(11.11.2020), Oleg N. Cher(04.11.2020), Valen(05.11.2020)

  10. #9

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от UA3MQJ Посмотреть сообщение
    На компьютере должен быть установлен Docker. Вроде бы можно даже на Windows, но я не пробовал.
    На работе из-под винды как-то так

    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

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

    UA3MQJ(05.11.2020)

  11. #10

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,714
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Меня заинтересовало, что кодогенератор Clang разворачивает рекурсию в цикл. Это реально любопытно. Смотрите (в репе) пример с факториалом.

    Сюда бы ещё асм-вставки и регистровую модель передачи параметров... а может есть?)

Страница 12 из 13 ПерваяПервая ... 8910111213 ПоследняяПоследняя

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

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

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

Ваши права

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