home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / dos_ency / 6 / uart.asm < prev   
Encoding:
Assembly Source File  |  1988-08-11  |  1.2 KB  |  31 lines

  1.         MOV     DX,03FBh        ; base port COM1 (03F8) + LCR (3)
  2.         MOV     AL,080h         ; enable Divisor Latch
  3.         OUT     DX,AL
  4.         MOV     DX,03F8h        ; set for Baud0
  5.         MOV     AX,96           ; set divisor to 1200 BPS
  6.         OUT     DX,AL
  7.         INC     DX              ; to offset 1 for Baud1
  8.         MOV     AL,AH           ; high byte of divisor
  9.         OUT     DX,AL
  10.         MOV     DX,03FBh        ; back to the LCR offset
  11.         MOV     AL,03           ; DLAB = 0, Parity = N, WL = 8
  12.         OUT     DX,AL
  13.         MOV     DX,03F9h        ; offset 1 for IER
  14.         MOV     AL,0Fh          ; enable all ints in 8250
  15.         OUT     DX,AL
  16.         MOV     DX,03FCh        ; COM1 + MCR (4)
  17.         MOV     AL,0Bh          ; OUT2 + RTS + DTR bits
  18.         OUT     DX,AL
  19. CLRGS:
  20.         MOV     DX,03FDh        ; clear LSR
  21.         IN      AL,DX
  22.         MOV     DX,03F8h        ; clear RX reg
  23.         IN      AL,DX
  24.         MOV     DX,03FEh        ; clear MSR
  25.         IN      AL,DX
  26.         MOV     DX,03FAh        ; IID reg
  27.         IN      AL,DX
  28.         IN      AL,DX           ; repeat to be sure
  29.         TEST    AL,1            ; int pending?
  30.         JZ      CLRGS           ; yes, repeat
  31.