Assembly instruction set depends on the architecture and to which extent you are familiar with it.
While C is more generic but not in everything, there are some parts related to the architecture too, but not many, that's why they call "C" portable, which mean you can port the code to different processor easily.