"mnemonik to po prostu słowny zapis instrukcji procesora" - to jest bzdura. Jeden mnemonik może zostać przetłumaczony na kilka różnych instrukcji procesora. Poszukaj sobie listy opcodów i zobaczysz na przykład kilkanaście dla jednego assemblerowego ADD.
Owszem, jest kompilowany, ale asembler jest po to, żebyś nie musiał stukać programów w hexedytorze np. Składa się on z mnemoników, a zapewne wiesz, że mnemonik to po prostu słowny zapis instrukcji procesora. Pisząc w asemblerze, po kompilacji większość kodu jest niezmieniona. Debugger/Dizassembler i analiza.
A między nami, czy najtrudniejszy to nie wiem, bardziej najmniej zrozumiały dla człowieka. Rozkazów nie ma w nim Bóg wie ile, wymaga po prostu zrozumienia istoty działania m.in. procesora.