Knowledge

High memory area

Source đź“ť

29: 1361:
interrupt handlers internally. For example: 1234h:0000h 1233h:0010h 1232h:0020h 1231h:0030h 1230h:0040h all point to exactly the same entry point. If you hook INT 21h onto 1234h:0000h and INT 2Fh onto 1233h:0010h, and so on, they would all go through the same "loophole", but you would still be able to distinguish between them and branch into the different handlers internally. Think of a "compressed" entry point into a
888:
unload some of them, however, it is only used to a very limited extent (for example you can see some of the info reflected in the log files created on Windows 9x startup, and some parts of the Windows configuration manager also make use of it), leaving room for speculation much beyond the technical side - in particular because nothing of the interesting stuff is documented…
1085: 190:. If the driver does not exhibit any public data structures and only uses interrupts or calls already controlled by the underlying operating system, it might be possible to register the driver with the system in a way so that the system will take care of A20 itself thereby eliminating the need for a separate stub. 1360:
many years ago Axel and I were thinking about a way how to use *one* entry point into a driver for multiple interrupt vectors (as this would save us a lot of space for the multiple entry points and the more or less identical startup/exit framing code in all of them), and then switch to the different
1284:
contained a far call opcode (9Ah); the word at offset 6 of the PSP contained the appropriate value to indicate program segment size, and also the offset part of the far call. The word at offset 8, which served as the segment part of the far call, was crafted such that when combined with the offset,
887:
line of invocation, etc.) and stores this information in an complicated and growing data structure. Presumably this info is meant to be used by the Windows core to get a better picture of the loaded Real Mode drivers instead of treating DOS as a monolithic block, or even attempt to unhook or
647:
support, task swapping, and Undelete. Considerable amounts of the team's management attention was diverted to new features such as file transfer software, undelete and network installation Eventually this situation reached a crisis point at the end of July 1990, and, led by
548:(NB. Gives a comprehensive overview on the history and "nature" of the HMA and the non-obvious design constraints to be observed when developing resident system extensions to be loaded into the HMA. It also describes how to address these issues using 883:+, since this issue introduced a new and for the most part undocumented RMD data structure usually located in the HMA. The kernel collects and records configuration and Real Mode Driver data during boot (type of driver, interrupts hooked by driver, 1373:), which consumes much more memory if you hook many interrupts. We came to the result that this would most probably not be save in practise because you never know if other drivers normalize or denormalize pointers, for what reasons ever. 81:
and subsequent processors identifies memory locations with a 16-bit segment and a 16-bit offset, which is resolved into a physical address via (segment) Ă— 16 + (offset). Although intended to address only
1297:
disabled. How does that work then? Rather than chopping off address bits, the system mirrors the five bytes at 0:C0h at 1000C0h. The same technique had been in fact used in DOS 5 and above running with
743: 171:(using only relative references), be compiled to work at the specific addresses in the HMA (typically allowing only one or at most two pieces of code to share the HMA), or it must be designed to be 1233: 1365:
stub for HMA loading. This works as long as no program starts doing segment:offset magics. Contrast this with the opposite approach to have multiple entry points (maybe even supporting
182:
Before code (or data) in the HMA can be addressed by the CPU, the corresponding driver must ensure that the HMA is mapped in. This requires that any such requests are tunneled through a
98:
and subsequent processors, this mode can actually address the first 65520 bytes of extended memory as part of the 64 KB range starting 16 bytes before the 1 MB mark—
994: 1003: 1001: 855:) into the HMA, there is usually still free space available, typically around 10 Kb (up to ca. 20 Kb when you use a 3rd party shell). It also makes sense for 1195: 748: 746: 536: 475:
and higher, because they only hook the multiplex interrupt INT 2Fh and can therefore utilize a backdoor interface to hook into the interrupt chain in
385:(2000), parts of the HMA are also used as a scratchpad to hold a growing data structure recording various properties of the loaded real-mode drivers. 935:
collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the file.)
164:
could control the addressing mode dynamically, thereby allowing programs to load themselves into the 1024–1088 KB region and run in real mode.
1257: 714:
Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1
624: 330:
could utilize the HMA as well. Under MS-DOS/PC DOS, a ca. 2 KB shared portion of COMMAND.COM can be relocated into the HMA, as well as
680: 1041: 331: 1344: 1217: 1023: 907: 804: 996: 1154: 999: 1218:"Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM - README.TXT and BOOT.TXT - A short description of how OpenDOS is booted" 1118: 978: 769: 737: 652:, the team's management spent an arduous series of meetings nailing down a schedule and process for closing the project down 1312: 871:, which typically leave 4 - 7 Kb of the HMA memory unused (SHARE, KEYB, and NLSFUNC cannot load into the HMA, but 582: 1081: 936: 251: 302:
option), thereby freeing up even more conventional memory and upper memory for conventional DOS software to work with.
274: 1293:
interface works even in DOS emulation under Windows NT and OS/2, and those systems most certainly cannot run with the
1183: 949:
NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds
903:
NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds
988: 970: 727: 719: 823:
61 INT 21h/AH=52h has some info on the MS-DOS 7.0+ HMA MCB chain HMA relocation for TSRs makes much sense for
1071: 432: 268: 556:
drivers capable of relocating into the HMA and similar to a (more sophisticated) method used as the basis for the
427: 154: 1393: 1388: 1370: 931:, including the description of many undocumented features and internals. It is part of the author's yet larger 836: 527:[Loading drivers dynamically (Intra-segment offset relocation to load TSRs into the HMA)] (in German). 172: 557: 438: 422: 186:
remaining in memory outside the HMA, which would invoke the A20 handler in order to (temporarily) enable the
619:. p. 10. MS-PCA1179169 (MS-PCA1179159-MS-PCA1179191). MS7020988 (MS7020978-MS7021010). Depo. Ex. 1109. 524: 226: 444: 1300: 1249: 609: 237: 666: 168: 718:. The Andrew Schulman Programming Series (1st printing, 2nd ed.). Reading, Massachusetts, USA: 441:
to specify the HMA segment (PTS-DOS only), similar to the DR DOS HIDOS.SYS /BDOS=xxxx parameter
1336: 1015: 796: 71: 901: 1281: 1305:. In that case, DOS makes sure that linear address 1000C0h contains the appropriate far call. 1057: 848: 578:
Making Code Work Better - How to minimize the size of 80x86 code and sometimes make it faster
525:"Treiber dynamisch nachladen (Intra-Segment-Offset-Relokation zum Laden von TSRs in die HMA)" 468: 291: 37: 373:
loads into the HMA (if available), and SHARE can be loaded into the HMA as well (unless its
900:
Paul, Matthias R. (1997-07-30) . "II.4. Undokumentierte Eigenschaften externer Kommandos".
49: 947:
Paul, Matthias R. (2001-04-09). "II.4. Undokumentierte Eigenschaften externer Kommandos".
8: 840: 464: 295: 247: 153:, from the rest of the motherboard. This gate could be controlled, initially through the 1191: 435:
SIZE=xxxx parameter to override default HMA pre-allocation (DR-DOS 7.02 and higher only)
1221: 1150: 844: 712: 644: 639:
One of the most important stimulanta for adding features was competitive pressure from
287: 176: 1184:"Suche freien Speicherbereich unterhalb von 1 MB, der nicht von OS ĂĽberschrieben wird" 1170:(Windows 9x only) because there apparently is not enough unused HMA memory available. 643:, which we first learnt of in the spring of 1990. The DRDOS feature set led us to add 1077: 1067: 984: 974: 733: 723: 620: 255: 1187: 1110: 528: 323: 206: 759: 1320: 649: 576: 549: 406: 400: 283: 262:, the system additionally attempted to move the disk buffers into the HMA. Under 183: 710:; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) . Williams, Andrew (ed.). 1063: 319: 311: 532: 129:
To allow running existing DOS programs which relied on this feature to access
1382: 965:
Chappell, Geoff (January 1994). Schulman, Andrew; Pedersen, Amorette (eds.).
707: 246:
and kernel could be loaded into the HMA as well, freeing up to 46 KB of
1290: 1289:
CPU) and point to address 0:C0h, which contains interrupt vector 30h. the
928: 924: 476: 347: 343: 327: 315: 115: 1357: 1137:
Move code to HMA if available and added /NOHMA option force loading low.
1033: 868: 860: 480: 412: 366: 279: 198: 161: 142: 95: 20: 1130: 1037: 969:. The Andrew Schulman Programming Series (1st printing, 1st ed.). 884: 880: 856: 832: 828: 816: 671: 640: 472: 394: 382: 378: 362: 339: 263: 232: 222: 216: 210: 146: 130: 111: 107: 78: 575:
Ingenoso, Tony (1998-12-20). "Chapter 13 - The A20 gate and the HMA".
28: 1134: 616: 202: 194: 138: 67: 623:
Plaintiff's Exhibit 3473. CA.No.2:96CV645B Plaintiff's Exhibit 477.
1362: 1294: 1167: 1029: 872: 552:, backdoors, and intra-segment offset relocation, a method used by 417: 355: 351: 335: 243: 187: 167:
Code suitable to be executed in the HMA must either be coded to be
157:, to allow running programs which wanted to access the entire RAM. 150: 83: 879:
can to some extent). Available HMA space can be rather tight with
149:
which could disconnect the microprocessor's 21st addressing line,
852: 303: 701: 699: 697: 1277: 1273: 1269: 864: 824: 676: 553: 370: 307: 60: 760:"Format of HMA Memory Block (DR DOS 6.0 kernel loaded in HMA)" 306:
seems to have relocated parts of itself into the HMA as well.
1111:"This is a detailed list of the changes I made in PC DOS 7.0" 876: 694: 134: 75: 258:(UMA), but not into the HMA. Under DOS 5.0 and higher, with 1286: 820: 764: 463:
A stub is not necessary for the resident system extensions
145:
to simulate the wrapping around. This circuit was a simple
114:
processors, with only 1 MB of memory and only 20 
53: 960: 958: 1366: 705: 57: 819:+ adds INT 21h/AX=4A03h and INT 21h/AX=4A04h. 1285:
it would wrap around (a well understood feature of the
955: 1337:"Re: [fd-dev] ANNOUNCE: CuteMouse 2.0 alpha 1" 86:(MB) (2 bytes) of memory, segment:offset addresses at 1044:
seem to have had a facility to store them in the HMA
1280:, used a clever trick. The byte at offset 5 of the 1036:, for example) store the currently unused fonts in 603: 601: 599: 1166:ANSIPLUS's code cannot be loaded to the HMA under 1104: 1102: 1049: 940: 790: 788: 786: 711: 118:, wrapped around at the 20th bit, so that address 1007: 893: 179:(with all addresses being fixed up during load). 1380: 596: 1209: 1099: 783: 570: 568: 566: 518: 516: 514: 512: 510: 508: 506: 504: 502: 500: 250:. Other components, such as device drivers and 1175: 675:(Technical information document). Revision A. 664: 658: 342:(1993) and higher, a ca. 5 KB portion of 90:and beyond reference memory beyond 1 MB ( 298:could load into the HMA as well (using their 752: 563: 497: 16:RAM area of an IBM AT or compatible computer 1250:"Who needs the address wraparound, anyway?" 1142: 827:: Although you can load large parts of the 610:"MS-DOS 5.0 Development Post-Mortem Report" 483:will provide the functionality of the stub. 457: 254:(TSRs), could at least be loaded into the 851:(and in some issues parts of TASKMGR and 266:(1991) and higher, the disk buffers (via 1310: 964: 574: 350:can coexist with DOS in the HMA (unless 201: 2.1 in 1988, which introduced the 27: 1247: 1040:. Some earlier issues of MS-DOS/PC DOS 665:Banta, K.; Partridge, D. (1994-08-18). 607: 1381: 1148: 1108: 1055: 835:, the resident part of the shell, the 797:"[fd-dev] HMA access from TSR" 906:. MPDOSTIP (in German) (3 ed.). 205:device driver. Starting in 1990 with 1334: 1311:Kozierok, Charles M. (2001-04-17) . 1215: 1181: 1013: 973:. pp. 4, 21, 100–106, 127–129. 951:. MPDOSTIP (in German) (3 ed.). 946: 899: 794: 522: 252:terminate-and-stay-resident programs 32:The high memory area is highlighted. 679:. TID800074 (replaces FYI-M-1303). 242:), parts of the operating system's 52:area consisting of the first 65520 13: 1241: 608:Dryfoos, Mike, ed. (1991-09-18) . 278:), parts of the command processor 14: 1405: 1216:Paul, Matthias R. (1997-10-02) . 1026:from the original on 2021-12-08. 971:Addison Wesley Publishing Company 742:(xviii+856+vi pages, 3.5"-floppy 722:. pp. 42, 349–350, 437–438. 720:Addison Wesley Publishing Company 560:in the author's FreeKEYB driver.) 1335:Paul, Matthias R. (2002-04-11). 1182:Paul, Matthias R. (2002-08-13). 1133:Move code to HMA if available. 1014:Paul, Matthias R. (2002-12-04). 993:(xxvi+738+iv pages, 3.5"-floppy 795:Paul, Matthias R. (2002-04-10). 523:Paul, Matthias R. (2002-02-02). 433:SHELLHIGH (CONFIG.SYS directive) 397:(the first 64 KB of memory) 193:The first user of the HMA among 1347:from the original on 2020-02-21 1260:from the original on 2020-02-19 1198:from the original on 2017-09-04 1157:from the original on 2021-11-28 1121:from the original on 2020-02-18 1088:from the original on 2020-02-18 1028:some issues of DISPLAY.SYS (of 1016:"[fd-dev] DISPLAY CON?" 910:from the original on 2016-11-05 807:from the original on 2017-09-09 772:from the original on 2020-02-18 683:from the original on 2021-12-15 630:from the original on 2019-04-02 585:from the original on 2019-11-18 539:from the original on 2017-09-09 428:Intra-segment offset relocation 1248:Necasek, Michal (2011-09-13). 1: 667:"Third Party Memory Managers" 558:dynamic dead code elimination 490: 439:HMAREA (CONFIG.SYS directive) 423:Paragraph boundary relocation 137:computers, IBM added special 56:above the one megabyte in an 7: 1149:Sweger, Kristofer (2007) . 923:is a comprehensive work on 445:Incomplete address decoding 388: 282:as well as several special 10: 1410: 1371:Interrupt Sharing Protocol 1192:de.comp.lang.assembler.x86 1109:Brooks, Vernon C. (2014). 615:(mail as court document). 479:so that the kernel's gate 18: 72:segmentation architecture 1313:"High Memory Area (HMA)" 1062:(special 3rd ed.). 450: 377:option is given). Under 63:or compatible computer. 19:Not to be confused with 1319:. 2.2.0. Archived from 839:, and DR-DOS TSRs like 1151:"ANSIPLUS and Windows" 318:and early versions of 231:) and since 1991 with 33: 1394:DOS memory management 1389:X86 memory management 334:bitmaps for prepared 92:FFFF0 + 0010 = 100000 38:DOS memory management 31: 1056:Cooper, Jim (2002). 169:position-independent 104:FFFF:FFFF (0x10FFEF) 361:is invoked). Under 248:conventional memory 155:keyboard controller 133:on their newer IBM 100:FFFF:0000 (0xFFFF0) 706:Schulman, Andrew; 177:offset relocatable 173:paragraph boundary 122:was equivalent to 34: 1059:Using MS-DOS 6.22 980:978-0-201-60835-9 738:978-0-201-63287-3 621:Comes v Microsoft 272:, and later also 256:upper memory area 1401: 1375: 1358:mangled pointers 1356:in case of such 1353: 1352: 1331: 1329: 1328: 1307: 1266: 1265: 1235: 1232: 1230: 1229: 1220:. Archived from 1213: 1207: 1206: 1204: 1203: 1179: 1173: 1172: 1163: 1162: 1146: 1140: 1139: 1127: 1126: 1106: 1097: 1096: 1094: 1093: 1082:978-0-78972573-8 1053: 1047: 1046: 1011: 1005: 992: 962: 953: 952: 944: 938: 934: 922: 918: 916: 915: 897: 891: 890: 813: 812: 792: 781: 780: 778: 777: 756: 750: 741: 717: 703: 692: 691: 689: 688: 662: 656: 654: 636: 635: 629: 614: 605: 594: 593: 591: 590: 572: 561: 547: 545: 544: 533:de.comp.os.msdos 520: 484: 461: 324:Personal NetWare 207:Digital Research 125: 121: 105: 101: 93: 89: 42:high memory area 1409: 1408: 1404: 1403: 1402: 1400: 1399: 1398: 1379: 1378: 1350: 1348: 1326: 1324: 1304: 1263: 1261: 1244: 1242:Further reading 1239: 1238: 1227: 1225: 1214: 1210: 1201: 1199: 1180: 1176: 1160: 1158: 1147: 1143: 1124: 1122: 1107: 1100: 1091: 1089: 1074: 1066:. p. 669. 1054: 1050: 1012: 1008: 981: 963: 956: 945: 941: 932: 920: 913: 911: 898: 894: 810: 808: 793: 784: 775: 773: 758: 757: 753: 730: 704: 695: 686: 684: 663: 659: 633: 631: 627: 612: 606: 597: 588: 586: 573: 564: 542: 540: 521: 498: 493: 488: 487: 462: 458: 453: 407:Expanded memory 401:Extended memory 391: 376: 363:PC DOS 7.0 360: 301: 284:self-relocating 277: 271: 264:DR DOS 6.0 261: 241: 230: 220: 211:DR DOS 5.0 123: 119: 103: 99: 91: 87: 24: 17: 12: 11: 5: 1407: 1397: 1396: 1391: 1377: 1376: 1332: 1308: 1299: 1243: 1240: 1237: 1236: 1208: 1174: 1141: 1098: 1072: 1064:Que Publishing 1048: 1006: 979: 954: 939: 892: 782: 751: 728: 708:Brown, Ralf D. 693: 657: 595: 562: 495: 494: 492: 489: 486: 485: 455: 454: 452: 449: 448: 447: 442: 436: 430: 425: 420: 415: 410: 404: 398: 390: 387: 374: 358: 299: 273: 267: 259: 236: 225: 214: 15: 9: 6: 4: 3: 2: 1406: 1395: 1392: 1390: 1387: 1386: 1384: 1374: 1372: 1368: 1364: 1359: 1346: 1342: 1338: 1333: 1323:on 2006-10-16 1322: 1318: 1314: 1309: 1306: 1302: 1296: 1292: 1288: 1283: 1279: 1275: 1271: 1259: 1255: 1251: 1246: 1245: 1234: 1224:on 2003-10-04 1223: 1219: 1212: 1197: 1193: 1189: 1186:(in German). 1185: 1178: 1171: 1169: 1156: 1152: 1145: 1138: 1136: 1132: 1120: 1116: 1112: 1105: 1103: 1087: 1083: 1079: 1075: 1069: 1065: 1061: 1060: 1052: 1045: 1043: 1039: 1035: 1031: 1025: 1021: 1017: 1010: 1004: 1002: 1000: 997: 995: 990: 989:0-201-60835-9 986: 982: 976: 972: 968: 967:DOS Internals 961: 959: 950: 943: 937: 930: 926: 909: 905: 904: 896: 889: 886: 882: 878: 874: 870: 866: 862: 858: 854: 850: 846: 842: 838: 834: 830: 826: 822: 818: 806: 802: 798: 791: 789: 787: 771: 767: 766: 761: 755: 749: 747: 744: 739: 735: 731: 729:0-201-63287-X 725: 721: 716: 715: 709: 702: 700: 698: 682: 678: 674: 673: 668: 661: 653: 651: 646: 642: 626: 622: 618: 611: 604: 602: 600: 584: 580: 579: 571: 569: 567: 559: 555: 551: 538: 534: 530: 526: 519: 517: 515: 513: 511: 509: 507: 505: 503: 501: 496: 482: 478: 474: 470: 466: 460: 456: 446: 443: 440: 437: 434: 431: 429: 426: 424: 421: 419: 416: 414: 411: 408: 405: 402: 399: 396: 393: 392: 386: 384: 380: 372: 368: 364: 357: 353: 349: 345: 341: 337: 333: 329: 325: 321: 317: 313: 309: 305: 297: 293: 289: 286:drivers like 285: 281: 276: 270: 265: 257: 253: 249: 245: 239: 234: 228: 224: 218: 212: 208: 204: 200: 197:products was 196: 191: 189: 185: 180: 178: 174: 170: 165: 163: 158: 156: 152: 148: 144: 140: 136: 132: 127: 117: 116:address lines 113: 109: 97: 94:). So, on an 85: 80: 77: 73: 69: 64: 62: 59: 55: 51: 47: 43: 39: 30: 26: 22: 1355: 1349:. Retrieved 1340: 1325:. Retrieved 1321:the original 1317:The PC Guide 1316: 1272:, and hence 1268: 1262:. Retrieved 1253: 1226:. Retrieved 1222:the original 1211: 1200:. Retrieved 1177: 1165: 1159:. Retrieved 1144: 1129: 1123:. Retrieved 1115:PC DOS Retro 1114: 1090:. Retrieved 1073:0-78972573-8 1058: 1051: 1027: 1019: 1009: 966: 948: 942: 933:MPDOSTIP.ZIP 929:OpenDOS 7.01 925:Novell DOS 7 921:NWDOSTIP.TXT 912:. Retrieved 902: 895: 815: 809:. Retrieved 800: 774:. Retrieved 763: 754: 713: 685:. Retrieved 670: 660: 655:(1+32 pages) 638: 632:. Retrieved 587:. Retrieved 577: 541:. Retrieved 477:kernel space 459: 348:DRVSPACE.BIN 344:DBLSPACE.BIN 328:Novell DOS 7 316:NetWare Lite 192: 181: 166: 162:A20 handlers 159: 128: 106:. The Intel 65: 45: 41: 35: 25: 1341:freedos-dev 1274:PC DOS 1254:OS/2 Museum 1042:DISPLAY.SYS 1020:freedos-dev 801:freedos-dev 481:A20 handler 413:Unreal mode 365:(1995) and 332:DISPLAY.SYS 280:COMMAND.COM 275:BUFFERSHIGH 215:HIDOS.SYS / 199:Windows/286 143:motherboard 21:High memory 1383:Categories 1351:2020-02-21 1327:2006-10-15 1264:2020-02-19 1228:2009-03-29 1202:2017-09-03 1161:2021-11-28 1131:DOSKEY.COM 1125:2020-02-18 1092:2020-02-18 1038:XMS memory 998:) Errata: 914:2012-01-11 885:CONFIG.SYS 881:MS-DOS 7.0 857:MS-DOS 5.0 817:MS-DOS 7.0 811:2017-09-09 776:2020-02-18 745:) Errata: 687:2021-12-15 672:DR DOS 6.0 634:2019-07-22 589:2019-11-18 581:(e-book). 543:2017-07-02 491:References 473:DR DOS 6.0 395:Low memory 381:(1995) to 379:MS-DOS 7.0 340:MS-DOS 6.2 233:MS-DOS 5.0 223:CONFIG.SYS 160:So-called 147:logic gate 131:low memory 1188:Newsgroup 1135:SHARE.EXE 641:DRDOS 5.0 617:Microsoft 529:Newsgroup 336:codepages 269:HIBUFFERS 203:HIMEM.SYS 195:Microsoft 139:circuitry 124:0000:0000 120:FFFF:0010 88:FFFF:0010 68:real mode 48:) is the 1345:Archived 1295:A20 line 1258:Archived 1196:Archived 1168:MS-DOS 7 1155:Archived 1119:Archived 1086:Archived 1030:PC DOS 7 1024:Archived 908:Archived 873:DBLSPACE 805:Archived 770:Archived 768:. 2000. 681:Archived 625:Archived 583:Archived 537:Archived 418:Rebasing 389:See also 356:DRVSPACE 352:DBLSPACE 338:. Under 260:DOS=HIGH 188:A20 gate 175:or even 84:Megabyte 1190::  853:NWCACHE 849:NLSFUNC 837:BUFFERS 531::  469:NLSFUNC 320:NWCACHE 312:NLCACHE 304:TASKMAX 292:NLSFUNC 141:on the 82:1  74:of the 1291:CALL 5 1278:MS-DOS 1270:86-DOS 1080:  1070:  987:  977:  867:up to 865:PC DOS 847:, and 825:DR-DOS 736:  726:  677:Novell 554:DR-DOS 471:under 375:/NOHMA 371:DOSKEY 359:/NOHMA 308:Novell 70:, the 40:, the 1303:=HIGH 919:(NB. 877:HIMEM 841:SHARE 650:BradS 628:(PDF) 613:(PDF) 550:stubs 465:SHARE 451:Notes 409:(EMS) 403:(XMS) 322:from 314:from 296:SHARE 240:=HIGH 235:(via 227:HIDOS 219:=FFFF 213:(via 135:PC AT 96:80286 76:Intel 54:bytes 1287:8086 1078:ISBN 1068:ISBN 1034:2000 985:ISBN 975:ISBN 927:and 875:and 869:2000 863:and 861:6.22 845:KEYB 833:BDOS 831:and 829:BIOS 821:RBIL 765:RBIL 734:ISBN 724:ISBN 467:and 367:2000 326:and 294:and 288:KEYB 244:BIOS 221:and 217:BDOS 184:stub 112:8088 110:and 108:8086 79:8086 1369:'s 1367:IBM 1363:A20 1301:DOS 1282:PSP 645:UMB 383:8.0 310:'s 300:/MH 238:DOS 229:=ON 209:'s 151:A20 102:to 66:In 58:IBM 50:RAM 46:HMA 36:In 1385:: 1354:. 1343:. 1339:. 1315:. 1267:. 1256:. 1252:. 1194:. 1164:. 1153:. 1128:. 1117:. 1113:. 1101:^ 1084:. 1076:. 1022:. 1018:. 983:. 957:^ 859:- 843:, 814:. 803:. 799:. 785:^ 762:. 732:. 696:^ 669:. 637:. 598:^ 565:^ 535:. 499:^ 369:, 290:, 126:. 61:AT 1330:. 1276:/ 1231:. 1205:. 1095:. 1032:/ 991:. 917:. 779:. 740:. 690:. 592:. 546:. 354:/ 346:/ 44:( 23:.

Index

High memory

DOS memory management
RAM
bytes
IBM
AT
real mode
segmentation architecture
Intel
8086
Megabyte
80286
8086
8088
address lines
low memory
PC AT
circuitry
motherboard
logic gate
A20
keyboard controller
A20 handlers
position-independent
paragraph boundary
offset relocatable
stub
A20 gate
Microsoft

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