changed cycles taken to be done inside the opcode functions themselves