Summary: Low memory is thememory at the beginning of the address space. Some processors use designatedlow memory addresses during power on, exception processing, interruptprocessing, and other hardware conditions. Some operating systems usedesignated low memory addresses for global system variables, global systemstructures, jump tables, and other system purposes.
- PC-DOS and MS-DOS low memory
- BIOS Communication Area
- Reserved
- Inter-Application (User) Communication Area
- DOS Communication Area
- Macintosh low memory
PC-DOSand MS-DOS low memory
Addressesare hexadecimal in segment: offset form.
BIOS CommunicationArea
0000:0400h-0000:04ABh
0000:0400h-000:0407h addressesof RS232 adaptors
0000:0408h-0000:040Fh addressesof printers
0000:0410h-0000:0411h equipmentflag: Also returned by interrupt 11h. MS-DOS only sets this value at startup.Programs that switch video adapters or switch modes in mulitadapter video cardsshould correctly set bit pair 5:4 — 00=not used, 01=CGA card 40 columns, 10=CGAcard 80 columns, 11=monochrome card
0000:0412h initializationflag
0000:0413h-0000:0414h memorysize: normally accessed via interrupt 12h.
0000:0415h-0000:0416h amountof memory in I/O channel
0000:0417h-0000:043Dh keyboarddata area 1: keyboard status flags and 15-byte keyboard buffer. Normally readvia interrupt 16h.
0000:043Eh-0000:0448h diskettedata
0000:0449h-0000:0466h videocontrol data area 1: normally accessed via interrupt 10h.
0000:00467h--0000:046Bh cassettedata; in some models of PS/2 this contains the far (doubleword) address of thecode that resets the computer while preserving memory.
0000:046Ch-0000:0470h timedata: normally accessed via interrupt 1Ah.
0000:0471h breakflag: set to 1 if the break key has been pressed.
0000:0472h-0000:0473h resetflag: if set to 1234h, the BIOS initialization routine (starting at segmentFFFFh) will bypass the memory check normally performed during a cold boot. Inmany models of the PS/2, if the flag is set to 4321h, the system will perform areset operation without erasing memory.
Reserved
0000:04ACh-0000:04EFh
Reservedfor BIOS.
Inter-Application (User)Communication Area
0000:04F0h-0000:04FFh
Maybe used by any program in any way. Originally intended for communications andexchange of data between programs, but because Microsoft couldn’t figure out astandard, the area is in complete anarchy and programs should assume that otherprograms will act destructively on any attempts to use the area.
DOS Communication Area
0000:0500h-0000:05FFh
Reservedfor use by DOS and BASIC.
0000:0500 printscreen status flag: one byte value — 0=print screen not active or successfultermination, 1=print screen in progress, 255=error occurred during printscreen.
Macintoshlow memory
0x0000 unassigned 0x0004 ResetSPPC 0x0008 BusError 0x000C AddrErr 0x0010 Illegal 0x0014 ZeroDiv 0x0018 ChkError 0x001C TrapVErr 0x0020 Privileg 0x0024 Trace 0x0028 Line1010 0x002C Line 1111 0x0030 unassigned 0x0034 Coproces 0x0038 FmtErrVect 0x003C Uninited 0x0040 Unassig2 0x0060 Spurious 0x0064 AutoInt1 0x0068 AutoInt2 0x006C AutoInt3 0x0070 AutoInt4 0x0074 AutoInt5 0x0078 AutoInt6 0x007C AutoInt7 0x0080 TRAPtble 0x00C0 FP-68881 0x00DC reserved 0x00E0 PMMU 0x00E0 SMgrOldCore 0x00EC reserved 0x0100 MonkeyLives 0x0100 SysCom 0x0102 ScrVRes 0x0104 ScrHRes 0x0106 ScreenRow 0x0108 MemTop 0x010C BufPtr 0x0110 StkLowPtr 0x0114 HeapEnd 0x0118 TheZone 0x011C UTableBase 0x0120 MacJmp 0x0124 DskRtnAdr 0x0128 PollRtnAdr 0x012C DskVerify 0x012D LoadTrap 0x012E MmInOK 0x012F CPUFlag 0x012F DskWr11 0x0130 ApplLimit 0x0134 SonyVars 0x0138 PWMValue 0x013A PollStack 0x013E PollProc 0x0142 DskErr 0x0144 SysEvtMask 0x0146 SysEvtBuf 0x014A EventQueue 0x0154 EvtBufCnt 0x0156 RndSeed 0x015A SysVersion 0x015C SEvtEnb 0x015D DSWndUpdate 0x015E FontFlag 0x015F IntFlag 0x0160 VBLQueue 0x016A Ticks 0x016E MBTicks 0x0172 MBState 0x0173 Tocks 0x0174 KeyMap 0x017C KeyPadMap 0x0180 unknown 0x0184 KeyLast 0x0186 KeyTime 0x018A KeyRepTime 0x018E KeyThresh 0x0190 KeyRepThresh 0x0192 Lvl1DT 0x01B2 Lvl2DT 0x01D2 UnitNtryCnt 0x01D4 VIA 0x01D8 SCCRd 0x01DC SCCWr 0x01E0 IWM 0x01E4 GetParam 0x01F8 SysParam 0x01F8 SPValid 0x01F9 SPATalkA 0x01FA SPATalkB 0x01FB SPConfig 0x01FC SPPortA 0x01FE SPPortB 0x0200 SPAlarm 0x0204 SPFont 0x0206 SPKbd 0x0207 SPPrint 0x0208 SPVolCtl 0x0209 SPClikCaret 0x020A SPMisc1 0x020B CDeskPat 0x020C Time 0x0210 BootDrive 0x0212 JShell 0x0214 SFSaveDisk 0x0216 KbdVars 0x0218 KbdLast 0x021A JKybdTask 0x021E KbdType 0x021F AlarmState 0x0220 MemErr 0x0222 JFigTrkSpd 0x0226 JDiskPrime 0x022A JRdAddr 0x022E JRdData 0x0232 JWrData 0x0236 JSeek 0x023A JSetUpPoll 0x023E JRecal 0x0242 JControl 0x0246 JWakeUp 0x024A JReSeek 0x024E JMakeSpdTbl 0x0252 JAdrDisk 0x0256 JSetSpeed 0x025A NiblTbl 0x025E FlEvtMask 0x0260 SdVolume 0x0261 Finder 0x0262 SoundVars 0x0262 SoundPtr 0x0266 SoundBase 0x026A SoundVBL 0x027A SoundDCE 0x027E SoundActive 0x027F SoundLevel 0x0280 CurPitch 0x0282 SoundLast 0x0282 Switcher 0x0286 SwitcherTPtr 0x028A RSDHndl 0x028E ROM85 0x0290 PortAUse 0x0291 PortBUse 0x0292 ScreenVars 0x029A JGNEFilter 0x029E Key1Trans 0x02A2 Key2Trans 0x02A6 SysZone 0x02AA ApplZone 0x02AE ROMBase 0x02B2 RAMBase 0x02B6 BasicGlob 0x02B6 ExpandMem 0x02BA DSAlertTab 0x02BE ExtStsDT 0x02CE SCCASts 0x02CF SCCBSts 0x02D0 SerialVars 0x02D8 ABusVars 0x02E0 FinderName 0x02F0 DoubleTime 0x02F4 CaretTime 0x02F8 ScrDmpEnb 0x02F9 ScrDmpType 0x02FA TagData 0x02FC BufTgFNum 0x0300 BufTgFFlg 0x0302 BufTgFBkNum 0x0304 BufTgDate | 0x0308 DrvQHdr 0x0312 PWMBuf2 0x0316 MacPgm 0x031A Lo3Bytes 0x031E MinStack 0x0322 DefltStack 0x0326 MMDefFlags 0x0328 GZRootHnd 0x032C GZRootPtr 0x0330 GZMoveHnd 0x0334 DSDrawProc 0x0338 EjectNotify 0x033C IAZNotify 0x0340 CkdDB 0x0342 NxtDB 0x0344 MaxDB 0x0346 FlushOnly 0x0347 RegRscr 0x0348 FLckUnlck 0x0349 FrcSync 0x034A NewMount 0x034C DrMstrBlk 0x034E FCBSPtr 0x0352 DefVCBPtr 0x0356 VCBQHdr 0x0360 FSBusy 0x0362 FSQHead 0x0366 FSQTail 0x036A RgSvArea 0x0372 WDCBsPtr 0x0376 HFSVars 0x0384 DefVRefnum 0x0392 HFSDSErr 0x0398 CurDirStore 0x03A2 ErCode 0x03A4 Params 0x03D6 FSTemp8 0x03DE FSTemp4 0x03E2 FSQueueHook 0x03E6 ExtFSHook 0x03EA DskSwtchHook 0x03EE RegstVol 0x03F2 ToExtFS 0x03F6 FSFCBLen 0x03F8 DSAlertRect 0x0400 OSTable 0x0800 GrafBegin 0x0800 JHideCursor 0x0804 JShowCursor 0x0808 JShieldCursor 0x080C JScrnAddr 0x0810 JScrnSize 0x0814 JInitCursor 0x0818 JSetCrsr 0x081C JCrsrObscure 0x0820 JUpdateProc 0x0824 ScrnBase 0x0828 MTemp 0x082C RawMouse 0x0830 Mouse 0x0834 CrsrPin 0x083C CrsrRect 0x0844 TheCrsr 0x0888 CrsrAddr 0x088C JAllocCrsr 0x0890 JSetCCrsr 0x0894 JOpcodeProc 0x0898 CrsrBase 0x089C CrsrDevice 0x08A0 SrcDevice 0x08A4 MainDevice 0x08A8 DeviceList 0x08AC CrsrRow 0x08AE unknown 0x08B0 QDColors 0x08CC CrsrVis 0x08CD CrsrBusy 0x08CE CrsrNew 0x08CF CrsrCouple 0x08D0 CrsrState 0x08D2 CrsrObscure 0x08D3 CrsrScale 0x08D4 unknown 0x08D6 MouseMask 0x08DA MouseOffset 0x08DE JournalFlag 0x08E0 JSwapFont 0x08E4 WidthListHand 0x08E8 JournalRef 0x08EA unknown 0x08EC CrsrThresh 0x08EE JCrsrTask 0x08F2 WWExist 0x08F3 QDExist 0x08F4 JFetch 0x08F8 JStash 0x08FC JIODone 0x0900 CurApRefNum 0x0902 LaunchFlag 0x0903 FondState 0x0904 CurrentA5 0x0908 CurStackBase 0x090C LoadFiller 0x0910 CurApName 0x0930 SaveSegHandle 0x0934 CurJTOffset 0x0936 CurPageOption 0x0938 HiliteMode 0x0939 unknown 0x093A LoaderPBlock 0x0944 PrintErr 0x0946 ChooserBits 0x0954 CoreEditVars 0x0960 ScrapSize 0x0964 ScrapHandle 0x0968 ScrapCount 0x096A ScrapState 0x096C ScrapName 0x0970 ScrapTag 0x0980 RomFont0 0x0984 ApFontID 0x0986 SaveFondFlags 0x0987 FMDefaultSize 0x0988 CurFMInput 0x098A CurFMSize 0x098C CurFMFace 0x098D CurFMNeedBits 0x098E CurFMDevice 0x0990 CurFMNumer 0x0994 CurFMDenom 0x0998 FOutError 0x099A FOutFontHandle 0x099E FOutBold 0x099F FOutItalic 0x09A0 FOutULOffset 0x09A1 FOutULShadow 0x09A2 FOutULThick 0x09A3 FOutShadow 0x09A4 FOutExtra 0x09A5 FOutAccent 0x09A6 FOutDescent 0x09A7 FOutWidMax 0x09A8 FOutLeading 0x09A9 FOutUnused 0x09AA FOutNumer 0x09AE FOutDenom 0x09B2 FMDotsPerInch 0x09B6 FMStyleTab 0x09CE ToolScratch 0x09D6 WindowList 0x09DA SaveUpdate 0x09DC PaintWhite 0x09DE WMgrPort 0x09E2 DeskPort 0x09E6 OldStructure 0x09EA OldContent 0x09EE GrayRgn 0x09F2 SaveVisRgn 0x09F6 DragHook 0x09FA TempRect 0x0A02 OneOne 0x0A06 MinusOne 0x0A0A TopMenuItem 0x0A0C AtMenuBotom 0x0A0E IconBitMap 0x0A1C MenuList 0x0A20 MBarEnable 0x0A22 CurDeKind 0x0A24 MenuFlash 0x0A26 TheMenu 0x0A28 SavedHandle 0x0A2C MBarHook 0x0A30 MenuHook 0x0A34 DragPattern 0x0A3C DeskPattern 0x0A44 DragFlag 0x0A46 CurDragAction 0x0A4A FPState 0x0A50 TopMapHndl 0x0A54 SysMapHndl | 0x0A58 SysMap 0x0A5A CurMap 0x0A5C ResReadOnly 0x0A5E ResLoad 0x0A60 ResErr 0x0A62 TaskLock 0x0A63 FScaleDisable 0x0A64 CurActivate 0x0A68 CurDeactive 0x0A6C DeskHook 0x0A70 TEDoText 0x0A74 TERecal 0x0A78 ApplScratch 0x0A84 GhostWindow 0x0A88 CloseOrnHook 0x0A8C ResumeProc 0x0A90 SaveProc 0x0A94 SaveSP 0x0A98 ANumber 0x0A9A ACount 0x0A9C DABeeper 0x0AA0 DAStrings 0x0AB0 TEScrpLength 0x0AB2 unknown 0x0AB4 TEScrpHandle 0x0AB8 AppPacks 0x0AD8 SysResName 0x0AE8 SoundGlue 0x0AEC AppParmHandle 0x0AF0 DSErrCode 0x0AF2 ResErrProc 0x0AF6 TEWdBreak 0x0AFA DlgFont 0x0AFC LastTGlobal 0x0B00 TrapAgain 0x0B04 KeyMVars 0x0B06 ROMMapHndl 0x0B0A PWMBuf1 0x0B0E BootMask 0x0B10 WidthPtr 0x0B14 AtalkHk1 0x0B18 AtalkHk2 0x0B1C FourDHack 0x0B20 unknown 0x0B22 HWCfgFlags 0x0B24 TimeSCSIDB 0x0B26 TopMenuItem 0x0B28 AtMenuBottom 0x0B2A WidthTabHandle 0x0B2E SCSIDrvrs 0x0B30 TimeVars 0x0B34 BtDskRfn 0x0B36 BootTmp8 0x0B3E unknown 0x0B3F T1Arbitrate 0x0B4C JDiskSel 0x0B44 JSendCmd 0x0B48 JDCDReset 0x0B4C LastSPExtra 0x0B50 AppleShare 0x0B54 MenuDisable 0x0B58 MBDFHndl 0x0B5C MBSaveLoc 0x0B60 BNMQHd 0x0B64 Twitcher1 0x0B68 unknown 0x0B7C Twitcher2 0x0B80 RMgrHiVars 0x0B9E RomMapInsert 0x0B9F TmpResLoad 0x0BA0 IntlSpec 0x0BA0 SMgrCore 0x0BA4 RMgrPerm 0x0BA5 WordRedraw 0x0BA6 SysFontFam 0x0BA8 SysFontSize 0x0BAA MBarHeight 0x0BAC TESysJust 0x0BAE HiHeapMask 0x0BB2 SegHiEnable 0x0BB3 FDevDisable 0x0BB4 CMVector 0x0BB8 XFSGlobs 0x0BBC ShutDownQHdr 0x0BC0 NewUnused 0x0BC2 LastFOND 0x0BC6 FONDID 0x0BC8 App2Packs 0x0BE8 MAErrProc 0x0BEC MASuperTab 0x0BF0 MimeGlobs 0x0BF4 FractEnable 0x0BF5 UsedWidths 0x0BF6 FScaleHFact 0x0BFA FScaleVFact 0x0BFE unknown 0x0C00 SCSIBase 0x0C04 SCSIDMA 0x0C08 SCSIHsk 0x0C0C SCSIGlobals 0x0C10 RGBBlack 0x0C16 RGBWhite 0x0C1C unknown 0x0C20 RowBits 0x0C22 ColLines 0x0C24 ScreenBytes 0x0C28 IOPMgrVars 0x0C2C NMIFlag 0x0C2D VidType 0x0C2E VidMode 0x0C2F SCSIPoll 0x0C30 SEVarBase 0x0CB0 MMUFlags 0x0CB1 MMUType 0x0CB2 MMU32bit 0x0CB3 WhichBox 0x0CB4 MMUTbl 0x0CB MMUTblSize 0x0CBC SInfoPtr 0x0CC0 ASCBase 0x0CC4 SMGlobals 0x0CC8 TheGDevice 0x0CCC CQDGlobals 0x0CD0 AuxWinHead 0x0CD4 AuxCtlHead 0x0CD8 DeskCPat 0x0CDC SetOSDefKey 0x0CE0 LastBinPat 0x0CE8 DeskPatEnable 0x0CEA unknown 0x0CF8 ADBBase 0x0CFC WarmStart 0x0D00 TimeDBRA 0x0D02 TimeSCCDB 0x0D04 SlotQDT 0x0D08 SlotPrTbl 0x0D0C SlotVBLQ 0x0D10 ScrnVBLPtr 0x0D14 SlotTICKS 0x0D18 PowerMgrVars 0x0D1C AGBHandle 0x0D20 TableSeed 0x0D24 SRsrcTblPtr 0x0D28 JVBLTask 0x0D2C WMgrCPort 0x0D30 VertRRate 0x0D32 SynListHandle 0x0D36 LastFore 0x0D3E LastMode 0x0D40 LastDepth 0x0D42 FMExist 0x0D43 SavedHilite 0x0D44 unknown 0x0D50 MenuCInfo 0x0D54 MBProcHndl 0x0D58 MBSaveLoc 0x0D58 MRect 0x0D5C MBFlash 0x0D5C MenuCInfo 0x0D60 ChunkyDepth 0x0D62 CrsrPtr 0x0D64 unknown 0x0D66 PortList 0x0D6A MickeyBytes 0x0D6E QDErr 0x0D70 VIA2DT 0x0D90 SInitFlags 0x0D92 DTQFlags 0x0D92 DTQueue 0x0D94 DtskQHdr 0x0D98 DTskQTail 0x0D9C JDTInstall 0x0DA0 HiliteRGB 0x0DA6 TimeSCSIDB 0x0DA8 DSCtrAdj 0x0DAC IconTLAddr 0x0DB0 VideoInfoOK 0x0DB4 EndSRTPtr 0x0DB8 SDMJmpTblPtr 0x0DBC JSwapMMU 0x0DC0 SdmBusErr 0x0DC4 LastTxGDevice 0x0DC8 PmgrHandle 0x0DCC LayerPalette 0x0E00 ToolTable 0x1E00 SystemHeap |