/* * putchar — вывести один символ через ESTEX PUTCHAR ($5B). * * Конвенция Turbo-C: эта stdio.h-функция — БЫСТРЫЙ путь БЕЗ управления * атрибутом. Используется то, что ESTEX закэшировал для ячейки курсора * (обычно цвет шелла по умолчанию). '\n' транслируется в CR LF по * семантике C-строк. * * Для цветного вывода — putch() / cputs() / cprintf() из : * они учитывают textattr / g_text_attr ценой ~10-кратного замедления. * * SDCC __sdcccall(1): char-аргумент в L (младший байт HL=int). * Возврат символа в DE (int-возврат SDCC). */ #include int putchar(int c) __naked { (void)c; __asm ld a, l cp #0x0A jr nz, cputc call cputc ld a, #0x0D cputc: ld c, #0x5B rst #0x10 ld e, l ld d, #0 ret __endasm; }