I'm learning assembly language from whatever i can find on the internet.
I chose asm, After learning other languages like C, visual basic and scripting languages like jscript, vbscript...

I found that although asm is not as user readable friendly as other higher-end languages, I like writing asm code. infact i love programming in assembly language.
The problem i have is there are many tutorials for beginners but very little for advanced.. ?

  I decided before programming with assembly, a course layout that i would feel confident to program with once learnt.
The layout .
Keyboard access
Mouse access
Direct Screen Access
      vga txt, Graphics
            & after completed this layout VESA.
Direct Memory access
                & manipulation
Direct Disk access
                & Manipulation
                Fixed & Removable.
Direct sound access
                & Manipulation
                2, 4 & 5 Speakers.
USB access & Manipulation.

I have understanding of most of these, but the main one i want to learn as i believe it will take up the most time is USB..

Does anyone have any text or know of any free tutorials on input / output USB that is free ??

Posted on 2009-08-18 10:18:59 by DarrenBall
Is there any particular reason for you to want write asm programs under DOS? If not then I strongly recommend writing under win32. Actually, many of the things you mentioned here are very difficult to program under DOS due to poor driver support. And if you're into writing your own drivers then good luck ^^'
Posted on 2009-08-18 10:36:08 by ti_mo_n
OSDev.org, in which has references to the documentation at USB.org, should have more than enough information to get you started.

You are about 20 years too late in hoping to find sufficient ASM-only sources. There is indeed some ASM code out there, but most information will come from a mix of reading C source code and technical specifications.

Also, you would be better off writing for Win32 and not DOS. DOS mostly represents the old segmented 16-bit Real Mode version of the x86 architecture. Win32 is closer to how you'd most likely develop your own OS, in 32-bit Protected Mode.

I suggest you start writing your drivers under a platform like Windows, or even Linux. You can still do this in assembly, but you will just have to conform to the established API. If done correctly, there will be minimal effort in porting the driver to your own OS.
Posted on 2009-08-18 11:36:44 by SpooK