
        mov     r1,#01
        call    readadc
        ....

readadc:
        clr     p1.3               ; take CS low to wake up the MAX186
        mov     a,r1               ; prepare a control byte
        rl      a                  ; channel select bits need to end up
        rl      a                  ;   in a.6 through a.4
        rl      a
        rl      a
        orl     a,#10001110b       ; complete the control byte

        mov     r0,#8              ; initialize bit counter
nbit1:  rlc     a                  ; send the control byte, MSB first
        mov     p1.1,c
        setb    p1.2               ; pulse SCLK between bits
        clr     p1.2
        djnz    r0,nbit1           ; repeat for all eight control bits

