в разработке!

User Tag List

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

Тема: Ищу Си для Z80

Древовидный режим

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

    Регистрация
    23.12.2006
    Адрес
    Славный город Самара
    Сообщений
    484
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    HiSoftC
    ПАМЯТКА ПО ИСПОЛЬЗОВАНИЮ
    (лучше брать версию с редактором 51 символ в строке)

    Загрузка/выгрузка исходников осуществляется в редакторе.
    Переход в редактор: [CS+1], enter.
    Работа с файлами возможна с ленты и дисководов.
    Лента - устройство №0 ("0:" опускается при наборе команды).
    Дисковод "А" - устройство №1,
    Дисковод "B" - устройство №2. (дальше не пробовал. возможно работает с "С" и "D")

    Загрузить исходник:
    команда GET,
    G ,,[device:]filename.c
    Например, загрузить файл "test.c" с дисковода "A":
    G ,,1:test.c

    Причем, если у вас уже был какой-то текст, то загружаемый файл добавится к нему с перенумерацией строк (как по MERGE в бэйсике).

    Записать исходник:
    команда PUT,
    P start_line,end_line,[device:]filename.c
    Например, записать исходник со строки 10 по строку 50 включительно в файл "test2.c" на дисководе "B":
    P 10,50,2:test2.c

    Вывод каталога;
    Команда X.
    X [device]
    Например, вывести каталог дисковода A:
    X 1
    Двоеточие после номера устройства можно не указывать.
    Без параметров выводит каталог текущего диска.

    Компиляция и запуск программы:
    загрузили компилятор.
    вошли в режим редактирования: [CS+1] enter.
    загрузили исходник командой "G".
    можно его просмотреть командой "L".
    отредактировали, если требуется (замудреный неудобный процесс - проще строки заново вводить).
    вышли в компилятор: команда "C".
    набираем: "#include", enter.
    наблюдаем прогон нашей программы.
    жмем [SS+I]
    соглашаемся - жмем "Y".
    Профит!

    Выгрузка объектного кода:
    в режиме компилятора набираем:
    "#translate [device:]object_name.code", enter.
    "#include [device:]source_name.c", enter.
    любуемся на прогон листинга
    жмем [SS+I]
    соглашаемся - жмем "Y".
    объектный код записан на диск и запускается наша откомпилированная прога.
    можно уже нажать на RESET, потому что после выполнения программы компилятор всё равно сбросится (так задумано)
    Профит!
    Примечание: расширения в файлах условны. Они для вас, а не для компилятора. Т.е. вы сами должны помнить,
    где у вас исходные тексты, хедеры и объектники. Имена, всё равно, обрезаются до 8 символов и в TR-DOS
    записываются как кодовые, с расширением "C".


    Запуск откомпилированной программы из бэйсика:
    1. загружаем файл программы с адреса 25200
    2. заносим код 201 (команда RET) по адресу 25218 (а то всё улетит в космос).
    3. вызываем код с адреса загрузки.
    Код:
    10 RANDOMIZE USR 15619:REM: LOAD "MYPROG" CODE
    20 POKE 25218,201 : RANDOMIZE USR 25200
    Профит!
    Примечание: после отработки программа сбросится. Чтобы этого избежать, как рекомендует разработчик, выход
    из программы необходимо завершать инструкцией DI:HALT:

    Код:
    inline(0xf3,0x76);
    Ссылка на скан официальной документации (куча опечаток, но дарёному коню...): ftp://ftp.worldofspectrum.org/pub/si.../h/HiSoftC.pdf

    Подсказки:
    1. Чтобы присвоить указателю фиксированное значение, например адрес экрана и т.п., необходимо давать явное приведение типов, причём не так:
    Код:
    char *screen;
    screen = (char *) 0x4000;
    а, из-за упрощённости компилятора, так:
    Код:
    typedef char * this_is_char_ptr;
    char *screen;
    screen = cast ( this_is_char_ptr ) 0x4000;

    ОШИБКИ КОМПИЛЯТОРА:
    1. Файловый ввод/вывод для TR-DOS присутствует и работает (например, функции fopen/fclose, getc/ungetc/putc).
    Но работают они только в присутствии самого компилятора, - в объектный код при компилировании НЕ включаются.
    Получим вылет "в космос". Таким образом, чтобы программа отработала, как задумано, придётся каждый раз её
    компилировать и запускать из среды HiSoftC.
    Вложения Вложения
    Последний раз редактировалось Sergey; 22.11.2014 в 19:02.
    С уважением,
    Gris / Red Triangle.
    _____________________________________
    ZX-EVO/TS-Labs config/NGS/HDD/SD-card
    Amiga A1200/Blizzard 1230@50/32/60GB
    Amiga A1200/Apollo 1260@66/32/60GB
    UnAmiga (C5) AGA GM7123 VideoDAC

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

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

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

Ваши права

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