Write a program to echo the string 'Hello' to the serial channel (SCI) using the protocol of baud rate 9600,8 bits , no parity and 1 stop bit 
Consider the baud register as shown below

Using a combination of bits5,4,2,1,0 we can set up the required baud rate .On the target system provided the input clock crystal is a 8Mhz (2Mhz internal E) version , therefore for a baud rate of 9600 is the easiest one
      Bit 5= 1 Bit 4 = 1 Bit 2 = 0 Bit 1 = 0 Bit 0 = 0
i.e. (2Mhz / 13) = 9600 *8 bits per second i.e. 9600 Baud
          Baud = 0x30
The bit length mode is set by bit 4 of the SCCR1 as shown below

 
    Bit = 0 'Start bit 8 data bits 1 stop bit' 
    Bit = 1 'Start bit 9 data bits 1 stop bit '
Therefore bit 4 of sccr1 = 0    Sccr1 = 0x00
The SCI control 2 enables us to set interrupts if data is received or can be transmitted; in this case we simply want to enable the transmitter and receiver   
       
Therefore

 
    TE Bit 3, 2= 1 
 
    Sccr2 = 0x0c 
 
This completes the SCI set-up, the remaining register is useful in determining whether data is received or can be transmitted

We can simply check bit7  if this is '1' we can send more data ,Since the configuration is actually set-up on the development boards we do not need to re-program the baud rates but simply use the comms channel. Therefore the a simple hello display program follows
  name ex6  ;Use of the uart to echo Hello ten times 
baud  equ $2b ;Baud rate  register 
sccr1  equ $2c  ;SCI control 1 
sccr2  equ $2d ;SCI control 2 
scsr  equ $2e  ;SCI status 
scdr  equ $2f  ;Serial data register 
  org $500  ;Start on external ram 
;Note that the uart is configured by the monitor 
;the following codes are used for eprom use 
; sccr1 = 0 hex (No 9th bit) 
;baud = 30 Hex (9600 using  8Mhz xtal ) 
; sccr2 = 0c hex (Enable tx) 
  ldx #$0a  ;load up Counter with 10 
loop  ldaa #'H'  ;load up ASCII H 
  jsr txd    ;Send data 
  ldaa #'e'  ;Load up ASCII e 
  jsr txd    ;Send data 
  ldaa #'l' ;Load up ASCII l 
  jsr txd    ;Send data 
  ldaa #'l' ;Load up ASCII l 
  jsr txd    ;Send data 
  ldaa #'o'  ;Load up ASCII o 
  jsr txd    ;Send data 
  ldaa #$0a  ;Load up ASCII newline 
  jsr txd    ;Send data 
  ldaa #$0d  ;Load up ASCII return 
  jsr txd    ;Send data 
  dex    ;X=X-1 
  bne loop  ;repeat till zero 
  swi    ;return back to monitor 
txd  ldab scsr  ;Get sci status 
  andb #$80  ;Mask off bit 7 TDRE 
  beq txd  ;Wait till ready to transmit 
  staa scdr  ;send data from A out 
  ldy #$ff  ;Software time delay 
loop1  dey    ;instead of XON/XOFF protocol 
  bne loop1  ;wait till y = 0 
  rts 
  end