Using Assembler to programme computers.... that big difference between and IT person and an Electronics Engineer!!
Electronics Engineers are raised on Machine Code and Assembler,so we find it pretty easy.
All I can say to anyone starting off using Assembler is, "Welcome to the realm of the gods and titans in software!!"
If you're going to use Assembler to programme a PC you seriously need a copy of the "IBM Built In Operating System Manual" for all the in built subroutines and helpful bits of code.
Also things like the XDPB (Expanded Disc ParameterBase), media read/write routine calls (with regster conditions), acknowledgements, interrupts, non-maskableinterupts, graphics calls, etc. are held.
You can't seriously create complex software on the PC without this book.
Also data is chucked around the insides of any computer in in what engineers refer to as "Streams" and these have been standardised in computer design since the darkages.
Streams can be linked to each other, with a line of code tocall certain BIOS subroutines.
Forinstance linking Strem #2 (keyboard output) to Stream #1 (display input) willhave everrything typed into a keyboard appear on the screen rather than goto thekeyboard memory buffer (Stream #5 input).
Stream #8 is the printer input, so directing the keyboard to this will have any computer running the printer as a typewritter.
If anyone wants some help with learning assembler, I've taught people the core basics before.
I started out with the Signetics 2650 in the late 1970's.
I can now programme 80x86, Z80, Z8000, 8080, 6800, 68000, 80x1, PIC, etc. or any micriporcessor that will ever enter existance. Once you can programme one, you can programme any processor. Just like cars, trucks and motocycles, they all have the same controls, drive the same way, though the controls may have different names, just like French and European cars have the driving position on the wrong side.
The easiest processor to programme in Assembler, for an novice, is the 68000. The 80x86 is quite awkward due to its lack of registers, which was the main reason that 1980's amd 1990's Macintoshs were always superiour to the PC, as the PC had the inferiour processor.