On Tue, 12 Jul 2022, C. Masloch wrote:

On at 2022-07-12 15:45 -0400, Steve Nickolas wrote:
I haven't uploaded a copy of the new source anywhere yet - it'll probably be in the next DOSLITE source batch along with my work on a few other DOS commands, but I don't want to replace the copy I've already uploaded, and DOSLITE isn't ready to go onto anything like github or gitlab yet.

I strongly suggest to keep source history. If you'd rather not, you do not need to publish that right now but I do recommend you keep it privately at least. I started in 2010 [1] and it has been a great experience that often proved useful.

Yeah. "Upload early, upload often" is very much at play here, something I learned when I lost the hard drive I was keeping a fansub project on. Because I uploaded the raw on BitTorrent and had been maintaining timestamped uploads of the scripts on my Web server, nothing was lost.

Several revisions of GRAFTABL that I haven't released, plus the one I did, are archived in a folder along with other tools like ATTRIB, CHOICE, DELTREE, FIND, LABEL, SORT and TREE, plus my hacks on EDLIN and MORE. But I wanted to get a bit closer to my goal before putting them into "proper" revision control - just a few loose commands doesn't feel worth making a project on Github or its many clones. (Or into a Subversion or something on my own server.)

<snip>

Not quite: The "ds:" segment override prefixes are unneeded actually. NASM will happily emit them, but they eat memory completely unnecessarily. "mov word [bx], entry" already defaults to ds as its segment. (Unlike addresses including "[bp]" which default to ss.)

I didn't notice those at first because I assumed you were using es. That's what your comment in your caller says:

.21:      mov       ax, 0xB001          ; So where is it?
          mov       bx, whence          ; ES:BX gets this.
          int       0x2F


However, the Interrupt List [2] does say it uses ds:bx so your interrupt handler is correct, your caller's comment is incorrect.

Oopsie. XD

Maybe I wrote "ES" because a lot of stuff that uses BX with a segment uses ES. I almost never use ES myself - my code generally runs in a 64K space.

Removing the redundant segment escapes does save a few bytes.

-uso.


_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to