In: Electrical Engineering
Assembly Language also called mnemonics varies with different processors and microcontrollers.
As the hardware resources like registers, I/O ports, address bus width etc. varies from one processor to other we may encounter variation in the assembly instruction.
There are different addressing modes used by processors like segmentation of memory is done, banking of General purpose registers are done and hence data can be accessed by the processor in assembly laguage in different forms. Immediate addressing , Direct Addressing, Indirect addressing, Indexed, Base+Index are few examples.
Hence it is important to learn all forms of addressing for the same instruction type. Also conditional instructions gives variation in the instruction set. Mostly conditional instruction are based on flags.
On the whole overview, It is very important to know and understand the architecture of the processor first and then instruction set of the given processor.
To start you may consider assembly programming of 8085 processor / 8051 microcontroller.
EDA Tool:
CAD tools like KEIL, IAR, CodeWArrior helps us to write programs and assemble or compile. In simulation environment the program logic can be verified and debugged before programming the target device(Microprocessor/Microcontroller).
Only advanced microcontrollers gives option to look into their memory/register contents, or perform debugging.
Depending on target device we can select CAD tools for programming and install. Mostly these tools are free.
These CAD tools mostly offer choice to program in Higher Level Language like C / Assembly language.
Best source to refer assembly instructions of a particular controller is its datasheets provided by the manufacturer.