SER_INT:	push psw		;save psw
		push acc		;save acc
		push dpl		;save dpl
		push dph		;save dph
		jb ri,receive		;receiver interrupt ?
		jnb char_rcv_flag,ser_exit	;transmitter ready & no new char.
		mov sbuf,buffer		;send byte
		clr ti			;clear transmitter interrupt
		clr char_rcv_flag	;clr character received Flag
		sjmp ser_exit		;exit ISR
RECEIVE:	mov buffer,sbuf		;received byte into buffer
		clr ri			;clear receiver interrupt
		setb char_rcv_flag	;set Flag
SER_EXIT:	pop dph			;get dph 
		pop dpl			;get dpl 
		pop acc			;get acc 
		pop psw			;get psw 
		reti			;return from interrupt