On Mon, Apr 10, 2017 at 9:52 PM, Mateusz Viste <mate...@nospam.viste.fr> wrote:
> On Mon, 10 Apr 2017 17:07:30 -0500, Rugxulo wrote:
>> irrelevant "jz short ..." (when "short" conditional jump is always
>> mandatory for "cpu 8086").
> I don't think so.
> Note that short means "8 bit jump" in this context, and NOT "16 bit jump".

Unless I'm mistaken, conditional jumps on 8086 don't go beyond -128 ..
127 (signed) byte range. Hence the billions of workarounds (TASM
"jumps", MASM "option ljmp", etc).

>> "section .data align=1" is probably what you intended here. (No need to
>> comment it out entirely.
> No need to have it either (not in tiny model).

But you still have it commented out, so I assume you at least wanted
it for descriptive purposes.

>> The program does not end in a CR+LF pair. Thus the output is an
>> incomplete line. Not a huge deal but still (sometimes) noticeable.
> True. I noticed that command.com adds a CR+LF pair whenever a program
> doesn't end with those. This seems to be consistent with both FreeDOS and
> MS-DOS, so I thought I'd exploit this to save a few bytes in the program.

Most (but not all) FreeCOM versions do this too. But ... that won't
work if you redirect the output to file. Then the CR+LF is (still)
missing. Of course, if you really need a workaround, afterwards do
"echo. >>bsum.out" and don't worry about it. (I still have at least
one util with the same problem, but I didn't fix it yet either.
Trivial but annoying. Some tools get confused by such incomplete

Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Freedos-user mailing list

Reply via email to