Page 368 - Introduction to Microcontrollers Architecture, Programming, and Interfacing of The Motorola 68HC12
P. 368

PROBLEMS                                                            :H5


        get:         BRCLR SC1SR,$20,get
                     LDAB    SC1DR
                     RTS

        * void main() { char i;

                     PSHA

        * SC1BD = 52; 7*9600 baud*/ SC1CR = OxC; /* enable Xmt, Rev devices */

                     MOVW #52,SC1BD
                     MOVE #$C,SC1CR

        * i = SC1SR; i = SC1DR; i = SClSR; i = SC1DR; /* clear RDRF */

                     LDAB   SClSR
                     LDAB   SC1DR
                     LDAB   SClSR
                     LDAB   SC1DR

        * for(i = 0; i < 9; i++) put(str[i]);

                     CLR    0,SP
                     LDX #str
        11:          LDAB B, X
                     BSR    put
                     INC    0,SP
                     LDAB 0,SP
                     CMPB   #9
                     BLT    11

        * do j = get(); while( j != '\r') ;

        12:          BSR    get
                     STAB j
                     CMPB #13
                     BNE    12
                     PULA
                     RTS

                           Figure 11.18. Program with Disassembly
   363   364   365   366   367   368   369   370   371   372   373