Сообщение от
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