80x86 programming, windows xp getting in my way!

Started by
6 comments, last by nmi 19 years, 6 months ago
Hi. I have just got a book out from my science library The 80x86 ibm pc and compatible computers (volumes 1 and 2). Assenbly Language, Design, and Interfacing third edition by Muhammad ali mazidi and janice gillispie mazidi. Its slightly out of date now, 1998, but it still teaches me assembly and it shows how to do loads of cool stuff like directly accessing video memory and writing pixels to the screen. Ive been trying to do these things but i hear windows xp doesnt allow alot of stuff. is there any way to turn off the problems windows xp is causing me? I am using MASM which seams to be working fine. I dont want to use win32. Any help about very low level operations would be great. Thanks Riviera Kid
--------------------------------Dr Cox: "People are ***tard coated ***tards with ***tard filling."
Advertisement
Most assembly texts deal with 16 bit assembly, which is compatable in a sense with the current 32 bit processors and OSes - the instructions do the same thing, but the OS now doesn't allow direct access to hardware so all hardware access is essentially emulated. Sometimes, the emulation doesn't work so well, but for simple stuff like using the bios to set video modes and get keyboard input, it does. When you get to things like interrupt vectors, stuff starts to break down.

Your best bet would be setting up a DOS system or learning 32 bit assembly and use the proper windows calls to control hardware.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
yeah, i was thinking about installing dos by itself but i cant find it on the net. I might also just instal windows 95 maybe.
--------------------------------Dr Cox: "People are ***tard coated ***tards with ***tard filling."
You can get a DOS boot disk from BootDisk.Com. It won't have everything from DOS, but it should have everything you need (well, you'd need to provide the assembler, but if you're using a 16 bit masm it should run there also).
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
Alternatively you could try an x86 PC emulator (BOCHS comes to mind) and not have to constantly restart your computer each time you mess something up in supervisor mode. FreeDOS may also be worth checking out.

[Edited by - igni ferroque on October 22, 2004 6:12:35 PM]
Free Mac Mini (I know, I'm a tool)
Another good option is to learn asm programming under a UNIX operating such as Solaris or FreeBSD; this will give you a robust development environment that is far more fault tolerant than DOS when it comes to assembly programming.

FreeBSD also runs in BOCHS (at least older versions did).
i got a dos extender so i can program in 32 bit. But i have looked all over the internet for a 32 bit dos assembler and i cant find one. Does anyone know where i can get one?

note, i dont want to use the win32 api.
--------------------------------Dr Cox: "People are ***tard coated ***tards with ***tard filling."
NASM

is the right choice when you want to start learning assembler.

This topic is closed to new replies.

Advertisement