Should I start learning 8086 assembly language by learning assembly language of a processor with a reduced instruction set like one of PIC family?
No, you should start learning 8086 ASM by learning 8086 ASM. At their heart, most assembly languages are very similar but I wouldn't try to learn Esperanto as a precursor to Italian.
Just jump right in and, if you strike trouble, come back and ask us questions. We're practically falling over ourselves to help people out here, you may as well use us :-)
I wouldn't. If your primary intent is to learn x86 assembly language, that's what I'd study. Studying one language to learn another rarely makes much sense.
I'd also note that the "reduced" in "RISC" is mostly a myth anyway. The instruction sets of most (so-called) RISCs are larger than that of the 8086 (and some of the individual instructions are often more complex as well).
Assembly languages can be radically different between processors. If you want to learn assembly, it'd probably be best to do so on the processor you intend to learn on. Some instructions from one processor may not translate well (or at all) to others, and at the very least they'll be spelled differently (MOV
vs LD
, for example).
With that said, if your intention is to learn to write code for modern computers, 8086 assembly might (might!) be a decent place to start, as the instructions are somewhat similar. But computers these days almost all have 32- or 64-bit processors (whereas the 8086 is 16-bit), which have a programming model and issues all their own, so you'd do best to get used to those right off.
This is like asking, "should I learn Spanish by learning Basque first". x86 assembly is easy enough to learn (if you stay away from the stuff you need to implement virtual memory etc. for once) and PIC doesn't teach you anything. It's a completely different design with a lot of quirks.