memory maps (original) (raw)


sponsored by

| OSdata.com: memory maps | | OSdata.com | | ------------------------------------------------------------------------------------ | | ---------- |

Summary: Memory maps (not to be confused with memory mapped I/O) are diagrams or charts that show how an operating system divides up main memory.

OSdata.com is used in more than 300 colleges and universities around the world

Find out how to get similar high web traffic and search engine placement.

PC-DOS and MS-DOS memory map

high memory
segment offset size contents
0000h 0000h 1024 interrupt vector table
0400h 172 BIOS communication area
04ACh 68 reserved by IBM
04F0h 16 user communication area
0500h 256 DOS communication area
0600h varies _operating system:_IBMBIO.COM (DOS interface to the BIOS)IBMDOS.COM (DOS interrupt handlers and interrupt 21h service routinesDOS buffers, control areas, and device driversCOMMAND.COM (resident portion), interrupt 22h, 23h, and 24h handlers, routine to reload transient portion of COMMAND.COMmemory-resident utilitiestransient applicationstransient portion of COMMAND.COM
9000h FFFFh highest address of user memory
A000h 0000h 128K reserved area of ROM
A000h 0000h beginning of area used by EGA and PS/2 video systems
B000h 0000h 4000 monochrome video memory
0800h 16K color graphics adaptor (CGA) video memory
C000h 0000h 192K ROM expansion and control area
8000h ROM for hard disk
D000h ROM expansion and control area
E000h ROM expansion and control area
F000h 0000h 16K reserved ROM
4000h 40K base system ROM, ROM BASIC
E000h 8K ROM BIOS
low memory

If a TSR is created in assembly langauge, the programmer has exact control over the use of memory and can omit the heap area and place the initialization code at the end of the segment (where it can be released after initialization).

If a TSR is created in C, the small-memory model must be used. Because of the severe memory limitations, the programmer should not use C allocation functions (such as malloc and calloc), as these add to the heap. A small heap must be assigned because some C library routines (such as fprintf) allocate memory from the heap.

Variables required by MS-DOS interrupt handlers must be placed at the beginning of the code segment.

Mac Plus memory map

high memory
address contents
$EFFFFF end of VIA space
$E80000 beginning of VIA space
$DFFFFF end of IWM space
$D00000 beginning of IWM space
$BFFFFF end of SCC write
$B00000 beginning of SCC write
$9FFFFF end of SCC read
$900000 beginning of SCC read
$5FFFFF end of SCSI
$580000 beginning of SCSI
$41FFFF end of ROM
$400000 beginning of ROM
$3FFFFF end of RAM for 4MB Mac Plus
$27FFFF end of RAM for 2.5MB Mac Plus
$1FFFFF end of RAM for 2MB Mac Plus
$0FFFFF end of RAM for 1MB Mac Plus
varies sound buffer
varies System Error Handler area
varies main screen (ScrnBase)
varies MacsBugs (optional)
varies RAM cache (optional)
varies Jump Table (A5 relative)
varies application and QuickDraw globals (A5 relative)
varies stack (A7)
varies Application Heap (ApplZone)
$001600 beginning of System Heap (SysZone)
$000E00 beginning of Toolbox A-trap table
$000800 additional low-memory global area
$000400 beginning of OS A-trap table
$000100 beginning of low-memory global area
$000000 beginning of RAMMotorola 680x0 vectors
low memory

Mac Plus video memory locations

system main screen alternate screen
Macintosh 128K 1A700∣1A700 1A700∣12700
Macintosh 512K 7A700∣7A700 7A700∣72700
Macintosh Plus, 1 Mb FA700∣FA700 FA700∣F2700
Macintosh Plus, 2Mb 1FA700∣1FA700 1FA700∣1F2700
Macintosh Plus, 2.5Mb 27A700∣27A700 27A700∣272700
Macintosh Plus, 4 Mb 3FA700∣3FA700 3FA700∣3F2700

Mac Plus sound memory locations

system main sound buffer alternate sound buffer
Macintosh 128K 1FD00∣1FD00 1FD00∣1A100
Macintosh 512K 7FD00∣7FD00 7FD00∣7A100
Macintosh Plus, 1Mb FFD00∣FFD00 FFD00∣FA100
Macintosh Plus, 2Mb 1FFD00∣1FFD00 1FFD00∣1FA100
Macintosh Plus, 2.5Mb 27FD00∣27FD00 27FD00∣27A100
Macintosh Plus, 4 Mb 3FFD00∣3FFD00 3FFD00∣3FA100

further reading: books:

If you want your book reviewed, please send a copy to: Milo, POB 1361, Tustin, CA 92781, USA.

Price listings are for courtesy purposes only and may be changed by the referenced businesses at any time without notice.

further reading: books: general

Structured Computer Organization, 4th edition; by Andrew S. Tanenbaum; Prentice Hall; October 1998; ISBN 0130959901; Paperback; 669 pages; $95.00; used by CS 308-273A (Principles of Assembly Languages) at McGill University School of Computer Science

Computers: An Introduction to Hardware and Software Design; by Larry L. Wear, James R. Pinkert (Contributor), William G. Lane (Contributor); McGraw-Hill Higher Education; February 1991; ISBN 0070686742; Hardcover; 544 pages; $98.60; used by CS 308-273A (Principles of Assembly Languages) at McGill University School of Computer Science

In Association with Amazon.com

If you want your book reviewed, please send a copy to: Milo, POB 1361, Tustin, CA 92781, USA.

OSdata.com is used in more than 300 colleges and universities around the world

Read details here.


A web site on dozens of operating systems simply can’t be maintained by one person. This is a cooperative effort. If you spot an error in fact, grammar, syntax, or spelling, or a broken link, or have additional information, commentary, or constructive criticism, please e-mail Milo. If you have any extra copies of docs, manuals, or other materials that can assist in accuracy and completeness, please send them to Milo, PO Box 1361, Tustin, CA, USA, 92781.

Click here for our privacy policy.


home page

one level up

Hardware Level of Operating System

peer level


Made with Macintosh

This web site handcrafted on Macintosh computers using Tom Bender’s Tex-Edit Plus and served using FreeBSD .

Viewable With Any Browser


UNIX used as a generic term unless specifically used as a trademark (such as in the phrase “UNIX certified”). UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Ltd.

Names and logos of various OSs are trademarks of their respective owners.

Copyright © 2001 Milo

Last Updated: March 28, 2001

Created: March 28, 2001