[comp.sys.ibm.pc] Accessing extended memory in AT

seamans@nlm-mcs.UUCP (06/04/87)

	Here at the National Library of Medicine, we have been
doing R&D work in the area of image processing on the IBM-AT.  Since
this requires large chunks of memory, lets say anywhere from 64K to 
many megabytes, we went to extended memory.  Typically, I need 256K to 
store a monochromic image (8 bits / pixel) and it didn't take long
to run out of memory.

	There is a interrupt function in the BIOS for the AT by 
the name of INT 15H function 87H Block Move  which can be found in the
Technical Reference for the AT on page BIOS1 5-167.  This function
provides a means for a real mode program or system to transfer a block
of storage to and from storage above the 1 meg address range in protected
mode space by switching to protected mode.

	I normally move 256K total in 64K chunks in either direction
in about .2 sec.  So this routine is very fast and can be used for
moving data around in the memory below 640K.  I wrote an assembly
module that is called from a "C" program that executes the move.


			Jim Seamans
                        National Library of Medicine
                        Lister Hill National Center for
                        Biomedical Communications


PATCO LIVES