A20 liniyasi - A20 line

The A20, yoki 20-manzil, ulardan biri elektr tashkil etuvchi chiziqlar tizim avtobusi ning x86 - asoslangan kompyuter tizimi. Ayniqsa A20 liniyasi 21-bitni uzatish uchun ishlatiladi manzil avtobusi.

Mikroprotsessor odatda bazaviy-ikkitaga teng bo'lgan bir qator manzil satrlariga ega logaritma uning jismoniy manzil maydonining. Masalan, 4 Gb bo'lgan protsessor baytli jismoniy bo'shliq 32 satrni talab qiladi, ular A0 dan A31 gacha nomlanadi. Chiziqlar ular uzatayotgan manzildagi bitning nolga asoslangan soniga ko'ra nomlanadi. The kamida muhim bit birinchi bo'lib, shuning uchun 0 bit bilan raqamlanadi va A0 satrida signal beriladi. A20 20-bitni (21-bit) uzatadi va manzillar 1 MB yoki 2 ga yetganda faollashadi20.

Yuqori xotira maydoni faqat A20 shlyuzi yoqilgan bo'lsa, 80286 protsessorda real rejimda mavjud.

Umumiy nuqtai

The Intel 8086, Intel 8088 va Intel 80186 protsessorlarda A0 dan A19 gacha raqamlangan 20 ta manzil satri bor edi; bular bilan protsessor 2 ga kira oladi20 bayt yoki 1 MB. Bunday protsessorlarning ichki manzil registrlarida atigi 16 bit bor edi. 20-bitli manzil maydoniga kirish uchun tashqi xotira moslamasi 16-bitdan iborat edi ofset manzil 16-bitga qo'shildi segment 20-bitli fizik manzilni yaratish uchun 4 bitga siljigan raqam. Olingan manzil tengdir segment × 16 + ofset.[1] Xuddi shu 20-bitli jismoniy manzilni ishlab chiqaradigan segment va ofsetning ko'plab kombinatsiyalari mavjud. Shuning uchun xotirada bir xil baytga murojaat qilishning turli usullari mavjud edi.[2] Masalan, 4096 xil segmentning to'rttasi: ofset kombinatsiyalari, barchasi fizik manzili 0x000FFFFF (1 MB-xotira maydonidagi so'nggi bayt) bo'lgan baytga ishora qiladi:

F000: FFFF
FFFF: 000F
F555: AAAF
F800: 7FFF

Oxirgi usulga murojaat qilinganda, ofsetning birining ko'payishi protsessor uchun to'g'ri manzil bo'lgan F800: 8000 ni beradi, ammo u 0x00100000 jismoniy manziliga (birinchi bayt 1 MB dan oshiq) o'girilganligi sababli protsessorga boshqa manzil kerak bo'ladi. ushbu baytga haqiqiy kirish uchun chiziq. 8086 protsessor satrida bunday satr yo'qligi sababli, yuqoridagi 21-bit, o'rnatilayotganda tushib ketadi, natijada F800: 8000 manzili "o'raladi"[1] va aslida 0x00000000 jismoniy manziliga ishora qilish.

Qachon IBM dizaynlashtirilgan IBM PC AT (1984) mashinasida yangi yuqori mahsuldorlikdan foydalanishga qaror qilindi Intel 80286 mikroprotsessor. 80286 16 MB tizim xotirasiga murojaat qilishi mumkin himoyalangan rejim. Biroq, protsessor 8086 ning xatti-harakatlarini taqlid qilishi kerak edi haqiqiy rejim, himoyalangan rejim uchun yozilmagan operatsion tizimlar va dasturlarni ishga tushirishi uchun uni ishga tushirish rejimi. Biroq, 80286 A20 chizig'ini haqiqiy rejimda nolga majburlamadi. Shuning uchun F800: 8000 kombinatsiyasi endi 0x00000000 fizik manziliga emas, balki 0x00100000 manziliga ishora qiladi. Natijada, manzilni o'rashga asoslangan dasturlar endi ishlamaydi. Bunday dasturlarga mos kelishini ta'minlash uchun IBM bu muammoni hal qilishga qaror qildi anakart.

A qo'shilishi bilan amalga oshirildi mantiqiy eshik nomi berilgan protsessor va tizim shinasi orasidagi A20 liniyasida Darvoza-A20. Gate-A20 dasturiy ta'minot yordamida yoqilishi yoki o'chirilishi mumkin, bu manzil avtobusining A20 dan signal olishiga yo'l qo'ymaslik yoki oldini olish uchun. O'rashga tayanadigan eski dasturlarning bajarilishi uchun o'tkazib bo'lmaydigan qilib o'rnatiladi. Yuklash vaqtida BIOS birinchi navbatda Gate-A20-ni barcha tizim xotirasini hisoblaganda va sinab ko'rishda faollashtiradi va keyin boshqaruvni operatsion tizimga o'tkazishdan oldin uni o'chiradi.

