Hi. Why does TI need to be set before printf is called.
TI = 1; printf("Hello world\n");
Whereas in assembly TI should be cleared before a char is put in SBUF, so it can be tested to see if the char has been sent