[Freedos-devel] FYI: Website update happening this week
I wanted to let everyone know that I'm planning to (finally!) put the new website "live" in the next few days. This is the updated version of the website that I've shared via email several times over the last year or so. The "test" version of the new site is here, if you want to preview it: https://test.freedos.org/ The upgrade might cause the https://www.freedos.org/ website to be down briefly, because I'm also changing several things on the "back end" about how the website is hosted/managed. So it's more than just an HTML update, a bunch of things are changing behind the scenes. I'll post a message on the website when I push the new site live. But in case things take longer than expected and the https://www.freedos.org/ website appears to be "down" or "empty" at some point in the next week, that's just me making the move. *Between now and then, I'm comparing the current site to the new site to make sure that everything gets moved over. And that any archived content gets saved. Jim ___ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel
Re: [Freedos-devel] Merry Christmas to everyone
Thank you, and a Merry Christmas to you and your family! Sent with [Proton Mail](https://proton.me/) secure email. On Sunday, December 24th, 2023 at 11:16 PM, Jim Hall via Freedos-devel wrote: > I just wanted to wish everyone a Merry Christmas, to all who celebrate! > > Also looking forward to 2024!___ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel
Re: [Freedos-devel] Learning DOS assembly programming
A86. Sent from Yahoo Mail on Android On Tue, Dec 26, 2023 at 13:49, Jim Hall via Freedos-devel wrote: I actually never learned DOS assembly programming, but decided I'd like to start. What assembler do you recommend, and where is a good place to start learning about DOS assembly programming? Start with a "Hello world" program and eventually move up to writing an assembly version of TYPE and CHOICE, things like that. I was thinking about NASM, since it's open source and we include it in the distribution. Looking around, I found a bunch of tutorials on https://asmtutor.com/ that look easy enough to follow, although it's for Linux. Any similar tutorials to learn DOS assembly programming? Or would you recommend a different DOS assembler (and how-to guide) as a place to start? ___ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel ___ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel
Re: [Freedos-devel] Learning DOS assembly programming
Hello Jim, I started learning assembly with 32-bit x86 Intel syntax (Windows), and it is easier to understand a flat memory model rather than all the segment-register addressing and some limitations of registers usage/combinations. Anyways, when it comes to real mode 16-bit DOS, the best way to start is by examining some simple ".COM" programs with the "DEBUG.COM"/"DEBUG.EXE", get familiar with the syntax, etc. (use virtual machine or "DOSBox" emulator to not crash the real OS) Learn about structures like "Program Segment Prefix", the Stack, calling conventions, the 640kB conventional memory. Compare some "C" source code with a program that does the same in "ASM" using system interrupts and user procedures. Some useful resources: https://en.wikibooks.org/wiki/X86_Assembly https://www.pcjs.org/documents/books/mspl13/msdos/ https://archive.org/details/Advanced_MS-DOS_Programming_2nd_Edition_Ray_Duncan/ https://fd.lod.bz/rbil/index.html Then of course you can read through source code repositories, like the "MS-DOS 2.0" archive: https://github.com/microsoft/MS-DOS/tree/master/v2.0/source As others already suggested, assemble tiny ".COM" programs with "NASM", then maybe compare output from "DEBUG" listing to your ".ASM" source code. Best regards, Radek ___ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel
Re: [Freedos-devel] Learning DOS assembly programming
In the early 90's, i learned assembly on DOS using the A86 assembler and the book Using Assembly Language by Allen Wyatt. It was enlightening to use the D86 debugger to step through other code, including the code in the BIOS ROM. The IDA disassembler came in handy later on. A86 & D86: http://www.eji.com/a86/ IDA: http://www.dcee.net/Files/Programm/Utils/ I agree that NASM would be a great choice to learn with, and i think DEBUG.COM is adequate for stepping through simple code. Below are links to additional free reference material for ASM on DOS. https://web.archive.org/web/20180127094538/http:/kipirvine.com/asm/debug/Debug_Tutorial.pdf https://www.plantation-productions.com/Webster/www.artofasm.com/DOS/index.html https://pacman128.github.io/pcasm/ https://www.seabios.org/Developer_links http://bespin.org/~qz/pc-gpe/ Best regards, -Ben ___ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel
Re: [Freedos-devel] Learning DOS assembly programming
Hello Jim, As the rest suggested, I'd go for NASM too. It's plain and easy to get ongoing. It was my favourite when I wrote a couple of ASM utilities like APPEND. The drawback is that once you get used to it, you start reading assembly written for MASM or TASM and you happen to find a different syntax in what refers to memory indirection. And no matter if you think that NASM syntax is more coherent (I do, or perhaps I do because I started with NASM), most of the code out there follows the MASM/TASM syntax and you need to get used to it. Just adding my own experience, Aitor On Tue, 26 Dec 2023 at 17:49, Jim Hall via Freedos-devel < freedos-devel@lists.sourceforge.net> wrote: > I actually never learned DOS assembly programming, but decided I'd > like to start. > > What assembler do you recommend, and where is a good place to start > learning about DOS assembly programming? Start with a "Hello world" > program and eventually move up to writing an assembly version of TYPE > and CHOICE, things like that. > > I was thinking about NASM, since it's open source and we include it in > the distribution. Looking around, I found a bunch of tutorials on > https://asmtutor.com/ that look easy enough to follow, although it's > for Linux. Any similar tutorials to learn DOS assembly programming? > > Or would you recommend a different DOS assembler (and how-to guide) as > a place to start? > > > ___ > Freedos-devel mailing list > Freedos-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-devel > ___ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel
Re: [Freedos-devel] Learning DOS assembly programming
Hallo Herr Jim Hall via Freedos-devel, am Dienstag, 26. Dezember 2023 um 17:42 schrieben Sie: > I actually never learned DOS assembly programming, but decided I'd > like to start. > What assembler do you recommend, for noobies, they are all the same: take NASM. "hello World" programmers don't need highly optimizing C++ complers nor do they have a need for macros. > and where is a good place to start > learning about DOS assembly programming? get a book. read other peoples programs. with a little luck there are even comments in the source. while FreeDOS luckily is almost free from assembler nonsense, there is still enough .ASM to learn from. read what ASM the C compiler generates from your C programs. > Start with a "Hello world" > program and eventually move up to writing an assembly version of TYPE > and CHOICE, things like that. get the Ralph Brown interrupt list implement stuff in C. learn to single step your programs using DEBUG. learning to program (in any language) is mostly about reading and understanding, not so much about writing programs. Tom ___ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel