Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!usc!snorkelwacker!bu.edu!bu-cs!mirror!prism!rob From: rob@prism.TMC.COM Newsgroups: comp.arch Subject: Re: LoadAll? Message-ID: <208300003@prism> Date: 2 Jan 90 15:50:00 GMT References: <597@unmvax.unm.edu> Lines: 19 Nf-ID: #R:unmvax.unm.edu:-59700:prism:208300003:000:1088 Nf-From: prism.TMC.COM!rob Jan 2 10:50:00 1990 Another use for LOADALL is in DOS software that accesses extended memory. The more standard method of switching to protected mode and then resetting the CPU to re-enter real mode is too slow for some purposes. LOADALL, though hardly elegant, allows access to memory above the 1Mb line without having to switch modes. Microsoft's ramdisk and disk-caching programs use LOADALL for accessing extended memory on a 286. As has been noted, the 386 and 486 can switch much more easily between real and protected modes, making LOADALL less useful. In protected mode, LOADALL could theoretically be used to get around the CPU protection, since it allows you to directly set the 'shadow' segment registers. In practice, the problem of setting up a table at an absolute address under protected mode, plus the fact that LOADALL is supposedly a priviledged instruction, would make this difficult. Intel is pretty adamant about avoiding LOADALL, and guards information about it closely. I've never seen any 'official' documentation of it, though such documentation undoubtedly exists.