Posted by: dargueta in Untagged on
Aug 13, 2008
Welcome back to Part 8 of Programs Under the Hood. Today we're going to disassemble a BIOS interrupt to get a real-world example of what programs are structured like, and we'll see if we can convert some of it to C/C++ code. (I apologize for the large line breaks. For some reason, they just appeared.)
POPPING THE HOOD-DISASSEMBLING A BIOS ROUTINE
A few issues back I mentioned that the
Posted by: dargueta in Untagged on
Jul 31, 2008
Welcome to Part 7 of Programs Under the Hood. Today we're going to learn a bit more about how programs make decisions on the assembly language level. I promise after this we'll get back to the disassembler project.
FLOW CONTROL STRUCTURES
Everyone who knows C/C++ is familiar with the goto keyword, the bane of many a programmer's existence. Using goto makes code harder to read and terrible
Posted by: dargueta in Untagged on
Jul 19, 2008
I realize that I’ve been throwing a lot at you all at once. I now promise to go slower, easier, and put in more diagrams. Today we’re going to learn about the stack, stack frames and functions.
USING A STACK
Just about every program needs a stack, or a section of memory that is used sort of like temporary storage. It’s not like allocating memory, because the stack is already part of the
Posted by: dargueta in Untagged on
Jul 05, 2008
Hello, and welcome back to Programs Under the Hood. Today we're going to start planning out our disassembler's memory, talk a bit about memory segmentation, and then start working on the actual program. For those of you who have no idea what I’m talking about, please see Programs Under the Hood…Introduction to start from the beginning.
All right... let’s get going on this disassembler
Posted by: dargueta in Untagged on
Jun 29, 2008
(Part 4)
Hello, and welcome to the latest part of my series, Programs Under the Hood. Today we’re going to relearn a bit of what I poorly taught last time, get more familiar with debug.exe, and finally write our first program in assembly language. I know I threw a lot at you last time, so if you don’t mind, I’ll do a quick rehashing of the important points.
- The generic Intel CPU has
Posted by: dargueta in Untagged on
Jun 25, 2008
(Part 3)
Hi, everyone, it's me again with the latest installment of Programs Under the Hood. Today we're going to get to know the inner workings of the processor, and start learning a little assembly language.
INTRODUCING THE GENERIC INTEL CPU
Since the 8086 in 1974, the Intel processors have retained a lot of the same characteristics. Pretty much the only thing that has changed that we need to
Posted by: dargueta in Untagged on
Jun 24, 2008
(Part 2)
I said in my last blog that I'm going to assume you know assembly language in my further exploits. I changed my mind. I'll walk all of you through this in a way that'll be as painless as possible for the experienced and the n00bs. Before we begin writing this disassembler, I should outline a few things I plan on doing.
- I'm going to use debug.exe for nearly everything. It's very
Posted by: dargueta in Untagged on
Jun 22, 2008
(Part 1)
I have a habit of re-inventing the wheel to see why it rolls. So one day, I hit upon a way to inflict severe mental punishment on myself and invent...ProDIA, a program disassembler written in assembly language. Ironic, I know. This'll be a great way for you to get to know how processors and programs work under the hood, as well as see how this little project is going along. Technical