40 lines
529 B
C
40 lines
529 B
C
typedef unsigned char uint8_t;
|
|
typedef unsigned short uint16_t;
|
|
typedef unsigned int uint32_t;
|
|
|
|
|
|
struct iter {
|
|
uint32_t i;
|
|
};
|
|
|
|
struct point {
|
|
uint32_t i, j;
|
|
};
|
|
|
|
static void outb(uint8_t value, uint16_t port)
|
|
{
|
|
__builtin_outb(value, port);
|
|
}
|
|
|
|
|
|
static struct point mkpoint(void)
|
|
{
|
|
struct point p;
|
|
p.i = 1000;
|
|
p.j = 2000;
|
|
return p;
|
|
}
|
|
|
|
static void main(void)
|
|
{
|
|
struct iter iter;
|
|
for(iter.i = 0; iter.i < 32; iter.i++) {
|
|
outb(iter.i, 0x80);
|
|
}
|
|
struct point p;
|
|
p = mkpoint();
|
|
outb(p.i, 0x80);
|
|
outb(p.j, 0x80);
|
|
}
|
|
|