Помогите разобраться. Как создать хотя б хелло ворлд этой штукой.
Помогите разобраться. Как создать хотя б хелло ворлд этой штукой.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
(๑•̀ㅂ•́)و✧ Doors UI → https://t.me/doorsui | https://t.me/atari_xl_xe ← Atari XL/XE (●´ω`●)ゞ
хех... спасибо,не знал.#include <stdio.h>
main() {
printf("Hello world");
while(1) {};
}
Я про то, как скомпилировать под Z80.
Как записать допустим какое-либо значение в какую-нибудь область памяти. И тд.
этот самый printf - работает как ассемблерный call(процедура печати символа в ПЗУ) ?
---------- Post added at 23:58 ---------- Previous post was at 23:57 ----------
там куча бинарников в папке, а что с ними делать...хз... как настроить компоновщик...
Обычно под С это прямо не требуется, там идёт работа с переменными и указателями.Как записать допустим какое-либо значение в какую-нибудь область памяти
Но если очень надо:
*(char*)0xAAAA =0x55; // Записываем 55h по адресу ААААh
насчёт того как скомпилить - не скажу, кури документацию.
чёйто не требуется? Под контроллеры пишешь - постоянно так делаешь. Особливо под те, что порты и память не различают - ARM. Да и для AVR тоже можно.
Только там обычно делают грамотно.
Определяют макрос типа:
#define MEMORY_REGISTER (*(unsigned char*)0xABCD)
А потом можно записать в эту ячейку:
MEMORY_REGISTER = 5;
Или считать значение ячейки:
unsigned char d = MEMORY_REGISTER;
Например (для спека) очистка экрана:
Это учёбный пример, быстрее и короче очистить экран так:Код:#define SCREEN ((unsigned char*)0x4000) #define SCREENL 6912 void cls(){ unsigned char* begin_scr = SCREEN; unsigned int i; for(i=0; i<SCREENL; i++){ *(begin_scr++) = 0; } }
Код:#include <string.h> memset((void*)0x4000, 0, 6192);
Не обязательно. printf выводит символы при помощи функции putchar. Напиши свой putchar и будет вывод куда угодно и как угодно
Я б с радостью бы написАл. Но я не знаю как компилировать этой штукой.
И не знаю компилирует ли она в асм или непосредственно в машинный код.
Вот и решил спросить тех, кто знаком с данным компилятором.
---------- Post added at 07:22 ---------- Previous post was at 07:21 ----------
Именно про такой "хыллоу ворлд" я спрашивал.
Практически любой компилятор си компилирует в асм, а потом ассемблирует полученное каким-нибудь ассемблером. Промежуточный ассемблерный листинг можно вытащить (ключ -S), но ассемблер у sdcc свой, и по синтаксису он несовместим ни с одним из известных мне спектрумских.
Не сработает, у sdcc нет либы для поддержки спектрума.printf
Я в какой-то теме писал когда-то простой хелло ворлд, счас поищу.
Вот - http://zx.pk.ru/showpost.php?p=471807&postcount=7
Граф Дракула наш кумир, патамушта он вомпир!
VKINK 9 : BORDER NOT PI
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
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)