Помогите разобраться. Как создать хотя б хелло ворлд этой штукой.
Вид для печати
Помогите разобраться. Как создать хотя б хелло ворлд этой штукой.
хех... спасибо,не знал.Цитата:
#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 ----------
Именно про такой "хыллоу ворлд" я спрашивал.
ALKO, покопайся в исходниках EvoSDK. там на этом SDCC игры можно писать ;) и часть необходимых функций для работы на спеке реализована (правда с упором на 16С и прочие фенечки Эвы и АТМ).
с чего так долго? трудно писать код на z80?