请问这个汇编语言程序应该如何用C语言改写,实现相同的功能呢?

  MOV  SCON,#01010000b   ;写方式字且TI=RI=0
  MOV  TMOD,#20H         ;T1作波特率发生器
  MOV  TH1,#0FDH        ;选定波特率
  MOV  TL1,#0FDH  
  SETB TR1 
  MOV DPTR,#STR_BASE

  MOV R0,#0

RP: MOV A,R0
MOVC A,@A+DPTR
LCALL TRAM
INC R0
CJNE R0,#16,NEXT
MOV R0,#0
NEXT: SJMP RP

STR_BASE:
DB 'Hello, world !',0DH,0AH

TRAM: MOV SBUF,A ;发送一个字符
WAIT: JNB TI,WAIT ;等待发送结束
CLR TI
RET

   END