Thnq Set the 8251A in asynchronous mode as a transmitter and

Thnq

Set the 8251A in asynchronous mode as a transmitter and receiver with even parity enabled, 2 stop bits, 8-bit character length, frequency 160 kHz and rate 10K. Write an ALP to receive 100 bytes of data string and store it at 3000:4000H.

Solution

Solution:

Asynchronous mode control word for transmitting 100 bytes of data

D7 D6 D5 D4 D3 D2 D1 D0

1 1 1 1 1 1 1 0=FEH

2STOP BITS Even parity 8bit CLK scaled

enabled format

An ALP to initialize 8251 and receive 100 bytes of data

ASSUME CS:CODE
CODE SEGMENT
START : MOV AX,3000H
MOV DS,AX ; Data segment set to 3000H
MOV SI,4000H ; Pointer to destination offset
MOV CL,64H ; Byte count in CL
MOV AL,7EH ; Only one stop bit for
OUT OFEH,AL ; receiver is set
MOV AL,14H ; Load command word to enable
OUT 0FEH,AL ; the receiver and disable transmitter
NXTBT : IN AL,OFEH ; Read status
AND AL,38H ; Check FE, OE and PE
JZ READY ; If zero, jump to READY
MOV AL,14H ; If not zero, clear them
OUT OFEH,AL
READY: IN AL,0FEH ; Check RXRDY, if receiver is not ready
AND AL,02H
JZ READY ; wait
IN AL,0FCH ; If it is ready,
MOV [SI],AL ; receive the character
INC SI ; Increment pointer to next byte
DEC CL ; Decrement counter

JNZ NXTBT ; Repeat, if CL is not zero
MOV AH,4CH
INT 21H
CODE ENDS
END START

Thnq Set the 8251A in asynchronous mode as a transmitter and receiver with even parity enabled, 2 stop bits, 8-bit character length, frequency 160 kHz and rate

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site