Dastlab, mantiqiy eshik - ga bog'langan eshik edi Intel 8042 klaviatura tekshiruvi.[1] Uni boshqarish nisbatan sekin jarayon edi. Shu vaqtdan boshlab tizimning barcha xotiralariga kiradigan dasturlar bilan o'ralgan holda talab qilinadigan dasturlarni yanada samarali bajarish uchun boshqa usullar qo'shildi. A20 chizig'ini boshqarish uchun bir nechta usul mavjud.[3]

A20-ni uzib qo'yish o'ralmaydi barchasi xotira 1 MB dan yuqori, faqat 1-2 MB, 3-4 MB, 5-6 MB va hokazo. Haqiqiy rejim dasturiy ta'minot faqat 1 MB dan bir oz yuqoriroq maydonga g'amxo'rlik qildi, shuning uchun Gate-A20 liniyasi etarli edi.

Gate-A20 liniyasini yoqish bu birinchi qadamlardan biri himoyalangan rejim x86 operatsion tizim yuklash jarayonida, ko'pincha yadroga boshqarish uzatilguncha bootstrap (masalan, Linux misolida).

Virtual 8086 rejimi bilan tanishtirildi Intel 80386, yordamida A20 o'ramini simulyatsiya qilishga imkon beradi virtual xotira protsessor moslamalari; jismoniy xotira bir nechta virtual manzillarga moslashtirilishi mumkin. Shunday qilib, virtual megabaytning birinchi megabaytida tasvirlangan xotira ikkinchi virtual megabaytda yana xaritada bo'lishi mumkin. Operatsion tizim Gate A20-dagi o'zgarishlarni to'xtatishi va virtual-xotira manzil maydoniga tegishli o'zgarishlarni kiritishi mumkin, bu esa Gate-A20 liniyasini almashtirish samaradorligini ahamiyatsiz qiladi.

A20 darvozasi

A20 liniyasini boshqarish IBM PC arxitekturasining o'sishining bir bosqichida muhim xususiyat edi, chunki u qo'shimcha 65.520 bayt (64 KB - 16 bayt) xotiraga kirish imkoniyatini qo'shdi. haqiqiy rejim, dasturiy ta'minotni sezilarli darajada o'zgartirmasdan.

Shubhasiz "xakerlik" deb nomlangan narsada, A20 shlyuzi dastlab anakartdagi klaviatura tekshirgichining bir qismi bo'lib, u qanday xatti-harakatga qarab ochilishi yoki yopilishi mumkin edi.[4]

A20 shlyuzi ko'plab zamonaviy kompyuterlarda hanuzgacha mavjud va dastlab eshik ochilgandan so'ng darhol yopilgan. Zamonaviy himoyalangan rejim operatsion tizimlar odatda yuklash jarayonida A20 eshigini erta ochadi va uni qayta yopmaydi. Bunday operatsion tizimlarda uni yopiq saqlash uchun moslik sabablari yo'q va ular uni ochish orqali mavjud bo'lgan barcha fizik manzillarga kirish huquqiga ega.

The Intel 80486 va Pentium nomli maxsus pin qo'shib qo'ydi A20M #, bu past kuchlar fizik manzilning bitini 20-ni chipdagi kesh yoki tashqi xotiraga kirish uchun nolga tenglashtirishi kerak. Bunga ehtiyoj bor edi, chunki 80486 chipdagi keshni o'rnatdi va shuning uchun bu mantiqni tashqi mantiq bilan yashirish endi mumkin emas edi. Dastur hali ham eshikni boshqarishi kerak va tashqi tashqi qurilmalar bilan ishlash kerak ( chipset ) Buning uchun.[5]

