#define CPU_FREQ 1843200 __sfr __at 0x30 sio_a_data; __sfr __at 0x31 sio_b_data; __sfr __at 0x32 sio_a_ctrl; __sfr __at 0x33 sio_b_ctrl; void putchar(char c) { unsigned char ctrl = 0; sio_a_data = c; while (!(ctrl & 0x04)) { sio_a_ctrl = ctrl; ctrl = sio_a_ctrl; } } void print(const char *str) { for (; *str; str++) putchar(*str); } int main() { print("Hello World from C"); return 0; }