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

User Tag List

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

Тема: sdcc. с чего начать.

  1. #11
    dig out your soul Аватар для scl^mc
    Регистрация
    26.01.2005
    Адрес
    Russia, Ulianovsk
    Сообщений
    5,425
    Записей в дневнике
    6
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    ALKO, покопайся в исходниках EvoSDK. там на этом SDCC игры можно писать и часть необходимых функций для работы на спеке реализована (правда с упором на 16С и прочие фенечки Эвы и АТМ).
    есть исходники как минимум двух игр: xonix (идет в комплекте) и innsmouth
    'SONGS FROM CRUEL WORLD' IS REMASTERED!
    unmilky sky and other albums is here
    speccy merchandise

    we can dance beneath the fireflies on an empty road
    there is the light that never goes out... (the smiths)
    если кто-то что-то как-то, то вот моя аська - 371432992

  2. #12
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    144
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    И не знаю компилирует ли она в асм или непосредственно в машинный код.
    Практически любой компилятор си компилирует в асм, а потом ассемблирует полученное каким-нибудь ассемблером. Промежуточный ассемблерный листинг можно вытащить (ключ -S), но ассемблер у sdcc свой, и по синтаксису он несовместим ни с одним из известных мне спектрумских.

    printf
    Не сработает, у sdcc нет либы для поддержки спектрума.

    Я в какой-то теме писал когда-то простой хелло ворлд, счас поищу.

    Вот - http://zx.pk.ru/showpost.php?p=471807&postcount=7
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  3. #13
    Guru Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,257
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    183
    Поблагодарили
    86 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    скажите для начала, какой из этих экзешников запускать, что б вписать туда код?
    и как скомпилировать?

    sz80.exe
    sdldz80.exe
    sdasz80.exe

  4. #14
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    и по синтаксису он несовместим ни с одним из известных мне спектрумских.
    смотрел его оч давно, сильно внимания не заострял. а сейчас периодически донимает вопрос: можно же набором регулярок для sed'а перевести его в нормальный асм? или там что-то совсем забористое есть?

  5. #15
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    144
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    скажите для начала, какой из этих экзешников запускать, что б вписать туда код?
    notepad.exe

    и как скомпилировать?
    см. мою ссылку, там есть командная строка на компиляцию

    ---------- Post added at 18:38 ---------- Previous post was at 18:33 ----------

    Цитата Сообщение от psb Посмотреть сообщение
    смотрел его оч давно, сильно внимания не заострял. а сейчас периодически донимает вопрос: можно же набором регулярок для sed'а перевести его в нормальный асм? или там что-то совсем забористое есть?
    что помню из отличий:
    "xor a, a" вместо "xor a", "or a,c" вместо "or c" (то же для or, and, add, adc etc)
    все числа начинаются с # - #0x01, #19

    это все легко менять sed'ом, но там еще какие-то метки тоже предваряются #, с этим похуже
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  6. #16
    Member
    Регистрация
    08.01.2012
    Адрес
    г.Винница, Украина
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    чёйто не требуется? Под контроллеры пишешь - постоянно так делаешь. Особливо под те, что порты и память не различают - ARM. Да и для AVR тоже можно.
    Только там обычно делают грамотно.
    Под контроллеры - да. Да и то, правильней расписать порты в структуру, а потом эту структуру опциями линкера разместить в нужных адресах памяти.
    Но это частности.

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

  8. #17
    Guru Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,257
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    183
    Поблагодарили
    86 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чего-то он ругается.
    http://piccy_.info/view3/3470895/3d3...af06e7fea9c05/

  9. #18
    Member
    Регистрация
    08.01.2012
    Адрес
    г.Винница, Украина
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Скорее всего ты держишь файл блокнотом или чем-то.

    Тьху ты блин. У тебя файл на рабочем столе. А запускаешь компилятор из левой папки. Он ищет файл в текущем каталоге, и не находит.
    Скопируй файл куда-то, типа D:/sourse/helloword1/ . Потом из папки где лежат исходники вызови ту строку.
    Папку с компилятором пропиши в пути (если он вызывается и так - то не надо).
    Последний раз редактировалось predatoralpha; 14.09.2012 в 19:33.

  10. #19
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    144
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Чего-то он ругается.
    http://piccy_.info/view3/3470895/3d3...af06e7fea9c05/
    Мне кажется, или hello.c лежит на рабочем столе, тогда как sdcc запускается из домашней директории пользователя?
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  11. #20
    Guru Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,257
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    183
    Поблагодарили
    86 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    так-с... скомпилировал.
    Но утилиты hex2bin там нету.

    вот результат компиляции.

    Скрытый текст


    Код:
    ;--------------------------------------------------------
    ; File Created by SDCC : free open source ANSI-C Compiler
    ; Version 3.1.0 #7066 (Nov 22 2011) (MINGW32)
    ; This file was generated Fri Sep 14 18:46:58 2012
    ;--------------------------------------------------------
    	.module hello
    	.optsdcc -mz80
    	
    ;--------------------------------------------------------
    ; Public variables in this module
    ;--------------------------------------------------------
    	.globl _cls
    ;--------------------------------------------------------
    ; special function registers
    ;--------------------------------------------------------
    ;--------------------------------------------------------
    ;  ram data
    ;--------------------------------------------------------
    	.area _DATA
    ;--------------------------------------------------------
    ; overlayable items in  ram 
    ;--------------------------------------------------------
    	.area _OVERLAY
    ;--------------------------------------------------------
    ; external initialized ram data
    ;--------------------------------------------------------
    ;--------------------------------------------------------
    ; global & static initialisations
    ;--------------------------------------------------------
    	.area _HOME
    	.area _GSINIT
    	.area _GSFINAL
    	.area _GSINIT
    ;--------------------------------------------------------
    ; Home
    ;--------------------------------------------------------
    	.area _HOME
    	.area _HOME
    ;--------------------------------------------------------
    ; code
    ;--------------------------------------------------------
    	.area _CODE
    ;hello.c:4: void cls(){
    ;	---------------------------------
    ; Function cls
    ; ---------------------------------
    _cls_start::
    _cls:
    ;hello.c:7: for(i=0; i<SCREENL; i++){
    	ld	de,#0x4000
    	ld	bc,#0x1B00
    00103$:
    ;hello.c:8: *(begin_scr++) = 2;
    	ld	a,#0x02
    	ld	(de),a
    	inc	de
    	dec	bc
    ;hello.c:7: for(i=0; i<SCREENL; i++){
    	ld	a,b
    	or	a,c
    	jr	NZ,00103$
    	ret
    _cls_end::
    	.area _CODE
    	.area _CABS
    [свернуть]


    Что делать дальше?
    Удалить директивы и запихивать в эмулятор этот блок

    Скрытый текст

    ld de,#0x4000
    ld bc,#0x1B00
    00103$:
    ;hello.c:8: *(begin_scr++) = 2;
    ld a,#0x02
    ld (de),a
    inc de
    dec bc
    ;hello.c:7: for(i=0; i<SCREENL; i++){
    ld a,b
    or a,c
    jr NZ,00103$
    ret
    [свернуть]
    ?

    ---------- Post added at 18:59 ---------- Previous post was at 18:55 ----------

    только вот это jr NZ,00103$ мне не нравится... нужно строго указывать org для данной проги.

    ---------- Post added at 19:04 ---------- Previous post was at 18:59 ----------

    ещё в таком присвоении значения регистровым парам асм-компилятор(emuZwin'a) находит синтаксическую ошибку
    ld de,#0x4000
    ld bc,#0x1B00
    Меняю на
    ld de,H4000
    ld bc,H1B00
    - всё равно не правильно.

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

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

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

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

Похожие темы

  1. БК-0011: С чего начать, или вопросы нуба
    от BYTEMAN в разделе БК-0010/0011
    Ответов: 82
    Последнее: 13.06.2021, 22:20
  2. Голая Амига с чего начать
    от alex51 в разделе Amiga
    Ответов: 335
    Последнее: 22.02.2016, 00:26
  3. C чего начать геймдэв для горбатыша?
    от ALKO в разделе Для начинающих
    Ответов: 69
    Последнее: 24.01.2012, 15:49
  4. SDCC вокруг да около
    от andrews в разделе Программирование
    Ответов: 8
    Последнее: 26.03.2008, 08:16
  5. Подскажите с чего начать знакомство со спекки...
    от aleksej в разделе Несортированное железо
    Ответов: 33
    Последнее: 28.12.2005, 23:00

Ваши права

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