A20 eshiklarini qo'llab-quvvatlash o'zgartirildi Nehalem mikro arxitekturasi (ba'zi manbalarda A20 qo'llab-quvvatlanishi olib tashlanganligi haqida noto'g'ri da'vo qilingan). A20 bitini maskalash kerakmi yoki yo'qmi degan signalni qabul qiladigan maxsus A20M # piniga ega bo'lgan protsessordan ko'ra, u virtualizatsiya qilingan, shuning uchun ma'lumotlar maxsus avtobus tsikllari yordamida atrof-muhit apparatlaridan protsessorga yuboriladi.[iqtibos kerak ] Dasturiy ta'minot nuqtai nazaridan mexanizm xuddi avvalgidek ishlaydi va operatsion tizim A20 maskasini o'chirish uchun tashqi apparatni dasturlashi kerak (bu o'z navbatida yuqorida aytib o'tilgan avtobus tsikllarini protsessorga yuboradi).[iqtibos kerak ]

Intel endi boshlab A20 shlyuzini qo'llab-quvvatlamaydi Xasuell. Intel System Programmers Manual Vol-ning 271-beti. 2013 yil iyun oyidan boshlab 3A-da: "A20M # funktsional imkoniyatlaridan asosan eski operatsion tizimlar foydalanadi va zamonaviy operatsion tizimlar foydalanmaydi. Yangi Intel 64 protsessorlarida A20M # bo'lmasligi mumkin."[6]

A20 ishlov beruvchisi

The A20 ishlov beruvchisi bu IBM PC xotira menejeri ga kirishni boshqaruvchi dasturiy ta'minot yuqori xotira maydoni (HMA). Kengaytirilgan xotira menejerlar odatda ushbu funktsiyani ta'minlaydi. A20 ishlovchilariga mikroprotsessorning 21-manzili liniyasi - A20 liniyasi nomi berilgan.

Yilda DOS Kabi HMA menejerlari HIMEM.SYS A20-ni boshqarish bo'yicha "qo'shimcha vazifa" ga ega. HIMEM.SYS tomonidan taqdim etilgan API A20ni ochish / yopish uchun. DOS o'zi ushbu maydonni ba'zi bir saqlash ehtiyojlari uchun ishlatishi va shu bilan dasturlar uchun odatiy xotirani bo'shatishi mumkin. Ushbu funksiya DOS = YUQORI yoki HIDOS = ON direktivalari CONFIG.SYS konfiguratsiya fayli.

Ta'sir qilingan dasturlar

1980 yildan beri manzil o'rami ichki tomonidan ishlatilgan 86-DOS va MS-DOS amalga oshirish uchun CP / M -style CALL 5 kirish nuqtasi Dastur segmenti prefiksi (PSP) (qisman CP / M ga o'xshaydi nol sahifa ).[7][8] Bu, xususan, dasturlar tomonidan ishlatilgan mashinada tarjima qilingan dan CP / M-80 orqali yig'ilish tili tarjimonlari[7] kabi Sietl kompyuter mahsulotlari ' TRANS86.[9] Ushbu kirish nuqtasi CALL 5 ishlovchisi 0x000000C0 jismoniy manzilga tegishli (INT 30h uchun yozuv va INT 31h ning birinchi bayti bilan ustma-ust joylashgan) haqiqiy rejim uzilish vektor jadvali ).[10][11][12] Biroq, CP / M-80 dizayni bo'yicha 8080 /Z80 Nolinchi sahifada 6-ofsetda saqlangan 16-bitli manzil ataylab, shuningdek, segment xotirasi hajmi sifatida talqin qilinishi mumkin.[7] Buni DOS-da 8086 segmenti bilan taqlid qilish uchun: ofsetli manzil sxemasi, uzoq qo'ng'iroq kirish nuqtasining 16-bitli ofseti PSP-da 6-ofsetda saqlanadigan ushbu segment o'lchamiga (fe 0xFEF0) to'g'ri kelishi kerak edi. Qo'ng'iroq 5.[11][12] Ushbu talablarni muvofiqlashtirishning yagona usuli bu 0xFEF0 ga qo'shilganda 0x001000C0 manzilga olib keladigan segment qiymatini tanlash edi, bu 8086 da 0x000000C0 atrofida o'raladi.[13][10][12]

Qoplamaning paydo bo'lishi va ushbu interfeysdan foydalanadigan DOS dasturlarining ishlashi uchun A20 o'chirib qo'yilishi kerak edi. O'zlarining qismlarini HMA-ga ko'chirishi mumkin bo'lgan DOS-ning yangi versiyalari odatda HMA-dagi FFFF: 00D0-ga kirish nuqtasining nusxasini yaratadi (u yana jismoniy 0x001000C0 ga to'g'ri keladi), shuning uchun interfeys A20 holatini hisobga olmasdan ishlashi mumkin. .[12][14]

CALL 5 interfeysidan foydalanishda ma'lum bo'lgan dasturlardan biri bu DOS versiyasi Kichik-C kompilyator.[15] Shuningdek, Microsoft-da SPELL yordam dasturi Word 3.0 (1987) - bu mos ravishda o'rnatiladigan CALL 5 interfeysiga bog'liq dasturlardan biri.[16] Quyosh mikrosistemalari ' PC-NFS (1993) CALL 5-ni ham tuzatishni talab qiladi.[14]

Shuningdek, dastur maydonini tejash uchun,[1] kimdir hiyla ishlatgan BIOS va DOS dasturchilari, masalan, dastur ma'lumotlariga kirish imkoniga ega bo'lgan bitta segmentga ega bo'lishlari kerak (masalan, 0x000F8000–0x000FFFFF fizik manzillarini ko'rsatib, F800: 0000 dan F800: 7FFF gacha), shuningdek, I / O ma'lumotlari (masalan, birinchi xotira segmentida joylashgan (F800: 8000 dan F800 gacha bo'lgan manzillar: FFFF 0x00000000 dan 0x00007FFF gacha bo'lgan jismoniy manzillarni ko'rsatadigan).

