Compared to a lot of languages today it is harder but you can still get useful results, to say nothing of learning assembly to a reasonable level will tend to help you write better code*. If you stick with the really old stuff from back when it will probably be a nightmare but the modern world and all the debug tools it affords means we have stuff like
http://www.plantation-productions.com/Webster/HighLevelAsm/index.html and
https://stuff.pypt.lt/ggt80x86a/asm1.htm which for me at least made it quite manageable. Those will cover x64/x86, if you want something else for an embedded system then look up whether such a thing was used in a console for ROM hackers then tend to have nice tools and documentation. Mind you it has been said learn one assembly and you are good, learn two and you can pretty much understand them all -- some will have quirks, some will have fewer abilities (some really old chips not only lack divide but subtraction is tricky) and slightly different syntax** but in the end it is still going to be the same handful of arithmetic instructions, device management instructions and program flow instructions that you use day in and day out.
*classic example being if you write a function call in assembly you will understand very clearly why calling a function within a function in C, or indeed most other languages, is not ideal.
**something like the NES 6502 only has three registers used in general use so most people consider individual instructions for them. To do that with the dozens of registers on the average x86 processor would be madness so people instead consider instructions as things and just fill in source and destination.