IBM PC Assembly Language Tutorial 7
Learning about BIOS and the hardware |
You can't do everything with DOS calls. You may need to learn
something about the BIOS and about the hardware itself. In this, the
Technical Reference is a very good thing to look at.
The first thing you look at in the Technical Reference, unless you are
really determined to master the whole ball of wax, is the BIOS
listings presented in Appendix A. Glory be: here is the whole 8K of
ROM which deals with low level hardware support layed out with
comments and everything.
In fact, if you are just interested in learning what BIOS can do for you,
you just need to read the header comments at the beginning of each
section of the listing.
BIOS services are invoked by means of the INT instruction; the BIOS
occupies interrupts 10H through 1FH and also interrupt 5H; actually,
of these seventeen interrupts, five are used for user exit points or
data pointers, leaving twelve actual services.
In most cases, a service deals with a particular hardware interface;
for example, BIOS interrupt 10H deals with the screen. As with DOS
function calls, many BIOS services can be passed a function code in
the AH register and possible other arguments.
I am not going to summarize the most useful BIOS features here; you
will see some examples in the next sample program we will look at.
The other thing you might want to get into with the Tech reference is
the description of some hardware options, particularly the asynch
adapter, which are not well supported in the BIOS. The writeup on
the asynch adapter is pretty complete.
Actually, the Tech reference itself is pretty complete and very nice as
far as it goes. One thing which is missing from the Tech reference is
information on the programmable peripheral chips on the system
board. These include
the 8259 interrupt controller
the 8253 timer
the 8237 DMA controller and
the 8255 peripheral interface
To make your library absolutely complete, you should order the
INTEL data sheets for these beasts.
I should say, though, that the only I ever found I needed to know
about was the interrupt controller. If you happen to have the 8086
Family User's Manual, the big book put out by INTEL, which is one of
the things people sometimes buy to learn about 8086 architecture,
there is an appendix there which gives an adequate description of
the 8259.
No comments:
Post a Comment