If ya have a library, ya can try lookin there. Usin our library here I found some good books to go through. Advanced MSDOS Programming, From BASIC to 8086/8088 Assembly Language. There are other books I am waitin on. I also have other books I collected over the years. I hope this is a good suggestion.
On Sat, Jul 2, 2022 at 14:02 <freedos-user-requ...@lists.sourceforge.net> wrote: > Send Freedos-user mailing list submissions to > freedos-user@lists.sourceforge.net > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/freedos-user > or, via email, send a message with subject or body 'help' to > freedos-user-requ...@lists.sourceforge.net > > You can reach the person managing the list at > freedos-user-ow...@lists.sourceforge.net > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Freedos-user digest..." > > > Today's Topics: > > 1. Re: DOS ASM resources (Ben Collver) > 2. Re: DOS ASM resources (Travis Siegel) > 3. Re: DOS ASM resources (Santiago Almenara) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sat, 2 Jul 2022 13:12:03 +0000 > From: Ben Collver <bencoll...@hotmail.com> > To: "freedos-user@lists.sourceforge.net" > <freedos-user@lists.sourceforge.net> > Subject: Re: [Freedos-user] DOS ASM resources > Message-ID: > < > sn6pr1901mb2046248543333f6bc374a92bcb...@sn6pr1901mb2046.namprd19.prod.outlook.com > > > > Content-Type: text/plain; charset="iso-8859-1" > > I made a mistake pasting a URL into my last post. > > OLD: http://ref.x86asm.net/coder32.htmlhttp://www.eji.com/a86/ > NEW: http://ref.x86asm.net/coder32.html > > > ------------------------------ > > Message: 2 > Date: Sat, 2 Jul 2022 13:37:01 -0400 > From: Travis Siegel <tsie...@softcon.com> > To: "Discussion and general questions about FreeDOS." > <freedos-user@lists.sourceforge.net>, Bret Johnson < > bretj...@juno.com> > Subject: Re: [Freedos-user] DOS ASM resources > Message-ID: <be5f66ee-0715-1707-9181-5e9efee42...@softcon.com> > Content-Type: text/plain; charset=UTF-8; format=flowed > > Interestingly enough, I also bought a86/D86, and have found it to be the > best assembler/disassembler I've ever found for dos.? I ran across it > after (mostly) trying to use debug for things, so it was a welcome > relief.? I still use it when working on dos things, which admittedly > isn't very often these days, but at least it still works, and still does > what's needed. > > Of course, take this with a grain of salt, since I'm an intermediate asm > programmer (at best), and it takes me many hours to get anything > complicated untangled when looking at asm code, which is why I don't use > it much, but there's sometimes when nothing else can do the job as well, > so <shrug> > > Masm, Tasm, and others all have their own syntax which confuses me more > than helping.? I find debug and A86 fairly straightforward, which is why > I still like those methods when working with asm code. > > > On 7/1/2022 11:58 AM, Bret Johnson wrote: > > Santiago: > > > > I agree pretty much with ECM. The best way to learn is to look at the > code someone else has written and try to understand it. Unfortunately, > most ASM coders aren't very good at comments/documentation, and you really > need the comments to help you figure things out. Looking at uncommented > code doesn't seem to help me very much -- I need to try and figure out how > the coder was thinking, not just the result of the thinking. > > > > I put LOTS of comments in my code -- I'm sure at least some people think > too many. Almost every line of the source has a comment, and each > "subroutine" has a comment header similar to what ECM has (but my "style" > is different than ECM's). The comment header includes details about what > the subroutine does, its inputs and outputs, and what it may change. The > header MAY also include the "context" of when and where the subroutine > should get used, and why the subroutine even exists at all (especially if > it is there to address some "special" situation). For example, most of my > programs are TSR's and in the most recent versions I'm working on the > programs can use different kinds of memory: conventional, upper, Expanded > (EMS), and/or Extended (XMS, which I access through a DOS Protected Mode > Services or DPMS server). I have comments to try and explain why I do > something that requires a special consideration for one of the different > types of memory. An example of this would be that you NEVER want a stack > to use Expanded memory, so sections of the code related to the stack need > to take that into account and should make some comment about it. > > > > When I first started (a LONG time ago), modern assemblers like NASM & > FASM didn't exist, and I didn't like MASM (though it was and still is kind > of "the standard" I find it confusing), so I ended up buying A86/A386 from > Eric Isaacson. Unfortunately, Eric hasn't updated those in a long time and > it's not possible to do large projects with them because they don't take > advantage of extended or expanded memory. I've since switched to NASM, but > I think FASM is also pretty good, and they're both free (unlike A86/A386). > > > > I've got a couple of books, but really the only "fixed" resource I use > is Ralf Brown's Interrupt List (RBIL). I've found looking at other > people's actual production code is the best way to learn things. > > > > I also think the best way to get started is to actually write a small > but useful program from scratch -- a program that you will actually use > when you get done. Don't make it try to do too much -- just something > relatively simple. The very first program I wrote was a simple version of > JOYKEYS, a program that allows you to use a Joystick with almost any DOS > program. The first version was pretty basic, and it's changed a lot over > the decades compared to how it started. There are lots of things you need > to understand (memory, I/O, Interrupts, BIOS, DOS, etc.) to even write a > simple program. The ASM part of it, while pretty complicated, is not the > hard part. The hard part is figuring out WHY you do (or don't do) certain > things. > > > > > > _______________________________________________ > > Freedos-user mailing list > > Freedos-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/freedos-user > > ------------------------------ > > Message: 3 > Date: Sat, 2 Jul 2022 13:01:58 -0500 > From: Santiago Almenara <almen...@gmail.com> > To: "Discussion and general questions about FreeDOS." > <freedos-user@lists.sourceforge.net> > Subject: Re: [Freedos-user] DOS ASM resources > Message-ID: > < > cacqaplpc3koobextnbmfo-e3ern6prhjtn0gt4vs521hojd...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Thank you for the answers. I've been following all the links you've sent > > I'll also follow the advice and try to understand some project like DOSLFN. > (source code is only 220k) > > Santiago > > > El jue, 30 jun 2022 a la(s) 13:19, C. Masloch (pus...@ulukai.org) > escribi?: > > > On at 2022-06-30 10:00 -0500, Santiago Almenara wrote: > > > Hello! > > > > > > What book or webpage do you recommend to learn some DOS assembler? > > > > > > Thanks in advance > > > > > > Santiago > > > > I learned primarily using these methods: > > > > 1. Read existing code and try to understand it. Even better, start with > > higher-level commentary about code if you can find any. Some > > applications' manuals are good for this, eg DOSLFN. > > > > 2. Have an english-language instruction set reference handy. I used the > > one included with older NASM versions, which I subsequently forked when > > it was dropped from NASM. [1] > > > > 3. Likewise, refer to the Interrupt List for reference as to what a > > particular interrupt service does. Apart from some modern extensions it > > is fairly complete. It can be found in plain-text files (split across a > > lot of them, you can concatenate them to receive a single file) on Ralf > > Brown's pages [2] and can be accessed online, page per page, hosted by > > several different websites such as fd.lod.bz [3]. > > > > 4. Try out things in a debugger if unsure, such as when unclear about > > what a particular instruction does, or to trace an existing program and > > try to improve your understanding of its workings. My main project is > > lDebug (with a small "L"), a debugger with a command line interface > > that's based on FreeDOS Debug. [4] > > > > 5. You can also read some of the books that have been written about DOS. > > At home I have the following print books: "FreeDOS Kernel", "DOS > > Internals", "Undocumented DOS (Second Edition)" (UDOS), "Dissecting > > DOS", "Extending DOS", "Advanced MS-DOS Programming", "Writing MS-DOS > > Device Drivers", and a german "DR DOS 6.0" manual. UDOS and the DR DOS > > manual are probably the best among these. > > > > Finally, I wrote a document called Assembly Comments Explained: Guide > > for Advanced Learning and Style [5]. It is intended to clarify > > conventions in my assembly language sources in particular. > > > > Regards, > > ecm > > > > > > [1]: https://pushbx.org/ecm/doc/insref.htm > > [2]: http://www.cs.cmu.edu/~ralf/files.html > > [3]: https://fd.lod.bz/rbil/index.html > > [4]: https://pushbx.org/ecm/web/#projects-ldebug > > [5]: https://pushbx.org/ecm/doc/acegals.htm > > > > > > _______________________________________________ > > Freedos-user mailing list > > Freedos-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/freedos-user > > > -------------- next part -------------- > An HTML attachment was scrubbed... > > ------------------------------ > > > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > Freedos-user mailing list > Freedos-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-user > > > ------------------------------ > > End of Freedos-user Digest, Vol 2275, Issue 2 > ********************************************* >
_______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user