#include #include #define LPT1 0x00400008 /* BIOS printer address entries */ #define LPT2 0x0040000a #define LPT3 0x0040000c #define LPT4 0x0040000e int main(int argc, char *argv[]) { unsigned int port,data; unsigned int far *bios_printer_addr; int i; if (argc != 2) exit(1); port=*(bios_printer_addr=LPT1); if (port==NULL) { printf("LPT1 does not exist\n"); exit(1); } data = inportb(port); for (i = 0, data = 0; i < 7; i++) { if (argv[1][i] == 0) return(1); data = data << 1; if (argv[1][i] == '1') data = data | 0x01; } outportb(port, (char)data); return(0); }