Ushbu hiyla-nayrang kod bajarilmaguncha ishlaydi past xotira, dastlabki 64 KB operativ xotira, bu DOS-ning eski versiyalarida har doim ham yuqori bo'lgan imkoniyatlarga ega bo'lgan holat.

DOS yadrosi yuqori xotira maydonlariga ko'chirilgandan so'ng, past xotira dasturlar uchun tobora ko'payib bordi, bu esa o'ramga bog'liq bo'lganlarning ishlamay qolishiga olib keldi.[17] DOS-ning yangi versiyalaridagi bajariladigan yuklovchilar ta'sirlangan dasturlarning ba'zi keng tarqalgan turlarini aniqlashga harakat qiladilar va ularni tezda xotirada ishlashlari uchun ularni tuzatadilar[18] yoki ularga ijro etishdan oldin ularni birinchi 64 KB dan yuqori yuklang.[18] Avtomatik ravishda aniqlanmaydigan dasturlar uchun LOADFIX[19] yoki MEMMAX -L[19] dasturlarni birinchi 64 KB dan yuqori yuklashga majbur qilish uchun ishlatilishi mumkin.

Bu hiyla ishlatilgan IBM / Microsoft Pascal o'zi va u bilan tuzilgan dasturlar orqali,[20][21][8][15] shu jumladan Microsoft MASM.[15] Buning yordamida boshqa tez-tez ishlatiladigan dasturiy ta'minot mavjud edi bajariladigan kompressorlar Realia kabi Kosmik vositasi[18] (tomonidan yozilgan Robert B. K. Devar 1982 yilda va ning dastlabki versiyalarini siqish uchun ishlatilgan Norton Utilities[22][23][24][25]) va Microsoft-ga tegishli EXEPACK[17][18][1][26][15] (tomonidan yozilgan Ruben Borman Microsoft-ning LINK 3.02 va undan yuqori versiyasidagi ekvivalent / E [XEPACK] opsiyasi.[17][1][26][24] EXEPACK bilan ishlangan dasturlarda "Paketlangan fayl buzilgan" xato xabari paydo bo'ladi.[1][26]

Siqilgan bajariladigan fayllarni o'zgartirish uchun muammoli kompressiya tartibini (larini) almashtirish yoki asl faylni kengaytirish va tiklashga urinish uchun turli xil yordamchi dasturlar mavjud.

Zamonaviy Eski BIOS boot loaders (masalan.) GNU GRUB ) A20 liniyasidan foydalaning.[27] UEFI yuklash moslamalari 32-bitdan foydalanadi himoyalangan rejim yoki 64-bit uzoq rejim.

Shuningdek qarang

