View Single Post
Old 7th October 2009
IdOp's Avatar
IdOp IdOp is offline
Too dumb for a smartphone
 
Join Date: May 2008
Location: twisting on the daemon's fork(2)
Posts: 1,027
Default

Quote:
Originally Posted by lionsong
IdOp>> very interestting idea! could you direct me to some online DOS resources?? pretty sure an i486 box will be easy to come by, if i dont already have one in an attic somewhere...
It's been 10+ years since I played much with x86 assembly, so I'm not really up on all the latest resources, and am grateful to Beastie for the great links he gave up-thread. The Ralf Brown interrupt list is a must have. I'll try to add a few classic things:

* For DOS free/share-ware there's the massive Simtel Archives.
You can find nasm and other pre-compiled utilities here. Some of them will even have source code some of which may be in asm.

* Ray Duncan's book "Advanced MSDOS Programming" (Microsoft Press) ... hopefully you can find it in a library or garage sale! (Don't be put off by the "Advanced" word in the title.)

* There are various books about x86 assembly usually tied closely to some particular product like Turbo or Microsoft Assembler. One that I read, which is not the worst (but probably not the best either) is "The Waite Microsoft Macro Assembler Bible" by Barkakati (SAMS). One trouble with these kind of books is that they use the Intel/Microsoft syntax, but there's a lot of that around the DOS world so you may have to get used to it, try to get the general concept out of whatever source you're looking at, and then translate to AT&T syntax if you wish.

Quote:
Originally Posted by BSDfan666
If you decide to use DOS (..16-bit real mode environment, not protected mode..), you may end up having to learn more about the x86 architecture then you intended.. if the coarse assumes a 32-bit environment has already been established.
True, I guess we don't know that one way or the other yet. Is the purpose of the course to re-write cat in assembly tying in to a few BSD system calls, or is it to get one's hands dirty and deal directly with hardware? If it's more the latter then a certain amount of specific architecture knowlege will be needed.
Reply With Quote