Intel 386 User Manual page 176

Embedded microprocessor
Table of Contents

Advertisement

---------------------------------------------------------------------------*/
void SerialWriteStr2()
/* Loops while writing a char out to the serial port */
{
_asm
{
mov
mov
mov sp,0x100
Forever:
mov
TstStatus:
in
testal,0x20
je
// Code below is same as _SetEXRegByte(TransmitPortAddr,'X')
mov
mov
out
jmp
}
}
/*********************** Function SerialWriteStr **************************
Parameters:
Unit
Unit number of the serial port.
port 1.
*str
Character string to be written out the serial port.
Returns:
None
Assumptions:
None
Real/Protected Mode
------------------------------------------------------------------------*/
void SerialWriteStr(int Unit, const char far *str)
{
WORD TransmitPortAddr;
WORD StatusPortAddr;
// Set Port base, based on serial port used
TransmitPortAddr = (Unit ? TBR1 : TBR0);
StatusPortAddr =
for( ; *str != '\0'; str++)
{
// Wait until buffer is empty
while(!(_GetEXRegByte(StatusPortAddr) & SIO_TX_BUF_EMPTY)) ;
// Write Character
_SetEXRegByte(TransmitPortAddr,*str);
}
ax,0x3900
ss,ax
dx,0xf4fd
al,dx
TstStatus
ax,'X'
dx,0xf4f8
dx, al
Forever
(Unit ? LSR1 : LSR0);
SYSTEM MANAGEMENT MODE
0 for SIO port 0, 1 for SIO
7-17

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Intel386 exIntel386 extbIntel386 extc

Table of Contents