Adabiyotlar

  1. ^ a b v d e f g Pol, Mattias R. (2002-02-02). "Treiber dynamisch nachladen (Segment ichi-ofset-relokatsiya zum Laden fon TSRlar HMA-da)" [Drayverlarni dinamik ravishda yuklash (TSR-larni HMA-ga yuklash uchun segment ichidagi ofset ko'chishi)] (nemis tilida). Yangiliklar guruhide.comp.os.msdos. Arxivlandi asl nusxasidan 2017-09-09. Olingan 2017-07-02. (NB. Ning tarixi va "tabiati" haqida to'liq ma'lumot beradi HMA va HMA-ga yuklanadigan rezident tizim kengaytmalarini ishlab chiqishda aniq dizayndagi cheklovlar kuzatilishi kerak, ularning ba'zilari A20 shlyuzidan kelib chiqadi. Shuningdek, ushbu muammolarni qanday hal qilish kerakligi tasvirlangan stublar, orqa eshiklar va segment ichidagi ofsetni boshqa joyga ko'chirish, tomonidan ishlatiladigan usul DR-DOS HMA-ga ko'chib o'tishga qodir bo'lgan haydovchilar va shunga o'xshash (yanada murakkab) usulga o'xshash o'lik kodni dinamik ravishda yo'q qilish muallifning FreeKEYB drayverida.)
  2. ^ Pol, Mattias R. (2002-04-11). "Re: [fd-dev] E'LON: CuteMouse 2.0 alfa 1". liberos-dev. Arxivlandi asl nusxasidan 2020-02-21. Olingan 2020-02-21.
  3. ^ "A20 Line". OSDev Wiki.
  4. ^ Shanli, Tom; Anderson, Don (1995). Firibgar, Jon (tahr.) ISA tizimining arxitekturasi (3 nashr). Mindshare, Inc. / Addison-Uesli nashriyot kompaniyasi. pp.79 –80. ISBN  0-201-40996-8. ISBN  978-0-201-40996-3. [1]
  5. ^ Shanli, Tom (1996). Himoyalangan rejim dasturiy ta'minot arxitekturasi. Teylor va Frensis. p. 60. ISBN  0-201-55447-X.
  6. ^ Intel tizim dasturchilarining qo'llanmasi. 2013 yil iyun oyidan boshlab 3A.
  7. ^ a b v 86-DOS - 8086 uchun disk operatsion tizimi - Dasturchilar uchun qo'llanma (PDF). 0.3-versiya (Dastlabki tahrir). Sietl, Vashington, AQSh: Seattle Computer Products, Inc. 1980. 7, 17-betlar. Arxivlangan asl nusxasi (PDF) 2019-06-23 da. Olingan 2011-09-13. […] Ushbu shakl soddalashtirish uchun taqdim etilgan 8080 / Z80 dasturlarini 8086 kodiga tarjima qilish, va yangi dasturlar uchun tavsiya etilmaydi. […] Xotira hajmi. Bu dastur segmentida mavjud bo'lgan baytlarning soni. […] (41 bet)
  8. ^ a b Letvin, Jeyms (1985-04-10). "Ko'p rejimli mikroprotsessorda dasturlarni bajarish usuli va operatsion tizimi". Microsoft. US06722052, US4779187A. Arxivlandi asl nusxasidan 2020-02-18. Olingan 2018-09-23. […] 8086 yil uchun yozilgan ba'zi dasturlar to'g'ri ishlash uchun [manzilni o'rash] ga tayanadi. Afsuski, xotira joylari 80286 real rejimida 1 megabaytdan oshadi va past xotira joylariga o'ralmaydi. Binobarin, yozilgan dasturlarni o'z ichiga olgan dasturlar MicroSoft PASCAL va MS-DOS-ning "5-qo'ng'iroq" funktsiyasidan foydalanadigan dasturlar 80286 standart tizimida ishlamay qoladi. […] Masalan, PASCAL dasturlari yuklanmagan 64K dan past xotira va maxsus ko'rsatma 1 megabaytdan yuqori bo'lgan past xotira joylarida joylashtirilgan - masalan, 100000 soat yoki 100010 soat. […] [2]
  9. ^ Teylor, Rojer; Lemmonlar, Fil (1982 yil iyun). "Yuqori migratsiya - 1-qism: Tarjimonlar - CP / M-86 dasturlarini CP / M va MS-DOS-ga ko'chirish uchun tarjima dasturlaridan foydalanish" (PDF). BAYT. Vol. 7 yo'q. 6. BYTE Publications Inc. 321-322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344 [342, 344]. ISSN  0360-5280. KODEN BYTEDJ. Arxivlandi (PDF) asl nusxasidan 2020-01-16. Olingan 2020-01-15. […] Ga kirish huquqini olish CP / M-86 […] CP / M-86-ga kirish uchun funktsiya kodini CL registrga joylashtirish, bayt parametrini DL registrga qo'yish yoki parametr so'zini DX registrga joylashtirish, ma'lumotlar segmentini DS registrga joylashtirish (ma'lumotlar) segment odatda konvertatsiya qilingan dastur uchun o'zgartirilmaydi) va dasturiy ta'minotning uzilishini amalga oshirish, INT # 224. Natijada bayt qiymati bo'lsa, AL registrga qaytariladi; agar natija so'z qiymati bo'lsa, u AX va BX registrlarida qaytariladi. Ikki so'zli qiymatlar BX registrlarida ofset va ES registrida segment bilan qaytariladi. Dasturlarni konvertatsiya qilish CP / M-80 CP / M-86 raqamiga qo'ng'iroqni 5-manzilga INT # 224 dasturiy ta'minotni to'xtatib qo'yish bilan almashtirishni talab qiladi. Boshqa zarur o'zgarish quyidagilarni o'z ichiga oladi issiq yuklash. CP / M-80 ostida, iliq yuklash tizimiga 0 joyiga o'tish uchun 0 funktsiya kodi bilan tizim qo'ng'irog'i orqali kirish mumkin, ammo CP / M-86, ammo 0 ga o'tishni qo'llab-quvvatlamaydi. Natijada , agar dastur to'g'ri ishlashi kerak bo'lsa, ushbu dastur chiqishini tarjima qilingan dasturda o'zgartirishingiz kerak. 5-joyga qo'ng'iroqni INT # 224 bilan almashtirish, iliq yuklashni o'zgartirish va registrlarni to'g'ri xaritalash sharti bilan, tarjima qilingan dasturni CP / M-86 tizimining funktsiyalariga kirishda juda kam muammo bo'lishi kerak. . […] Ga kirish huquqini olish MS-DOS […] MS-DOS dasturida yumshoq dasturli uzilish orqali "afzal qilingan" mexanizm mavjud bo'lsa ham, INT # 33, tizimga kirish uchun hech bo'lmaganda 0-36 oralig'idagi funktsiyalar uchun CP / M-80 chaqiruv konvensiyalariga mos keladigan "oldindan mavjud" dasturlar uchun qo'shimcha mexanizm taqdim etiladi. Ruxsat berilgan funktsiya doirasidagi tizim qo'ng'iroqlariga kelsak, dasturchi tarjima qilingan dasturlarga MS-DOS ostida ishlashini ta'minlash uchun registrlarni to'g'ri xaritalashdan boshqa hech narsa qilmasligi kerak. MS-DOS shuningdek CP / M-80 ning iliq yuklash funktsiyasini qo'llab-quvvatlaydi. MS-DOS ostida 0-joyga o'tish dasturiy ta'minotni to'xtatadi, INT # 32, bu funktsional jihatdan dasturning oxiri va dasturdan chiqishning oddiy usuli. […] [3] [4][5][6][7][8][9][10][11][12][13][14][15][16] (13 bet)
  10. ^ a b Schäpers, Arne (1991). "Kapitel 5: EXEC im Detail - Dastur segmenti prefiksi (PSP)". DOS 5 für Programmierer: Die endgültige Referenz (nemis tilida) (1 nashr). Addison Uesli (Deutschland) GmbH. 148–151, 971–972 betlar [149, 971–972]. ISBN  3-89319-350-2. (1123 + v sahifalar, katlama, 5.25 "-floppy)
  11. ^ a b "Dastur segmenti prefiksining formati (PSP)". INTER61. 2000. Arxivlandi asl nusxasidan 2020-02-17. Olingan 2019-12-19.
  12. ^ a b v d Nekasek, Mixal (2011-09-13). "Baribir manzilni o'rash kimga kerak?". OS / 2 muzeyi. Arxivlandi asl nusxasidan 2020-02-19. Olingan 2020-02-19. […] 86-DOS va shuning uchun Kompyuter DOS /MS-DOS, aqlli hiyla ishlatgan. Bayt 5 ning ofsetida PSP uzoq qo'ng'iroq opcode (9Ah) mavjud; PSP-ning 6-ofsetidagi so'z dastur segmenti hajmini, shuningdek uzoq qo'ng'iroqning ofset qismini ko'rsatadigan tegishli qiymatni o'z ichiga olgan. Uzoq qo'ng'iroqning segment qismi bo'lib xizmat qilgan ofset 8-dagi so'z shu tarzda yaratilganki, ofset bilan birlashganda, u o'raladi (yaxshi tushunilgan xususiyat 8086 CPU) va 30h uzilish vektorini o'z ichiga olgan 0: C0h manzilini ko'rsating. […] Moslik interfeysi bilan bog'liq muammo, yuklangan dastur aslida 64 KB dan kam bo'lganida yuzaga keladi. Agar shunday bo'ladigan bo'lsa, PSP ofset 6-dagi so'z to'g'ri qiymatni o'z ichiga olmaydi, ammo CALL 5 interfeysi baribir ishlaydi; 5 ofsetidagi ko'rsatma CALL 0: C0h bo'ladi, bu esa xabar qilingan dastur segmentining o'lchamini C0h qiladi. DOS nima uchun bunday qilayotgani noma'lum; DOS 5.0 va undan keyingi versiyalarida xatolik bor, chunki DOS 4.0 va undan oldingi versiyalar segment qismini 0: C0h ga o'ralgan qilib sozlashi mumkin. Dastur segmentining kattaligi paragrafga to'g'ri kelguncha ishlaydi va shunday bo'ladi. […]
  13. ^ Norton, Piter. Tushuntirish juda murakkab va g'alati. Yo'qolgan yoki bo'sh sarlavha = (Yordam bering)
  14. ^ a b OpenDOS 7.01 M.R.S .: IBMBIO BIOSINIT.A86 SetupHMA. Caldera, Inc. 1997-04-16. DOSSRC.ZIP. […] BIOSINIT.A86 1.40 93/11/11 12:25:29 […] VDISK sarlavha o'zgarishi […] BIOSINIT.A86 1.39 93/11/08 23:19:22 […] SetupHMA CALL5 ishga tushirilishini amalga oshiradi […] endi JMPF-ni o'rnatadi salom-xotira uchun CALL5 havolasi uchun PC-NFS […]
  15. ^ a b v d Nekasek, Mixal (2018-03-16). "A20-Gate: bu WordStar emas edi". OS / 2 muzeyi. Arxivlandi asl nusxasidan 2018-09-23. Olingan 2018-09-23.
  16. ^ Parsons, Jeff (2018-05-27) [1987-12-01, 1987-08-02]. "Kimdir menga sehr qo'ydi". PCjs. Arxivlandi asl nusxasidan 2019-01-29. Olingan 2019-04-21.
  17. ^ a b v Shulman, Endryu; Jigarrang, Ralf D.; Maksi, Devid; Mishel, Raymond J.; Kayl, Jim (1994) [1993 yil noyabr]. Uilyams, Endryu (tahrir). Hujjatsiz DOS: MS-DOS zaxira funktsiyalari va ma'lumotlar tuzilmalari bo'yicha dasturchining qo'llanmasi - kengaytirilgan MS-DOS 6, Novell DOS va Windows 3.1.. Endryu Shulman dasturlash seriyasi (1-nashr, 2-nashr). Reading, Massachusets, AQSh: Addison Uesli nashriyot kompaniyasi. pp.349 –350. ISBN  0-201-63287-X. ISBN  978-0-201-63287-3. […] A20 chizig'ini yoqib qo'yish, o'ralashishini kutayotgan dasturlarda muammolarni keltirib chiqarmoqda […] Bunday dasturlardan biri bu paketni ochish tartibi edi. Microsoft Dastlab har qanday faylga qo'shilgan o'z bog'lovchisi BOSHQA uning hajmini kamaytirish uchun! DOSMAX shareware dasturi muallifi Fillip Gardnerning so'zlariga ko'ra UMB parvarishlash qobiliyati va DOSni demontaj qilish sohasidagi faxriysi, mashhur "Paketlangan fayl buzilgan" degan xato xabari DOS 5.0 joriy qilinganidan ko'p o'tmay hamma joyda paydo bo'lgandan ko'ra to'g'ridan-to'g'ri A20 liniyasi yoqilganligi va asl nusxasini ochish tartibi bog'liq. siqilgan fayllarni to'g'ri kengaytirish uchun segmentni o'rash effektida. […] (xviii + 856 + vi sahifalar, 3.5 "-floppy [17] ) Xato: [18][19] (NB. 350-betda kitobda muammoli EXEPACK siqilmaslik tartibining ichki xususiyatlari batafsil tavsiflangan.)
  18. ^ a b v d e Paul, Mattias R. (2002-10-07) [2000]. "Re: masm .com (PSP) bilan bog'liq muammo". Yangiliklar guruhialt.lang.asm. Arxivlandi asl nusxasidan 2017-09-03. Olingan 2017-09-03. […] DR bir vaqtda DOS 386 (1988-07-08 yildan) yuklanadi BOSHQA 64K belgisidan yuqori bo'lgan dasturlar, ya'ni tashqarida "eng past xotira ", dastur muhitini o'z ichiga olgan xotira blokini kengaytirish orqali […] DR DOS 5.0 + har doim yuklaydi .EXE - tuzatishlarsiz formatlangan dasturlar va (1990-05-25 dan beri) .COM - formatlangan dasturlar bilan siqilgan SpaceMaker - va shuning uchun 9Ch 55h (PUSHF / PUSH BP) dan boshlab - EXEPACK xatosiga o'ralmaslik uchun 64K belgisidan yuqori. Buni dastur atrofini o'z ichiga olgan xotira blokini kengaytirish orqali amalga oshiradi, chunki 1989-12-14 yillarda u hatto kerak bo'lganda bir nechta plomba ajratadi. Ushbu dasturni kengaytirish kodi o'chiriladi, agar ota-ona dasturining MCB-da saqlanadigan nomi "WIN" bo'lsa, unda ishlashni yaxshilaydi WIN.COM KERNEL.EXE-ni ishga tushiradi (0 ta ko'chirish elementi). […] The MS-DOS /Kompyuter DOS 5.0 + […] Yadrosi .EXE formatidagi bajariladigan fayllarning turli xil ketma-ketliklarini qidiradi va EXEPACKed fayllarining har xil versiyalari uchun eng past xotirada ishlashiga imkon berish uchun ularni tuzatmalarini qo'llaydi (DOS HMA ), ya'ni yuk segmenti <64 Kb. Aks holda ular "Paketlangan fayl buzilgan" ko'rsatilishini ko'rishlari mumkin. Kod kodning […] kirish nuqtasi <0002 soat […] emasligini tekshiradi va keyin kirish nuqtasidan oldingi so'zni o'qiydi […] Agar ushbu so'z 5242 soat ("RB") o'qilsa, fayl EXEPACKed deb qabul qilinadi. Keyin kod ushbu "RB" imzosidan ofsetlarda kodlar ketma-ketligining bir nechta kombinatsiyasidan birini qidiradi. […] MS-DOS 5.0+ […] yadrosi noma'lum sinfini qidiradi .COM bajariladigan fayllar. Agar ularning imzolari faylda topilgan bo'lsa, disk buferi ma'lumot jadvalidagi 18 soatlik ofsetdagi A20 hisobi o'zgaruvchisi ("DOS 5.0-6.0 disk buferi ma'lumotlari" jadvaliga qarang) 10 ga o'rnatiladi, bu esa INT dan keyin A20 o'chirilishini keltirib chiqaradi. 21 soatlik qo'ng'iroqlar soni 21 soatdan keyin davom etishi kerak. Ehtimol, ushbu dastur dasturlari bajarilishi boshlangandan keyin bir muncha vaqt uchun A20-ni o'chirib qo'yishni talab qiladi. (Shu kabi harakatlar INT 21h / AH = 25h va AH = 49h ga kirishda sodir bo'ladi.) […]
  19. ^ a b Pol, Matias R. (1997-07-30) [1996-06-18, 1994-05-01]. "V.4. Bessere Speicherausnutzung mit selbsthochladenden Programmen". NWDOS-Maslahatlar - Maslahatlar va fokuslar, Novell DOS 7, Blick auf undokumentierte details, Xatolar va vaqtinchalik echimlar. MPDOSTIP. 157-nashr (nemis tilida) (3 nashr). Arxivlandi asl nusxasidan 2016-11-04. Olingan 2014-08-06. (NB. Taqdim etilgan havola. Ning HTML-ga o'zgartirilgan versiyasiga ishora qiladi NWDOSTIP.TXT, bu qismi MPDOSTIP.ZIP to'plam.) [20]
  20. ^ Paskal kompilyatori (PDF). Shaxsiy kompyuter kompyuterlari uchun tillar seriyasi (1 nashr). Xalqaro biznes mashinalari korporatsiyasi. 1981 yil avgust. Arxivlandi (PDF) asl nusxasidan 2020-05-29. Olingan 2018-09-23.
  21. ^ "NAME ENTX - Microsoft MS-DOS Computer Pascal ish vaqtini boshqarish tizimi". 1.00 versiyasi. Microsoft Corp. 1981. Arxivlandi asl nusxasidan 2020-02-23. Olingan 2020-02-23. […] DX yakuniy DS (salbiy bo'lishi mumkin) […] yakuniy DS qiymati (salbiy bo'lishi mumkin) […]
  22. ^ "Robert B. K. Dewarning Kennet D. Crewsning hisobotiga javoban ekspert hisoboti". Cambridge University Press va boshq. Patton va boshq., Filing 124, Kembrij University Press, Oxford University Press, Inc., Sage Publications, Inc. tomonidan qo'shimcha dastlabki oshkorotlar - Kembrij University Press, Oxfort University Press, Inc. va Sage Publications, Inc. Mark P. Becker, Jorjiya shtati universiteti prezidenti va boshq. Fuqarolik harakati № 1: 08-CV-1425-ODE (Sud hujjati). Jorjia shtatining shimoliy okrugi uchun Amerika Qo'shma Shtatlari okrug sudi, Atlanta bo'limi. p. 18. A ko'rgazmasi. Arxivlandi asl nusxasidan 2018-05-01. Olingan 2019-04-23. […] Kosmik ishlab chiqaruvchi va TERMULATOR, IBM PC uchun tovar dasturi (Kompyuter DOS fayllarni siqishni dasturi va VT-100 Realia, Inc. tomonidan sotiladigan emulator). R.B.K. Dewar (1982-1983), 8088 yig'ilish tili, 8000 qator […]
  23. ^ Realia, Inc. (1983 yil yanvar). "Agar DOS dan foydalansangiz, sizga ushbu dastur kerak". Kompyuter jurnali (reklama). Ziff-Devis nashriyoti. 2 (9): 417. Arxivlandi asl nusxasidan 2019-04-22. Olingan 2019-04-22.
  24. ^ a b Devar, Robert Berrideyl Keyt (1984-03-13). "DOS 3.1 ASMB (yana bir ahmoqona Microsoft bugi)". [email protected]. Arxivlandi asl nusxasidan 2018-05-01. Olingan 2019-04-23. [...] Ulagichning / E opsiyasi mantiqan siqilmagan EXE fayliga teng bo'lgan EXE faylini yaratishi kerak. Amaldagi versiya […] AX ni bekor qilishga olib keladi. EXE fayliga kirishda AX aniq ma'noga ega (bu parametrlar uchun diskning yaroqliligini bildiradi), shuning uchun uni siqilmagan tasvirga o'tkazish kerak. Ushbu juda aniq interfeys qoidalarini buzganligini hisobga olib, boshqalari ham bo'lishi mumkin, men bundan keyin tergov qilishdan bezovtalanmadim […] Realia SpaceMaker shunga o'xshash narsalarni bajaradigan dastur EXEPACK variant (lekin aytishga hojat yo'q, albatta, bunga [...]
  25. ^ Nekasek, Mixal (2018-04-30). "Realia SpaceMaker". OS / 2 muzeyi. Arxivlandi asl nusxasidan 2019-01-27. Olingan 2019-02-22.
  26. ^ a b v Nekasek, Mixal (2018-03-23). "EXEPACK va A20-Gate". OS / 2 muzeyi. Arxivlandi asl nusxasidan 2018-11-13 kunlari. Olingan 2019-04-20.
  27. ^ "A20 Line - OSDev Wiki". wiki.osdev.org. Olingan 2020-09-10.

Qo'shimcha o'qish