1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
/*
* This is a test program to demonstrate use of the debug input and output
* port.
*
* $Id$
*/
/*
* This port correponds to the "-W 0x20,-" command line option.
*/
#define special_output_port (*( (volatile char *)0x20))
/*
* This port correponds to the "-R 0x22,-" command line option.
*/
#define special_input_port (*( (volatile char *)0x22))
/*
* Poll the specified string out the debug port.
*/
void debug_puts(const char *str)
{
const char *c;
for ( c=str ; *c ; c++ )
special_output_port = *c;
}
/*
* Main for test program. Enter a string and echo it.
*/
int main()
{
volatile char in_char;
/*
* Output the prompt string
*/
debug_puts(
"\n\n"
"Press any key(and enter,if input is buffered, i.e. from keyboard):"
"\n> "
);
/*
* Input one character but since line buffered, blocks until a CR.
*/
in_char = special_input_port;
/*
* Print the "what you entered:" message.
*/
debug_puts( "\nYou entered: " );
/*
* now echo the rest of the characters
*/
do {
special_output_port = in_char;
} while ( (in_char = special_input_port) != '\n' );
special_output_port = '\n';
special_output_port = '\n';
return 0;
}
|