Hallo,
das Problem ist, dass es nicht mit dem Lernen von ASM bzw. Verilog getan 
ist, denn damit kann man noch nicht viel anstellen. Man muss beim µC 
noch die SFRs (Special Function Register) und deren Funktion kennen und 
die sind oft umfangreicher, als ein paar Assemnblerbefehle. Natürlich 
variiert das sehr stark von der einen Prozessorfamilie zur anderen.
Verilogbefehle zu kennen bringt auch dann oft nicht viel, wenn man nicht 
weiß, wie man Blockram, PLL, ... ansteuert. Oft wird ein Designtool 
meckern, wenn man scheinbar sehr logische und übersichtliche Designs 
schreibt. Das liegt bspw. daran, dass einer Variable an zwei 
verschiedenen Stellen im "Programm" gleichzeitig etwas zugewiesen werden 
könnte, was aber in der vorgesehenen Anwendung sowieso nicht auftritt.
z. B. Taste 1 drücken setzt x auf 1 und Taste 2 setzt x auf 0, ist 
nichts gedrückt soll es so bleiben, wie es war. Nun könnte es aber 
passieren, dass beide Tasten gedrückt werden und für diesen Fall muss 
der Compiler eine Lösung finden, auch wenn man das nicht vor hat und das 
kann der Compiler nicht -> Error. Das passiert auch bei 
Flankensteuerung. Auch wenn die Wahrscheinlichkeit gegen 0 geht, dass 
beide Flanke gleichzeitig auftreten, kann es der Compiler nicht 
übersetzen.
Also Verilog sieht zwar schön einfach aus, aber keines von beiden ist 
einfacher zu lernen. In Verilog wird man zwar Dinge ganz einfach 
realisieren können, die in ASM gar nicht denkbar wären: echte 
Parallelität, Echtzeit, asynchrone Ereignisverarbeitung..., ABER manche 
Sachen, wofür µCs gedacht sind, gehen halt in Verilog (FPGA) doof oder 
ganz ineffizient oder mit effizienzsteigernden Tricks noch viel doofer 
und unübersichtlicher.
Da du sowieso beides brauchst, fang doch mit PIC-Assembler an, das ist 
am einfachsten.