Content deleted Content added
Matthiaspaul (talk | contribs) m →Further reading: -typo |
Matthiaspaul (talk | contribs) →Further reading: +refs |
||
Line 188:
==Further reading==
* {{cite book |title=86-DOS - Disk Operating System for the 8086 - Programmer's Manual |edition=Preliminary |version=Version 0.3 |date=1980 |publisher=[[Seattle Computer Products, Inc.]] |___location=Seattle, Washington, USA |url=http://www.patersontech.com/dos/Docs/86_dos_prog.pdf |access-date=2011-09-13 |url-status=dead |archive-url=https://web.archive.org/web/20190623112725/http://www.patersontech.com/dos/Docs/86_dos_prog.pdf |archive-date=2019-06-23}} (41 pages)
* {{cite web |title=Format of Program Segment Prefix (PSP) |date=2000 |work=[[INTER61]] |url=http://www.delorie.com/djgpp/doc/rbinter/it/78/13.html |access-date=2019-12-19 |url-status=live |archive-url=https://web.archive.org/web/20200217223939/http://www.delorie.com/djgpp/doc/rbinter/it/78/13.html |archive-date=2020-02-17}}
* {{cite book |title=DOS 5 für Programmierer: Die endgültige Referenz |language=de |chapter=Kapitel 5: EXEC im Detail - Program Segment Prefix (PSP) |author-first=Arne |author-last=Schäpers |date=1991 |edition=1 |publisher=[[Addison Wesley (Deutschland) GmbH]] |isbn=3-89319-350-2 |pages=148–151, 971–972}} (1123+v pages, foldout, 5.25"-floppy)
* {{cite web |title=Who needs the address wraparound, anyway? |date=2011-09-13 |author-first=Michal |author-last=Necasek |work=OS/2 Museum |url=http://www.os2museum.com/wp/who-needs-the-address-wraparound-anyway/ |access-date=2020-02-19 |url-status=live |archive-url=https://web.archive.org/web/20200219004644/http://www.os2museum.com/wp/who-needs-the-address-wraparound-anyway/ |archive-date=2020-02-19 |quote=[…] [[86-DOS]], and hence [[PC DOS]]/[[MS-DOS]], used a clever trick. The byte at offset 5 of the [[Program Segment Prefix|PSP]] 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, it would wrap around (a well understood feature of the [[8086]] CPU) and point to address 0:C0h, which contains interrupt vector 30h. […] the [[CALL 5 (DOS)|CALL 5]] interface works even in DOS emulation under Windows NT and OS/2, and those systems most certainly cannot run with the [[A20 line]] 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 [[DOS (CONFIG.SYS directive)|DOS=HIGH]]. In that case, DOS makes sure that linear address 1000C0h contains the appropriate far call. […]}}
==External links==
|