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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Нужен компилятор си, простой в использовании

  1. #1
    Доктор Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,078
    Благодарностей: 817
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Нужен компилятор си, простой в использовании

    Здравствуйте!
    Подскажите пожалуйста си компилятор, который работает на ПК, и генерирует код для Spectrum'a.
    Я нащёл несколько разных, но не разобрался, как с ними работать.
    Подскажите, какой лучше, и ещё чтобы можно было так: написать код, и, нажав несколько клавиш, получить tap или sna файл, который можно запустить эмулятором.
    Заранее спасибо!
    нефть.

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

  3. #2
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    3,363
    Благодарностей: 705
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    посмотри для спека нативных с компилеров и нет толком
    С уважением,
    Jerri / Red Triangle.
    [02.05.2014] не забудь этот день. Чубайс должен умереть. Dixi.
    [l'Abbey des morts TSEvo EV...5%] kiwi кошелек +79178162712

  4. #3
    Veteran Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    1,187
    Благодарностей: 641
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kakos_nonos Посмотреть сообщение
    Здравствуйте!
    Подскажите пожалуйста си компилятор, который работает на ПК, и генерирует код для Spectrum'a.
    sdcc, iar ewz80
    sdcc - бесплатный, кроссплатфоменный и опенсурсный
    iar код генерит получше (не так любит все адресовать через индексные регистры, например)

    написать код, и, нажав несколько клавиш, получить tap или sna файл, который можно запустить эмулятором.
    С этим проблемы, компилятор - он под проц, а не под архитектуру компа.
    z88dk что-то там околоспектрумское вроде бы умеет
    Граф Дракула наш кумир, патамушта он вомпир!

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

  6. #4
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,497
    Благодарностей: 668
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Формально всё правильно, а по существу - издевательство (В.И.Ленин)

  7. #5
    Доктор Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,078
    Благодарностей: 817
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо всем, присмотрелся к ccz80.
    Кто-нибудь пользовался, как он?
    нефть.

  8. #6
    DimkaM
    Гость

    По умолчанию

    z88dk
    самая большая подборка готовых либ. Самый простой. Куча Компилируемых примеров. Самый богатый насчёт мануалов, вики, форум потдержки.
    Минус -генерит код в полтора раза больше чем в иаре.
    И будь осторожен с преобразованием типов указателей, а то бывает плющит его от этого.

    Освоишся переползёшь на иар.

    ---------- Post added at 10:39 ---------- Previous post was at 10:37 ----------

    Цитата Сообщение от Eltaron Посмотреть сообщение
    sdcc, iar ewz80
    "Хелло ворд!" на них боюсь не сделаешь
    Последний раз редактировалось DimkaM; 25.02.2012 в 11:55.

  9. #7
    Veteran Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    1,187
    Благодарностей: 641
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DimkaM Посмотреть сообщение
    "Хелло ворд!" на них боюсь не сделаешь
    ну да, всю библиотеку придется писать самому, кто спорит

    ---------- Post added at 16:23 ---------- Previous post was at 15:53 ----------

    Однако ничего сложного
    Код:
    void initscr() __naked;
    void putchar(char ch) __naked;
    void printf(char* text);
    
    void main()
    {
    	initscr();
    	printf("Hello, world!");
    }
    
    void initscr() __naked
    {
    	__asm
    	push af
    	push bc
    	ld a, #2
    	call #0x1601
    	ld b, #0x18
    	call #0x0E44
    	ld a, #0x16
    	rst #0x10
    	xor a
    	rst #0x10
    	rst #0x10
    	pop bc
    	pop af
    	ret
    	__endasm;
    }
    
    void putchar(char ch) __naked
    {
    	__asm
    	rst #0x10
    	ret
    	__endasm;
    }
    
    void printf(char* text)
    {
    	while (*text != 0)
    		putchar(*text++);
    }
    Код:
    sdcc --code-loc 0x9c40 --no-std-crt0 -mz80 hello.c
    hex2bin hello.ihx
    получаем hello.bin, грузим в эмуль с 9c40, randomize usr 40000, вуаля!
    попутно вспомнил, чем еще раздражает sdcc - решетками # перед числами в асме. Мозг отказывается воспринимать такие числа не как hex
    Последний раз редактировалось Eltaron; 25.02.2012 в 13:34.
    Граф Дракула наш кумир, патамушта он вомпир!

  10. #8
    Activist
    Регистрация
    21.12.2005
    Адрес
    Kyiv/Ukraine
    Сообщений
    412
    Благодарностей: 48
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    попутно вспомнил, чем еще раздражает sdcc - решетками # перед числами в асме. Мозг отказывается воспринимать такие числа не как hex
    Да, есть такая бяка.
    Поэтому использую sdcc asm, только для маленьких inline кусочков асм кода.
    Если нужно кодить на асме много, просто юзаю другой асм компилятор (с более удобным синтаксисом) и затем уже линкую скомпиленный асмом бинарь к бинарю sdcc.
    Последний раз редактировалось Valen; 25.02.2012 в 16:50.
    V6Z80P - Back for Good

  11. #9
    Veteran Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    1,187
    Благодарностей: 641
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Valen Посмотреть сообщение
    затем уже линкую скомпиленный асмом бинарь к бинарю sdcc.
    а как, руками? там форматы все какие-то самописные и ни с чем не совместимые вроде бы
    Граф Дракула наш кумир, патамушта он вомпир!

  12. #10
    Activist
    Регистрация
    21.12.2005
    Адрес
    Kyiv/Ukraine
    Сообщений
    412
    Благодарностей: 48
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    а как, руками? там форматы все какие-то самописные и ни с чем не совместимые вроде бы
    Да, руками бинарники объединяю.
    (например, вызываю bin2c для асмовского бинарника и потом просто #include в sdcc Си файл или же загружаю файл асмовского бинарника, при старте программы)
    V6Z80P - Back for Good

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Компилятор FM музыки ?
    от AAA в разделе Программирование
    Ответов: 0
    Последнее: 09.09.2010, 09:01
  2. Ответов: 13
    Последнее: 24.10.2009, 22:28
  3. куплю самый простой спек! 48кб самый простой
    от REMR в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 23.08.2008, 21:42
  4. Об использовании WDC1772
    от ILoveSpeccy в разделе Unsorted
    Ответов: 3
    Последнее: 14.06.2007, 21:20
  5. кросс компилятор С для Z80
    от vitasam в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2007, 18:03

Ваши права

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