Example
(_outp -- Write Byte to Output Port)
This example uses _outp to write a byte to a
specified output port and return the data written.#include <builtin.h>
#define LOWER 0
#define UPPER1 255
#define UPPER2 65535
int Add1(int j);
static int g;
enum fruit {apples=10, bananas, cantaloupes};
enum fruit f = cantaloupes;
int arr[] = {cantaloupes, bananas, apples};
struct
{
int i;
char ch;
} st;
int main(void)
{
static int i;
volatile const int c = 0;
st.i = c - bananas;
g = _outp(LOWER, apples);
i = _outp(255, 0);
/* =========================== */
/* Types of port number passed:*/
/* --------------------------- */
i = _outp(UPPER2, UPPER1); /* - #define constant */
i = _outp(st.i, bananas); /* - element of structure */
i = _outp(f, arr[1]); /* - enumerated variable */
i = _outp(_inp(arr[2]), apples); /* - return value from a */
/* builtin function call */
/* --------------------------- */
i = _outp(_outp(apples,Add1(LOWER)), 6);
return 0;
}
int Add1(int j)
{
j += 1;
return j;
}