On Mar 27, 2008, at 8:50 PM, Jim Leonard wrote:
Guy Sotomayor wrote:
2. Because it can save a bit of RAM. Remember in
the early days of
the PC, saving bytes was important for a number of programs. They
had to fit in "typical" machines at the time. In many cases this
was on a 16K machine, every byte counted and not all of the
functions in the BIOS were exported by INT xx entry points. In
many ways IBM made it easy because they published the complete
assembly listing of the BIOS ROM.
While I can appreciate this philosophy, I still can't see how it
would be beneficial on the 5150/5160. For example, let's say I want
to move the cursor to a new location, say (10,15).
That's not what people were doing. As I said before, they called in
to functions that weren't exported. Or they wanted a bit more speed,
so they bypassed the higher level routine (done by the INT) and called
directly in. In some cases it actually saved bytes because you didn't
have to load the function ID into a register first, you just called
the specific routine you wanted.
Without having a BIOS listing in front of me, I can't quote an exact
example. But the above was the philosophy...speed (skipping a few
instructions *did* make a difference) or saving bytes by not having to
do all of the setup.
TTFN - Guy