#include #include #include #define base 0x378 /* Endereço da porta da impressora */ main(int argc, char **argv) { int j,i,value,flag; int sinal[8]; if (ioperm(base,1,1)) fprintf(stderr, "Erro: Usuário não tem permissão para acessar a porta %x\n", base), exit(1); sinal[1] = 1; sinal[2] = 3; sinal[3] = 2; sinal[4] = 6; sinal[5] = 4; sinal[6] = 12; sinal[7] = 8; sinal[8] = 9; flag = 1; while ( 1 ) { for(j = 1 ; j <= 15 ; j ++) { if(flag) value = sinal[1]; else value = sinal[8]; for(i = 1 ; i<=8 ; i++) { outb((unsigned char)value, base); usleep(0.5); if(flag) value = sinal[i]; else value = sinal[9-i]; } } flag = !flag; } }