That's what microcode is - an abstraction between machine code ("compiled" assembly) and control lines. The machine code is a CISC-like system that controls the microcode ROM/PLA which outputs either the internal RISC-like opcodes or the actual control lines.