Micro programming and hard wiring
It would be clearer to think of the microcode as an "interpreter" for the ISA. Just like a BASIC interpreter (written in assembly language) reads tokens from the source code and performs whatever actions they indicate, the microcode in a CPU reads ISA instructions from memory and performs the required actions.

And just like you can have different language interpreters for a given ISA, you can have different sets of microcode that implement different ISAs on a given set of CPU hardware primitives. Indeed, there have been commercial systems that did exactly this.1

This concept can be applied at many levels of programming. I once wrote a text editor for my CP/M system that consisted of two layers &mdash; a low level layer that implemented all of the actual editing operations, and a high-level layer that "interpreted" the user input and called those editing functions. I wrote a user interface that imitated the vi editor, while a friend of mine wrote a different UI that imitated the ted editor, because that's what he was used to using.



1 Interesting historical note: This is the reason the very first floppy disk was invented.