I am trying to build a an 8-bit register using 74LS377 IC (It's from Motorola and the complete part name is 74LS377NDS but I haven't been able to find out what the extra letters mean, here is a datasheet I found: datasheet).
From what I understand, the IC's behaviour should be the following: if the enable input is low (it's an inverted input, active low) then the 8 D flip-flops should store the data at the input pins (inputs D0 through D7) at the next rising clock edge. Once the enable input goes high, it should retain the previous value. However, in the circuit I have constructed once the enable was set to LOW, the outputs mirrored the inputs (Q0-Q7) and when the enable was set to HIGH all of the outputs were turned off. I tried replacing the "clock" with a SPDT switch which would connect the pin to ground or Vcc alternatively and it seems as if the outputs turn on and off regardless of the clock. Furthermore, I observed the same behaviour yet again (enable goes low, outputs reflect inputs, enable goes high, all outputs turn off).
I am using a 555 timer in astable mode to generate the clock signal, and the connections for all the other 7 flip-flops of the 74LS377 are identical to the ones specified for D0 and Q0.
The data input pins are connected with SPST switches to Vcc and with pull-down resistors to ground (so that the inputs don't float).
I really don't know what is causing this behaviour and how can I make work like I want to (when enable goes high, the IC retains the outputs -- acting like a register)?