Es kommt auf das Vorwissen an, für einfache, kurze Programme ist Assembler zum Teil sogar einfacher als C. Denn gerade das direkte ansprechen der Hardware ist in C gar nicht so einfach. Manchmal kommt es so weit das man sich überlegen muss wie man den Compiler dazu bringt den Assembler Code zu erzeugen den man eigentlich haben will.
C Proramme können aber besser lesbar sein als Assembler Programme (müssen es aber nicht). Für längere Programme kommt man kaum um eine Hochsprache herum.

Je nach Vorwissen braucht man nicht unbedingt ein Buch, es gibt reichlich online Tutorials zu C und Assembler. Ganz ohne Programmierkentnisse (in irgend einer Sprache) kann das aber etwas knapp sein.