void setbit(int b) { const int device = 0; if (!b) *(volatile unsigned long*)0xCC006800 |= (1<<(device + 7)); else *(volatile unsigned long*)0xCC006800 &= ~(1<<(device + 7)); } void put_uart(int b) { setbit(b); volatile int i; for (i=0; i<529; ++i); } void serial_putc(char c) { int i; put_uart(0); for (i=0; i<8; ++i) put_uart(c & (1 << i)); put_uart(1); }