Si ya hicieron el que manda datos al puerto paralelo 0x378, viene siendo exactamente lo mismo solo que esta vez sería para la dirección 0x37A que es el de control.
Sólo hay que tomar en cuenta que los pines de control son bajo activos, es decir cuando el bit 0 del registro de control (0x37A) esta en 0 tendrás en el pin 1 del puerto 5 Volts (1).
el pin clk del 74ls374 responde al flanco de subida, por lo tanto vas a tener que mandar al bit0 del puerto de control un 1 esperar un tiempo(retardo) y mandar un 0, lo mismo se aplica al otro pin que estes usando.
Carga Primer 74ls374
__ ________
\__/
Carga segundo 64ls374
_____ _____
\__/
Para generar el retardo esta la función Sleep(int) en milisegundos (#include <windows.h>) o sleep(int) en segudos (#include <dos.h>)
Si dices que usaron el outportb, entonces lo podrías ver como,
outportb(0x37A,0x01);
outportb(0x378,DatoM1M2);
Sleep(50);
outportb(0x37A,0x02);
outportb(0x378,DatoM3M4);
Sleep(50);
outportb(0x37A,0x00);
Y este se puede modificar para que sea algo más continuo y que veas en el osciloscopio algo como
__ __ __ __
\__/ \__/ \__/ \__
_____ __ __ __
\__/ \__/ \__/