As an overview of what I'm trying to do is simply make a program that will display an 32 bit image on the screen. In game programming this is a simple process by using an existing library to render an image to a window. What I've been trying to learn the past few weeks is Assembly to attempt to do this as a first step in creating a minimalistic operating system. I know a LITTLE bit such as the main registers AX, BX, or EAX for 32 bit and RAX for 64 bit, and etc. I understand the concepts of the CPU and RAM, but am having a VERY difficult time understanding things such as peripherals and how to interact with them through interrupts. This seems to be the most vital part to understand, at least to me.
I have a concrete understanding of how to use C\C++, but I don't know all of the possible functions and commands I could. Mainly what I'm looking for right now is to write pixels\images to the screen without the need of an operating system running. I assume that with this I'd need to make my own little mini video card driver. I'm pretty sure this can be done with C and possibly some inline Assembly. Just as a heads up, my IDE\Compiler is Visual Studio 2010:Visual C++ 2010.