Орион-Про/OS-DOS/Руководство системного программиста: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{ÐÐ|ÐвÑоÑ= © 1993,1995 ORIONSOFT, Ð.Ð.СÑгонÑко}} | {{ÐÐ|ÐвÑоÑ= © 1993,1995 ORIONSOFT, Ð.Ð.СÑгонÑко}} | ||
Строка 561: | Строка 549: | ||
BDOS оÑÑÑеÑÑвлÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½ Ñ Ð´Ð¸Ñком (ÑолÑко поÑÑедÑÑвом BIOS) по запиÑÑм. Ðлина запиÑи ÑоÑÑавлÑÐµÑ 128 байÑ. Родин ÑекÑÐ¾Ñ Ð²Ð¼ÐµÑаеÑÑÑ 8 запиÑей. ТолÑко BIOS «знаеÑ» как в ÑекÑоÑе ÑаÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ñ Ð·Ð°Ð¿Ð¸Ñи. Ðз-за Ñакой двойной бÑÑ
галÑеÑии «запиÑÑ-ÑекÑоÑ» конеÑно замедлÑеÑÑÑ ÑкоÑоÑÑÑ Ð¾Ð±Ð¼ÐµÐ½Ð° инÑоÑмаÑией Ñ Ð´Ð¸Ñком, но за Ñо более ÑаÑионалÑно ÑпаковÑваеÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ, а ÑледоваÑелÑно и ÑвелиÑилаÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°Ñ ÐµÐ¼ÐºÐ¾ÑÑÑ Ð´Ð¸ÑкеÑÑ. | BDOS оÑÑÑеÑÑвлÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½ Ñ Ð´Ð¸Ñком (ÑолÑко поÑÑедÑÑвом BIOS) по запиÑÑм. Ðлина запиÑи ÑоÑÑавлÑÐµÑ 128 байÑ. Родин ÑекÑÐ¾Ñ Ð²Ð¼ÐµÑаеÑÑÑ 8 запиÑей. ТолÑко BIOS «знаеÑ» как в ÑекÑоÑе ÑаÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ñ Ð·Ð°Ð¿Ð¸Ñи. Ðз-за Ñакой двойной бÑÑ
галÑеÑии «запиÑÑ-ÑекÑоÑ» конеÑно замедлÑеÑÑÑ ÑкоÑоÑÑÑ Ð¾Ð±Ð¼ÐµÐ½Ð° инÑоÑмаÑией Ñ Ð´Ð¸Ñком, но за Ñо более ÑаÑионалÑно ÑпаковÑваеÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ, а ÑледоваÑелÑно и ÑвелиÑилаÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°Ñ ÐµÐ¼ÐºÐ¾ÑÑÑ Ð´Ð¸ÑкеÑÑ. | ||
РоблаÑÑи каÑалога ÑазмеÑаÑÑÑÑ Ð¾Ð¿Ð¸ÑаÑели Ñайлов. Ð Ð°Ð·Ð¼ÐµÑ Ð¾Ð¿Ð¸ÑаÑÐµÐ»Ñ (блок ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñайлом â FCB) â 32 байÑа. Ðн ÑодеÑÐ¶Ð¸Ñ Ð¸Ð¼Ñ Ñайла, ÑаÑÑиÑение и номеÑа блоков | РоблаÑÑи каÑалога ÑазмеÑаÑÑÑÑ Ð¾Ð¿Ð¸ÑаÑели Ñайлов. Ð Ð°Ð·Ð¼ÐµÑ Ð¾Ð¿Ð¸ÑаÑÐµÐ»Ñ (блок ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñайлом â FCB) â 32 байÑа. Ðн ÑодеÑÐ¶Ð¸Ñ Ð¸Ð¼Ñ Ñайла, ÑаÑÑиÑение и номеÑа блоков в коÑоÑÑе опеÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема ÑазмеÑÑила Ñайл и дÑÑгÑÑ ÑлÑжебнÑÑ Ð¸Ð½ÑоÑмаÑиÑ. ÐÑÐ¸Ð¼ÐµÑ ÑазмеÑÐµÐ½Ð¸Ñ Ð¾Ð¿Ð¸ÑаÑелей Ñайлов каÑалога пÑиведен в ÑаблиÑе 2. ТаблиÑа ÑÑловно ÑазбиÑа на две запиÑи. | ||
Ð |
Версия от 09:39, 2 сентября 2009
ÐпеÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема (ÐС) СР/Ð-80 (Control Program for Microcomputers) бÑла ÑазÑабоÑана в 1977 г ÑиÑмой DIGITAL RESEARCH Inc. пеÑвонаÑалÑно Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа MDS800 ÑиÑÐ¼Ñ INTEL, а заÑем ÑÑала Ñамой попÑлÑÑной Ð´Ð»Ñ 8-ÑазÑÑднÑÑ Ð¼Ð¸ÐºÑопÑоÑеÑÑоÑов I8080 и Zilog Z80. РоÑлиÑие Ð¾Ñ Ð´ÑÑÐ³Ð¸Ñ Ð¾Ð¿ÐµÑаÑионнÑÑ ÑиÑÑем CP/M Ð¸Ð¼ÐµÐµÑ Ð½ÐµÐ±Ð¾Ð»ÑÑой Ð½Ð°Ð±Ð¾Ñ ÑÑандаÑÑнÑÑ Ð¸ бÑÑÑÑо оÑваиваемÑÑ Ð½ÐµÐ¿ÑоÑеÑÑионалÑнÑми полÑзоваÑелÑми диÑекÑив, легко адапÑиÑÑеÑÑÑ Ð¿Ð¾Ð´ компÑÑÑÐµÑ Ð»Ñбой конÑигÑÑаÑии, и Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑм обÑемом ÐÐУ. ÐлагодаÑÑ ÑÑÐ¾Ð¼Ñ Ð¾Ð½Ð° ÑÑала ÑÑандаÑÑом Ð´Ð»Ñ Ð²Ð¾ÑÑмиÑазÑÑднÑÑ Ð¼Ð¸ÐºÑокомпÑÑÑеÑов.
ÐÐ»Ñ ÐС СР/РбÑло напиÑано неÑколÑко деÑÑÑков ÑÑÑÑÑ Ð¿Ð°ÐºÐµÑов пÑогÑамм, в Ñом ÑиÑле ÑÑанÑлÑÑоÑÑ, пÑакÑиÑеÑки, вÑÐµÑ ÑзÑков вÑÑокого ÑÑовнÑ, ÑлекÑÑоннÑе ÑаблиÑÑ Ð¸ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐеÑвÑе веÑÑии попÑлÑÑнÑÑ ÑейÑÐ°Ñ Ð¿ÑогÑамм Lotus 1-2-3, Frame Work, Dbase и дÑ. поÑвилиÑÑ ÐµÑе под СР/Ð.
ÐаиболÑÑее ÑаÑпÑоÑÑÑанение полÑÑили веÑÑии СР/Рâ 1.4, 2.2, 3.0 и 3.0+. ÐеÑÑÐ¸Ñ 2.2 поÑвилаÑÑ Ð² 1979 г. и знаÑиÑелÑно пÑевоÑÑ Ð¾Ð´Ð¸Ð»Ð° ÑÐ²Ð¾Ð¸Ñ Ð¿ÑедÑеÑÑвенниÑ, в ÑаÑÑноÑÑи поддеÑживала ÑÐ°Ð¹Ð»Ñ Ð¾Ð±Ñемом до 8 ÐÐ±Ð°Ð¹Ñ (вмеÑÑо 512 ÐбайÑ) и имела вдвое ÑвелиÑенное колиÑеÑÑво ÑиÑÑемнÑÑ ÑÑнкÑий (ÑÑедÑÑва пÑÑмого доÑÑÑпа к Ñайлам и Ñ. д.), а Ñакже знаÑиÑелÑно более ÑÑиленнÑй Ð½Ð°Ð±Ð¾Ñ ÑиÑÑемнÑÑ ÑÑÐ¸Ð»Ð¸Ñ (загÑÑжаемÑÑ Ð´Ð¸ÑекÑив).
СР/Ð, веÑÑии 2.2, иÑполÑзÑеÑÑÑ Ð½Ð° оÑеÑеÑÑвеннÑÑ ÐÐРСÐ1800, СÐ-05 и ÐÐ8020 («ÐоÑвеÑ»), а веÑÑÐ¸Ñ 3.0, под именем «SCP», адапÑиÑована на компÑÑÑеÑе «РобоÑÑон-1715».
ÐС ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· 3-Ñ Ð¼Ð¾Ð´Ñлей â ССР, BDOS и BIOS. ÐÑи ÑÑÑановке СР/Рна компÑÑÑÐµÑ Ð°Ð´Ð°Ð¿ÑаÑии Ð¿Ð¾Ð´Ð»ÐµÐ¶Ð¸Ñ Ð»Ð¸ÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ BIOS, вÑполнÑÑÑий диÑковÑе опеÑаÑии и опеÑаÑии ввода/вÑвода Ñамого низкого ÑÑÐ¾Ð²Ð½Ñ (Ñ.е ÑпÑавление непоÑÑедÑÑвенно «железом»). ÐÑ Ñого наÑколÑко ÑдаÑно напиÑан BIOS во многом завиÑÐ¸Ñ ÑдобÑÑво полÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑом и пÑогÑÐ°Ð¼Ð¼Ð½Ð°Ñ ÑовмеÑÑимоÑÑÑ. РнаÑем ÑлÑÑае ÑложноÑÑÑ Ð°Ð´Ð°Ð¿ÑаÑии BIOS заклÑÑалаÑÑ Ð² Ñом, ÑÑо пеÑвонаÑалÑно он пÑедназнаÑалÑÑ Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð°Ð¿Ð¿Ð°ÑаÑнÑми инÑеÑÑейÑнÑми ÑÑÑÑойÑÑвами â диÑплей (Ñ Ð°Ð¿Ð¿Ð°ÑаÑнÑм кÑÑÑоÑом), клавиаÑÑÑа и дÑÑгие ÑÑÑÑойÑÑва ввода/вÑвода. РкомпÑÑÑеÑÐ°Ñ Â«ÐоÑвеÑ» и «ÐÑи-он-128» аппаÑаÑнÑе ÑÑнкÑии ÑÑÐ¸Ñ ÑÑÑÑойÑÑв ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ Ð¿ÑогÑаммно, поÑÑÐ¾Ð¼Ñ Ð¿Ñи адапÑаÑии ÐС поÑÑебовалоÑÑ Ð¿ÑименÑÑÑ Ð²ÑевозможнÑе пÑогÑаммнÑе ÑÑ Ð¸ÑÑениÑ.
РкаÑеÑÑве базового Ñаблона пÑи адапÑаÑии СР/Рна «ÐÑион-128» иÑполÑзован BIOS ÐР«ÐоÑвеÑ», ÑаÑÑиÑаннÑй на ÐÐС ÐÐ 1818ÐÐ93. Ð Ñом как ÑÑÑÑоен конÑÑоллеÑ, как его ÑобÑаÑÑ Ð¸ оÑладиÑÑ, а Ñак же ÑеÑÑ-пÑогÑÐ°Ð¼Ð¼Ñ Ð¸ Ñ Ð¾Ð»Ð¾Ð´Ð½Ñй загÑÑзÑик пÑÐ¸Ð²ÐµÐ´ÐµÐ½Ñ Ð² жÑÑнале «РадиолÑбиÑелÑ» NN 5-7 за 1993 г.
ÐвÑоÑÑÐºÐ°Ñ ÑеализаÑÐ¸Ñ Ð¡Ð /Ð Ð´Ð»Ñ ÐР«ÐÑион-128» названа «OS-DOS» â ORIONSOFT Disk Operating System". РазÑабоÑÐ°Ð½Ñ Â«OS-DOS48K» â Ð´Ð»Ñ ÑабоÑÑ Ð² ÐÐУ ÑÑÑаниÑÑ 0 и «OS-DOS60K» â Ð´Ð»Ñ ÑабоÑÑ Ð² ÑÑÑаниÑе 1. СооÑвеÑÑвенно пÑиÑÐ²Ð¾ÐµÐ½Ñ Ð²ÐµÑÑии X.4X и X.6X (более Ñанние â 2.4X, 2.6X).
Ð ÑÑой ÑÑаÑÑе Ð¼Ñ ÑаÑкÑоем многие ÑÐ°Ð¹Ð½Ñ OS-DOS, ÑаÑÑкажем о Ñом, как ÑÑÑÑоен BOOT-ÑекÑÐ¾Ñ (и ÑÑо ÑÑо Ñакое), как полÑзовÑÑÑÑ ÑÑнкÑиÑми BDOS и векÑоÑов BIOS.
ÐÐÐТ-ÑекÑоÑ
Ðапомним, как пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð¿ÑоÑеÑÑ Ð·Ð°Ð³ÑÑзки опеÑаÑионной ÑиÑÑÐµÐ¼Ñ Ð² памÑÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа. «ХолоднÑй» загÑÑзÑик LDOS$ [1] ÑÑиÑÑÐ²Ð°ÐµÑ Ð¿ÐµÑвÑй ÑекÑÐ¾Ñ (1 ÐбайÑ) нÑлевой доÑожки диÑкеÑÑ Ð² Ñвой внÑÑÑеннÑй бÑÑеÑ. ÐаÑем пеÑвÑе 256 Ð±Ð°Ð¹Ñ Ð¿ÐµÑеноÑÐ¸Ñ Ð² облаÑÑÑ 00-0FFH и пеÑÐµÐ´Ð°ÐµÑ ÑпÑавление по адÑеÑÑ 0000Ð. СÑиÑÑвание ÑекÑоÑа напÑÑмÑÑ Ð¿Ð¾ адÑеÑÑ 0000Ð (как ÑÑо делаеÑÑÑ Ð´Ð»Ñ Ð¿ÑоÑÑоÑÑ Ð² ÑеализаÑиÑÑ Ð´ÑÑÐ³Ð¸Ñ Ð°Ð²ÑоÑов) делаеÑ, пÑакÑиÑеÑки, беÑполезной диÑекÑÐ¸Ð²Ñ Ð¡Ð¡Ð Â â SAVE, Ñак как ÑниÑÑÐ¾Ð¶Ð°ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½ÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð² облаÑÑи ТРР(облаÑÑи ÑазмеÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑÐºÐ¸Ñ Ð¿ÑогÑамм).
РазмеÑение инÑоÑмаÑии в облаÑÑи 00-0FFH (ÑÑа облаÑÑÑ ÑвлÑеÑÑÑ ÑлÑжебной пÑи ÑабоÑе OS-DOS и не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð·Ð°ÑеÑÑа пÑогÑаммами полÑзоваÑелÑ) пÑиведено в дампе в ÑаблиÑе 1. Ðна ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· набоÑа ÑлÑжебнÑÑ ÑÑеек, конÑÑÐ°Ð½Ñ Ð¸ вÑоÑиÑного загÑÑзÑика. ÐÑоÑиÑнÑй загÑÑзÑик как Ñаз и «знаеÑ», как загÑÑзиÑÑ Ð¸ ÑазмеÑÑиÑÑ Ð¡Ð /Рв памÑÑи компÑÑÑеÑа. Ð¢Ð°ÐºÐ°Ñ Ð´Ð²ÑÑ ÑÑÑпенÑаÑÐ°Ñ ÑиÑÑема загÑÑзки позволÑÐµÑ Ð¸Ð¼ÐµÑÑ Ð¾Ð´Ð¸Ð½ на вÑе ÑлÑÑаи Â«Ñ Ð¾Ð»Ð¾Ð´Ð½Ñй» загÑÑзÑик и пÑимениÑелÑно к загÑÑжаемой пÑогÑамме (не обÑзаÑелÑно OS-DOS) â «Ñвой», ÑпеÑиализиÑованнÑй вÑоÑиÑнÑй загÑÑзÑик.
ТаблиÑа 1 0 1 2 3 4 5 6 7 8 9 Ð B C D E F 0000 C330 0000 0000 0000 0101 0301 0500 5000 .0............P. 0010 2800 040F 0084 017F 00C0 0020 0004 00D7 (.......... .... 0020 4F52 494F 4E20 3132 382E 3200 9D00 AC00 ORION 128.2..... 0030 3100 012A 2B00 3A0A 00FE 023E 5001 050E 1..*+.:....>P... 0040 CA48 003E 3001 0307 3208 0032 14F7 CDC2 .H.>0...2..2.... 0050 00C3 5F00 3208 0032 14F7 CDC2 000E 0179 .._.2..2.......y 0060 3212 F73E 84CD A500 C5D5 CDAF 001A E6DD 2..>............ 0070 C200 F8D1 C105 C27D 002A 2D00 E90C 3E06 .......}.*-...>. 0080 B9C2 5F00 1DCA 9300 3A08 00E6 EF32 14F7 .._.....:....2.. 0090 C35D 003E 58CD A500 3A10 F70F DA98 003A .].>X...:......: 00A0 0800 C354 0032 10F7 3E0F 3DC2 AA00 C911 ...T.2..>.=..... 00B0 10F7 0113 F71A 1FD0 1FD2 B500 0A77 23C3 .............w#. 00C0 B500 3A0B 00B7 1E01 C81E 02C9 2020 2020 ..:......... 00D0 4F52 494F 4E53 4F46 5420 2D20 2020 2020 ORIONSOFT - 00E0 2020 2073 7567 6F6E 716B 6F20 772E 702E СУÐÐÐЯÐÐ Ð.Ð. 00F0 0000 0000 0000 0000 0000 0000 0000 0000 ................
РазбеÑем более подÑобно назнаÑение ÑлÑжебнÑÑ ÑÑеек и конÑÑанÑ. Ðо адÑеÑÑ 0000-0002 Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð²ÐµÐºÑÐ¾Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° на дополниÑелÑнÑй загÑÑзÑик. ÐалиÑие байÑа 0С3Рпо адÑеÑÑ 0000Ð ÑказÑÐ²Ð°ÐµÑ LDOS$ на Ñо, ÑÑо Ð´Ð°Ð½Ð½Ð°Ñ Ð´Ð¸ÑкеÑа ÑодеÑÐ¶Ð¸Ñ Ð¾Ð¿ÐµÑаÑионнÑÑ ÑиÑÑемÑ. РпÑоÑивном ÑлÑÑае (поÑле пÑоÑеÑÑа ÑоÑмаÑиÑованиÑ) Ñам Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð±Ð°Ð¹Ñ 0Ð5Ри Â«Ñ Ð¾Ð»Ð¾Ð´Ð½Ñй» загÑÑзÑик не пеÑÐµÐ´Ð°ÐµÑ ÑпÑавление дополниÑелÑномÑ, а вÑводиÑÑÑ ÑообÑение «NON-SYSTEM DISK».
Ðалее. 0003-0007 â ÑÑейки, иÑполÑзÑемÑе Ñамой OS-DOS. Ðо адÑеÑÑ 0007-001F Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾Ð¿Ð¸ÑÑваÑÑÐ°Ñ ÑÑÑÑкÑÑÑÑ (или ÑÑандаÑÑ) диÑкеÑÑ: ÑколÑко доÑожек, ÑÑоÑон, плоÑноÑÑÑ Ð·Ð°Ð¿Ð¸Ñи и дÑÑгÑÑ ÑлÑжебнÑÑ Ð¸Ð½ÑоÑмаÑиÑ. Ðна ÑоÑмиÑÑеÑÑÑ Ð¸ запиÑÑваеÑÑÑ Ð¿ÑогÑаммой FORMAT.COM, пÑимениÑелÑно к ÑÐ¾Ð¼Ñ ÑежимÑ, в коÑоÑом пÑоиÑÑ Ð¾Ð´Ð¸Ð» пÑоÑÐµÑ ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð¸ÑкеÑÑ. РнаÑледÑÑво Ð¾Ñ Â«ÐоÑвеÑа», некоÑоÑÑе «ÑиÑмÑ» пÑÑаÑÑÑÑ Ð²ÑÑÑиÑÑ Â«ÐÑионÑ» вÑе многообÑазие ÑÑÐ¸Ñ Â«ÑÑандаÑÑов». ÐиÑкеÑа: одно-двÑÑ ÑÑоÑоннÑÑ, 80-40 доÑожек, одинаÑнаÑ â Ð´Ð²Ð¾Ð¹Ð½Ð°Ñ Ð¿Ð»Ð¾ÑноÑÑÑ. ÐвÑоÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ (и Ð¼Ñ Ð¿ÑоÑим ÑÑо делаÑÑ Ð¿Ð¾Ð»ÑзоваÑелей ÐР«ÐÑион-128») ÑолÑко ваÑианÑ: 80 доÑожек, две ÑÑоÑонÑ, Ð´Ð²Ð¾Ð¹Ð½Ð°Ñ Ð¿Ð»Ð¾ÑноÑÑÑ. ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð¼Ð°ÐºÑималÑнÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½ÑÑ ÐµÐ¼ÐºÐ¾ÑÑÑ Ð´Ð¸ÑкеÑÑ Ð¸ имеÑÑ ÐµÐ´Ð¸Ð½Ñй «ÑÑандаÑÑ» Ð´Ð»Ñ ÐР«ÐÑион-128», ÑÑо Ð¸Ð·Ð±Ð°Ð²Ð¸Ñ Ð¾Ñ Ð¿Ñоблем пÑи ÑаÑпÑоÑÑÑанении пÑогÑамм.
Ð ÑÑÐµÐ¹ÐºÐ°Ñ 0020Ð-002Ð ÑазмеÑаеÑÑÑ Ð¸Ð¼Ñ Ð´Ð¸ÑкеÑÑ. ÐÑогÑамма ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð¸ÑÐºÐµÑ FORMAT.COM, ÑаÑпÑоÑÑÑанÑвÑаÑÑÑ Ñ OS-DOS V2.3X, заноÑÐ¸Ñ Ð² ÑÑи ÑÑейки Ð¸Ð¼Ñ Â«ÐÐ ÐÐÐ-128.2». ÐаÑÐ¸Ð½Ð°Ñ Ñ OS-DOS V2.4X (2.6X) Ð¸Ð¼Ñ Ð´Ð¸ÑкеÑÑ Ð²ÑводиÑÑÑ Ð¿ÐµÑед вÑводом каÑалога диÑкеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ DIR. УÑÑанавливаеÑÑÑ Ð¸Ð¼Ñ Ð² пÑогÑамме FORMAT-.COM или SYS.COM (конеÑно ÑооÑвеÑÑÑвÑÑÑей веÑÑии).
Ðо адÑеÑÑ 002Ð-002Ð¡Ð Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð°Ð´ÑÐµÑ ÑазмеÑÐµÐ½Ð¸Ñ OS-DOS в ÐÐУ пÑи ÑÑиÑÑвании ее Ñо вÑоÑого ÑекÑоÑа (напомним: пеÑвÑй ÑекÑоÑ, где ÑазмеÑалÑÑ ÐÐÐТ-ÑекÑÐ¾Ñ Ð¸ наÑало Ð¡Ð¡Ð Ð¼Ñ ÑÑиÑали в ÑлÑжебнÑй бÑÑÐµÑ Â«Ñ Ð¾Ð»Ð¾Ð´Ð½Ð¾Ð³Ð¾Â» загÑÑзÑика) и далее. УпÑавление ÑÑиÑанной опеÑаÑионной ÑиÑÑеме пеÑедаеÑÑÑ Ð¿Ð¾ адÑеÑÑ, Ð½Ð°Ñ Ð¾Ð´ÑÑемÑÑÑ Ð² ÑÑÐµÐ¹ÐºÐ°Ñ 002D-002Ð. ÐÑо адÑÐµÑ Ð²Ñ Ð¾Ð´Ð° в векÑÐ¾Ñ BIOS Ð´Ð»Ñ Â«Ñ Ð¾Ð»Ð¾Ð´Ð½Ð¾Ð³Ð¾Â» пеÑезапÑÑка OS-DOS, Ñо еÑÑÑ Ð¿ÑоизводиÑÑÑ Ð¿Ð¾Ð²ÑоÑное ÑÑиÑÑвание ССРи BDOS Ñ Ð´Ð¸ÑкеÑÑ BIOSoм. ÐÑим компенÑиÑÑÑÑÑÑ Ð¿Ð¾ÑеÑи ÑаÑÑи ССРпÑи пеÑвиÑном ÑÑиÑÑвании ÐС загÑÑзÑиком LDOS$.
ЯÑейка 002FH â ÑлаговаÑ. Ðе знаÑение ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÑаниÑÑ (банк) загÑÑзки OS-DOS. Флаг иÑполÑзÑеÑÑÑ Ð²ÑоÑиÑнÑм загÑÑзÑиком. 00 â ÑказÑÐ²Ð°ÐµÑ Ð½Ð° оÑновнÑÑ ÑÑÑаниÑÑ Ð·Ð°Ð³ÑÑзки OS-DOS â VX.4X, 01 â загÑÑзка в ÑÑÑаниÑÑ 1 â OS-DOS VX.6X и Ñ. д.
ÐаÑÐ¸Ð½Ð°Ñ Ñ Ð°Ð´ÑеÑа 0030Рпо 00СÐÐ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð²ÑоÑиÑнÑй загÑÑзÑик. ÐоÑле вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÐ²Ð¾Ð¸Ñ ÑÑнкÑий (ÑÑиÑÑвание и запÑÑк OS--DOS) он заÑиÑаеÑÑÑ. Ðа его меÑÑе опеÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема ÑазмеÑÐ°ÐµÑ Ñвои ÑлÑжебнÑе бÑÑеÑÑ.
СледÑÐµÑ ÑказаÑÑ, ÑÑо поÑÑÑоеннÑй авÑоÑами по Ñакой ÑÑ ÐµÐ¼Ðµ ÐÐÐТ-ÑекÑÐ¾Ñ Ð½Ðµ ÑÑебÑÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ пÑи пÑименении его как Ð´Ð»Ñ OS--DOS48K (ÑазмеÑаеÑÑÑ Ð² оÑновной памÑÑи компÑÑÑеÑа - V2.30, 2.31,2.40,2.41), Ñак и Ð´Ð»Ñ OS-DOS60K (ÑазмеÑаеÑÑÑ Ð² дополниÑелÑной ÑÑÑаниÑе 1-3 â V2.60,2.61). ÐÑо же оÑноÑиÑÑÑ Ð¸ к V3.60. ÐодиÑикаÑии подвеÑгаÑÑÑÑ ÑолÑко две паÑÑ ÑÑеек â 002Ð-002С и 002D-002Ð. ÐÐ»Ñ OS-DOS60Рони Ð¸Ð¼ÐµÑ ÑледÑÑÑие знаÑение: 0CB00Ри 0DA00Ð ÑооÑвеÑÑÑвенно.
РпÑоÑеÑÑе ÑабоÑÑ OS-DOS ÑÑейки по адÑеÑÑ 0000-0007РимеÑÑ ÑледÑÑÑее назнаÑение:
0000-0002Рâ векÑÐ¾Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° в BIOS на пеÑезагÑÑÐ·ÐºÑ OS-DOS («гоÑÑÑий ÑÑаÑÑ»). Ðо ÑÑÐ¾Ð¼Ñ Ð°Ð´ÑеÑÑ Ð¿ÐµÑедаеÑÑÑ ÑпÑавление поÑле оконÑÐ°Ð½Ð¸Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкой пÑогÑаммÑ. ÐÑи ÑÑом пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð²Ð¾ÑÑÑанавлеие CCP и BDOS, еÑли они бÑли заÑеÑÑÑ.
0003Рâ Ð±Ð°Ð¹Ñ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð»Ð¾Ð³Ð¸ÑеÑÐºÐ¸Ñ ÑÑÑÑойÑÑв (ÐÐÐУ)
ÐÐ°Ð¹Ñ Ð¿ÐµÑеназнаÑÐµÐ½Ð¸Ñ Ð»Ð¾Ð³Ð¸ÑеÑÐºÐ¸Ñ ÑÑÑÑойÑÑв делиÑÑÑ Ð½Ð° ÑеÑÑÑе Ð¿Ð¾Ð»Ñ (A,B,C,D) по два биÑа. Ðаждое поле опÑеделÑÐµÑ ÑекÑÑее назнаÑение ÑÑÑÑойÑÑв.
A B C D --------------------- D7D6 D5D4 D3D2 D1D0 --------------------- LST PUN RDR CON
LST - УÑÑÑойÑÑво пеÑаÑи PUN - УÑÑÑойÑÑво вÑвода даннÑÑ (пеÑÑоÑаÑоÑ) RDR - УÑÑÑойÑÑва ввода даннÑÑ (пеÑÑоÑÑиÑÑваÑелÑ) CON - ÐонÑÐ¾Ð»Ñ (диÑплей-вÑвод, клавиаÑÑÑа-ввод)
Ð OS-DOS Ð´Ð»Ñ Â«Orion-PRO» ÐºÐ°Ð½Ð°Ð»Ñ PUN и RDR иÑполÑзÑÑÑÑÑ Ð´Ð»Ñ Ð¿Ð¾ÑÑа COM1 â инÑеÑÑÐµÐ¹Ñ ÑеÑи.
A(D7-D6) B(D5-D4) B(D5-D4) D(D1-D0) -------- -------- -------- -------- /00 - TTY /00 - TTY /00 - TTY /00 - TTY LST 01 - CRT PUN 01 - PTP RDR 01 - PRT CON 01 - CRT 10 - LPT 10 - UP1 10 - UR1 10 - BAT \11 - UL1 \11 - UP2 \11 - UR2 \11 - UC1 TTY - ÐизкоÑкоÑоÑÑÐ½Ð°Ñ ÐºÐ¾Ð½ÑÐ¾Ð»Ñ (ÑелеÑайп) CRT - ÐÑÑокоÑкоÑоÑÑÐ½Ð°Ñ ÐºÐ¾Ð½ÑÐ¾Ð»Ñ (диÑплей) BAT - УÑÑÑойÑÑво пакеÑной обÑабоÑки UC1 - ÐонÑолÑ, опÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð»ÑзоваÑелем PTR - УÑÑÑойÑÑво ÑÑÐµÐ½Ð¸Ñ Ñ Ð¿ÐµÑÑоленÑÑ UR1 - УÑÑÑ.ввода N1, опÑеделенное полÑзоваÑелем UR2 - УÑÑÑ.ввода N2, опÑеделенное полÑзоваÑелем PTP - УÑÑÑ.вÑвода на пеÑÑоленÑÑ UP1 - УÑÑÑ.вÑвода N1, опÑеделенное полÑзоваÑелем UP2 - УÑÑÑ.вÑвода N2, опÑеделенное полÑзоваÑелем LPT - ÐоÑÑÑоÑно пеÑаÑаÑÑее ÑÑÑÑойÑÑво UL1 - ÐополниÑелÑное пеÑаÑаÑÑее ÑÑÑÑойÑÑво
ÐÑÐ¸Ð²ÐµÐ´ÐµÐ½Ð½Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð²Ð·ÑÑа из ÑиÑменного ÑÑководÑÑва по СР/Ð-80 DIGITAL RESEARCH INC. и ноÑиÑ, ÑкоÑее, пÑоÑвеÑиÑелÑнÑй Ñ Ð°ÑакÑеÑ. ÐзвеÑÑнÑе ÑеализаÑии BIOS Ð´Ð»Ñ Ð¡Ð /Ð ÐР«ÐÑион-128» (в Ñом ÑиÑле и авÑоÑÑкий â OS-DOS) не пÑедÑÑмаÑÑиваÑÑ Ð¿ÐµÑеклÑÑение логиÑеÑÐºÐ¸Ñ ÑÑÑÑойÑÑв. ÐÐ»Ñ ÑÑого они Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð¿ÑогÑаммÑ--дÑайвеÑÑ Ð² Ñеле BIOS. BDOS не опеÑиÑÑÑÑ ÑÑейкой 0003Ð, за иÑклÑÑение ÑÑнкÑий 7 и 8 коÑоÑÑе ÑолÑко ÑиÑаÑÑ ÐÐÐУ или заноÑÑÑ Ð² него новое знаÑение. ÐоÑÑÐ¾Ð¼Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ STAT-.COM, опеÑиÑÑÑÑие пеÑеназнаÑением логиÑеÑÐºÐ¸Ñ ÑÑÑÑойÑÑв, Ñак же изменÑÑÑ Ð»Ð¸ÑÑ Ð·Ð½Ð°Ñение ÑÑейки 0003Ри поÑÑÐ¾Ð¼Ñ Ð±ÐµÐ·Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ (пока!). OS-DOS пÑи Â«Ñ Ð¾Ð»Ð¾Ð´Ð½Ð¾Ð¼ ÑÑаÑÑе» в Ð±Ð°Ð¹Ñ 0003РзаноÑÐ¸Ñ Ð·Ð½Ð°Ñение 00.
0004Рâ Ð½Ð¾Ð¼ÐµÑ ÑекÑÑего диÑка
0005-0007Рâ векÑÐ¾Ñ Ð²Ñ Ð¾Ð´Ð° в BDOS Ð´Ð»Ñ Ð²Ñзова ÑÑнкÑии на вÑполнение. ÐÐ»Ñ ÑÑого пÑедваÑиÑелÑно подгоÑавливаеÑÑÑ ÑоÑÑоÑние ÑегиÑÑÑов, заÑем вÑзÑваеÑÑÑ ÑÑнкÑиÑ, как подпÑогÑамма по адÑеÑÑ 0005Ð (CALL 5).
BIOS. ТаблиÑа векÑоÑов
ÐÑ Ð¾Ð´ в BIOS (BASIC INPUT/OUTPUT SYSTEM) оÑÑÑеÑÑвлÑеÑÑÑ ÑеÑез ÑаблиÑÑ Ð²ÐµÐºÑоÑов. Ðна ÑазмеÑаеÑÑÑ Ð² наÑале модÑÐ»Ñ BIOS. ТаблиÑа векÑоÑов ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· 17 Ð²Ñ Ð¾Ð´Ð¾Ð² на подпÑогÑаммÑ, вÑполнÑÑÑÐ¸Ñ ÑÑнкÑии ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ взаимодейÑÑÐ²Ð¸Ñ Ñ Â«Ð¶ÐµÐ»ÐµÐ·Ð¾Ð¼Â» компÑÑÑеÑа. ÐекоÑоÑÑе из ÑÑÐ¸Ñ Ð²ÐµÐºÑоÑов могÑÑ Ð±ÑÑÑ Â«Ð¿ÑÑÑÑми» Ð´Ð»Ñ Ð¾Ð¿ÑеделеннÑÑ ÑÑнкÑий (к пÑимеÑÑ, ÑодеÑжаÑÑ ÑолÑко ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ RET â READER, PUNCH и дÑ.), но Ð²Ñ Ð¾Ð´ в ÑаблиÑе векÑоÑов должен пÑиÑÑÑÑÑвоваÑÑ.
ТаблиÑа Ð²Ñ Ð¾Ð´Ð¾Ð² векÑоÑов
Bas + 00H JMP BOOT ; "ХолоднÑй" ÑÑаÑÑ ÑиÑÑÐµÐ¼Ñ 03H JMP WBOOT ; "ÐоÑÑÑий" ÑÑаÑÑ ÑиÑÑÐµÐ¼Ñ 06H JMP CONST ; СÑаÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ 09H JMP CONIN ; Ðвод Ñимвола Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ 0CH JMP CONOUT ; ÐÑвод Ñимвола на диÑплей 0FH JMP LIST ; ÐÑвод Ñимвола на пÑинÑÐµÑ 12H JMP PUNCH ; ÐÑвод на пеÑÑоленÑÑ 15H JMP READER ; Ðвод Ñ Ð¿ÐµÑÑоленÑÑ 18H JMP HOME ; УÑÑановка доÑожки 0 на ; вÑбÑанном диÑке 1BH JMP SELDSK ; ÐÑÐ±Ð¾Ñ Ð´Ð¸Ñка (0,1,2) 1EH JMP SETTRK ; УÑÑ.номеÑа доÑожки (0-79) 21H JMP SETSEC ; УÑÑ.номеÑа ÑекÑоÑа (1-10) 24H JMP SETDMA ; УÑÑ.адÑеÑа бÑÑеÑа обмена 27H JMP READ ; ЧÑение вÑбÑанного ÑекÑоÑа 2ÐH JMP WRITE ; ÐапиÑÑ Ð²ÑбÑанного ÑекÑÐ¾Ñ 2DH JMP LISTST ; СÑаÑÑÑ ÑоÑÑоÑÐ½Ð¸Ñ Ð¿ÑинÑеÑа 30H JMP SECTRAN ; ÐеÑенÑмеÑаÑÐ¸Ñ ÑекÑоÑов
ÐнаÑение BAS â ÑÑо адÑÐµÑ Ð½Ð°Ñала ÑазмеÑÐµÐ½Ð¸Ñ BIOS в памÑÑи компÑÑÑеÑа. Ðго ÑледÑÐµÑ ÑÑиÑÑваÑÑ Ñ ÑÑеек по адÑеÑÑ 0001-0002Ð. ÐÐ»Ñ OS-DOS48K â 0AC00H, Ð´Ð»Ñ OS-DOS60K â 0DA00H.
ТаблиÑа векÑоÑов по ÑÑнкÑионалÑÐ½Ð¾Ð¼Ñ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´ÐµÐ»Ð¸ÑÑÑ Ð½Ð° ÑÑи оÑновнÑе гÑÑппÑ:
- ÑеиниÑиализаÑÐ¸Ñ ÑиÑÑÐµÐ¼Ñ (BOOT и WBOOT)
- ввод-вÑвод байÑовой инÑоÑмаÑии (CONST,CONIN, CONOUT,LIST,PUNCH,READER и LISTST)
- блоÑнÑй ввод-вÑвод Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° Ñ Ð´Ð¸Ñком (HOME, SELDSK, SETTRK, SETSEK, SETDMA, READ, WRITE и SECTRAN)
РаÑÑмоÑÑим более подÑобно ÑÑнкÑионалÑнÑе оÑобенноÑÑи векÑоÑов BIOS.
BOOT - ÐолÑÑÐ°ÐµÑ ÑпÑавление Ð¾Ñ Ð²ÑоÑиÑного загÑÑзÑика ÑиÑÑÐµÐ¼Ñ Ð¸ вÑполнÑÐµÑ Ð¸Ð½Ð¸ÑиализаÑиÑ, вклÑÑÐ°Ñ Ð²ÑдаÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¾ запÑÑке OS-DOS. ÐоÑле иниÑиализаÑии паÑамеÑÑов ÑиÑÑемÑ, Ð²Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñайла AUTOEXEC.BAT (еÑли он еÑÑÑ Ð½Ð° загÑÑзоÑной диÑкеÑе) ÑпÑавление пеÑÐµÐ´Ð°ÐµÑ Ð² модÑÐ»Ñ CCP Ð´Ð»Ñ Ð´Ð°Ð»ÑнейÑей ÑабоÑÑ, ÑÑÑановив ÑекÑÑим диÑковод «Ð».
WBOOT â ÐолÑÑÐ°ÐµÑ ÑпÑавление, когда Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð° (еÑли заÑеÑÑÑ BDOS и CCP) пеÑезагÑÑзка ÑиÑÑемÑ. «ТеплÑй ÑÑаÑÑ» ÑиÑÑÐµÐ¼Ñ Ð¿ÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð¸ пÑи пеÑедаÑе ÑпÑавление пÑогÑаммой полÑзоваÑÐµÐ»Ñ Ð² ÑÑÐµÐ¹ÐºÑ Ñ Ð°Ð´ÑеÑом 0000Ð (ÑÑандаÑÑнÑй ÑпоÑоб оконÑÐ°Ð½Ð¸Ñ Ð¿ÑогÑамм полÑзоваÑÐµÐ»Ñ Ð² ÑÑеде CÐ /Ð) или вводе CTRL/C. ÐÑи ÑÑом пÑоизводиÑÑÑ Ð·Ð°Ð³ÑÑзка в памÑÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа Ñ ÑиÑÑемнÑÑ Ð´Ð¾Ñожек диÑка â ССРи BDOS. Ðо завеÑÑении иниÑиализаÑии WBOOT пеÑÐµÐ´Ð°ÐµÑ ÑпÑавление в ССР. УÑÑанавливаеÑÑÑ Ð½Ð¾Ð¼ÐµÑ ÑекÑÑего диÑковода, иниÑиализиÑованнÑй до ÑеÑÑаÑÑа ÑиÑÑемÑ.
CONST â ÐÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ Ð¾Ð¿ÑÐ¾Ñ Ð°ÐºÑивноÑÑи клавиаÑÑÑÑ Ð¸ возвÑаÑÐ°ÐµÑ Ð² ÑегиÑÑÑе «Ð» â 0FFÐ, еÑли клавиÑа клавиаÑÑÑÑ Ð½Ð°Ð¶Ð°Ñа, или 00Рв пÑоÑивном ÑлÑÑае. Ðо вÑполнÑемой ÑÑнкÑии аналогиÑна подпÑогÑамме STAT (0F812Ð) ÐониоÑа.
CONIN â СÑиÑÑÐ²Ð°ÐµÑ Ñимвол Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ, Ð¾Ð¶Ð¸Ð´Ð°Ñ ÑÐ°ÐºÑ Ð½Ð°Ð¶Ð°ÑÐ¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñи. РезÑлÑÑÐ°Ñ Ð²Ð¾Ð·Ð²ÑаÑаеÑÑÑ Ð² ÑегиÑÑÑе «Ð». Ðо вÑполнÑемой ÑÑнкÑии аналогиÑна подпÑогÑамме KBRD (0F803Ð) ÐониÑоÑа.
CONOUT â ÐÑÐ²Ð¾Ð´Ð¸Ñ Ñимвол из ÑегиÑÑÑа «С» на ÑкÑан диÑÐ¿Ð»ÐµÑ Ðо вÑполнÑемой ÑÑнккÑии аналогиÑна подпÑогÑамме TVC (0F809Ð) ÐониÑоÑа.
LIST - ÐÑÐ²Ð¾Ð´Ð¸Ñ Ñимвол из ÑегиÑÑÑа «С» на пÑинÑеÑ. Ð Ñеле BIOS OS-DOS дÑÐ°Ð¹Ð²ÐµÑ Ð¿ÑинÑеÑа не ÑодеÑжиÑÑÑ Ð¸ загÑÑжаеÑÑÑ Ð² виде СÐÐ-Ñайла полÑзоваÑелем (DPRINT.COM).
PUNCH â ÐÑÐ²Ð¾Ð´Ð¸Ñ Ð±Ð°Ð¹Ñ Ð½Ð° пеÑÑоÑаÑоÑ. Ð ÑеализаÑии, Ñанее пеÑеÑиÑленнÑÑ Ð²ÐµÑÑий OS-DOS ÑиÑÐ¼Ñ Â«ÐÑионÑоÑÑ» векÑÐ¾Ñ Ð½Ðµ иÑполÑзÑеÑÑÑ. УÑÑановлена «заглÑÑка».
READER â СÑиÑÑÐ²Ð°ÐµÑ Ð±Ð°Ð¹Ñ Ñ Ð¿ÐµÑÑоÑÑиÑÑваÑелÑ. Ð ÑеализаÑии, Ñанее пеÑеÑиÑленнÑÑ Ð²ÐµÑÑий OS-DOS векÑÐ¾Ñ Ñак же не иÑполÑзÑеÑÑÑ. УÑÑановлена «заглÑÑка».
HOME - ÐомеÑÐ°ÐµÑ ÑÑиÑÑваÑÑÑÑ Ð³Ð¾Ð»Ð¾Ð²ÐºÑ Ð²ÑбÑанного диÑко-вода в иÑÑ Ð¾Ð´Ð½Ð¾Ðµ ÑоÑÑоÑние, Ñо еÑÑÑ Ð½Ð° доÑÐ¾Ð¶ÐºÑ Ñ Ð½Ð¾Ð¼ÐµÑом «00». Ðожно иÑполÑзоваÑÑ Ð¿Ð¾Ð´Ð¿ÑогÑÐ°Ð¼Ð¼Ñ SETTRK Ñ Ð¿Ð°ÑамеÑÑом ÑавнÑм 00H.
SELDSK â ÐÑбиÑÐ°ÐµÑ Ð´Ð¸Ñковод, Ð½Ð¾Ð¼ÐµÑ ÐºÐ¾ÑоÑого задаеÑÑÑ Ð² ÑегиÑÑÑе «C». ÐÑо Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ Ð´Ð»Ñ Ð¿Ð¾ÑледÑÑÑÐ¸Ñ Ð¾Ð¿ÐµÑаÑий ÑÑениÑ-/запиÑи (C=0 â вÑбиÑаеÑÑÑ Ð´Ð¸Ñковод «Ð», C=1 â диÑковод «B»). ÐÑи каждом вÑзове подпÑогÑамма SELDSK должна возвÑаÑаÑÑ Ð² ÑегиÑÑÑовой паÑе HL адÑÐµÑ ÑаблиÑÑ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð´Ð¸Ñка (DISK PARAMETER HEADER). ÐÑли делаеÑÑÑ Ð¿Ð¾Ð¿ÑÑка вÑбоÑа неÑÑÑеÑÑвÑÑÑего диÑковода, Ñо HL=0000H.
SETTRK â ÐÑбиÑÐ°ÐµÑ Ð´Ð¾ÑÐ¾Ð¶ÐºÑ Ð½Ð° диÑке по ÑодеÑÐ¶Ð¸Ð¼Ð¾Ð¼Ñ ÑегиÑÑÑа С (Ð½Ð¾Ð¼ÐµÑ Ð´Ð¾Ñожки не должен пÑивÑÑаÑÑ 79).
SETSEC â ÐÑбиÑÐ°ÐµÑ ÑекÑÐ¾Ñ Ð½Ð° вÑбÑанной доÑожке по ÑодеÑÐ¶Ð¸Ð¼Ð¾Ð¼Ñ ÑегиÑÑÑа C.
SETDMA â УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð°Ð´ÑÐµÑ Ð±ÑÑеÑа обмена, в коÑоÑÑй по ÑегиÑÑÑÑ ÐС, бÑÐ´ÐµÑ ÑÑиÑана одна запиÑÑ (128 байÑ) в памÑÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÑанавливаеÑÑÑ Ð±ÑÑÐµÑ Ð¿Ð¾ адÑеÑÑ 0080Ð.
READ - ÐодпÑогÑамма ÑÑиÑÑÐ²Ð°ÐµÑ Ð¾Ð´Ð½Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ñ Ð´Ð¸Ñка в памÑÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа, наÑÐ¸Ð½Ð°Ñ Ñ Ð°Ð´ÑеÑа, ÑÑÑановленного в поÑледней опеÑаÑии SETDMA и заканÑÐ¸Ð²Ð°Ñ ÑÑим адÑеÑом + 128 байÑ. подпÑогÑамма ÐÑедваÑиÑелÑно ÑÑÑанавливаÑÑ SETTRK, SETSEC. Ð ÑегиÑÑÑе «Ð» возвÑаÑÐ°ÐµÑ ÑледÑÑÑие паÑамеÑÑÑ:
- Ð = 00 â Ð½ÐµÑ Ð¾Ñибок
- Ð > 0 â оÑибка пÑи ÑÑиÑÑвании ÑекÑоÑа
WRITE - ÐодпÑогÑамма запиÑÑÐ²Ð°ÐµÑ Ð¾Ð´Ð½Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ð¸Ð· памÑÑи компÑÑÑеÑа (Ñ Ð°Ð´ÑеÑа, опÑеделенного в поÑледней опеÑаÑии SETDMA, ÑазмеÑом в 128 байÑ) на вÑбÑаннÑй ÑекÑоÑ, вÑбÑанной доÑожки, вÑбÑанного диÑка (опеÑаÑии SETSEC,SETTRK SETDSK). ÐозвÑаÑÐ°ÐµÑ Ð¿Ð°ÑамеÑÑÑ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸ÑнÑе команде READ.
СледÑÐµÑ ÑÑоÑниÑÑ, ÑÑо подпÑогÑÐ°Ð¼Ð¼Ñ READ и WRITE пÑедваÑиÑелÑно вÑÑиÑлÑÑÑ: в каком ÑекÑоÑе, какой доÑожки Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð¸ÑÐºÐ¾Ð¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ. ÐаÑем пÑоизводÑÑ ÑÑиÑÑвание/запиÑÑ ÑекÑоÑа (1 ÐбайÑ) и найденнÑÑ Ð·Ð°Ð¿Ð¸ÑÑ (128 байÑ) пеÑеноÑÑÑ Ð² бÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð° по адÑеÑÑ, ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð¾Ð¼Ñ Ð² SETDMA.
Ð¢Ð°ÐºÐ°Ñ Ð´Ð²Ð¾Ð¹Ð½Ð°Ñ Â«Ð±ÑÑ Ð³Ð°Ð»ÑеÑиÑ» пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð¸Ð·-за Ñого, ÑÑо в бÑлÑе вÑемена ÑекÑÐ¾Ñ Ð¸Ð¼ÐµÐ» ÑÐ°Ð·Ð¼ÐµÑ Ð² 128 Ð±Ð°Ð¹Ñ Ð¸ назÑвалÑÑ - запиÑÑ. ÐоÑожки на диÑкеÑе ÑазмеÑалиÑÑ Ñ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑоÑÐ¾Ð½Ñ Ð¸ ÑодеÑжали по 40 ÑекÑоÑов.
РнаÑÑоÑÑее вÑÐµÐ¼Ñ ÑовÑеменнÑе диÑÐºÐ¾Ð²Ð¾Ð´Ñ Ð¸Ð¼ÐµÑÑ Ð±Ð¾Ð»ÐµÐµ вÑÑокие плоÑноÑÑи запиÑи на диÑкеÑÑ. ЧÑÐ¾Ð±Ñ ÑеализоваÑÑ ÑÑо доÑÑижение, пÑиÑлоÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÑÑÑкÑÑÑÑ Ð´Ð¾Ñожки â ÑделаÑÑ Ð¼ÐµÐ½ÑÑе колиÑеÑÑво ÑекÑоÑов â 5, а ÑÐ°Ð·Ð¼ÐµÑ Ð¸Ñ ÑвелиÑиÑÑ Ð´Ð¾ одного килобайÑа. ÐÑо ÑменÑÑило колиÑеÑÑво ÑлÑжебной инÑоÑмаÑии на доÑожке и Ñезко повÑÑило обÑем полезной.
Ðо BDOS оÑÑалÑÑ Ð±ÐµÐ· изменений и опеÑиÑÑÐµÑ Ð¿Ð¾ «ÑÑаÑинке» запиÑÑми по 128 байÑ. ÐÑиÑлоÑÑ Ð½Ð° BIOS возложиÑÑ ÑÑнкÑии «бÑÑ Ð³Ð°Ð»ÑеÑа».
LISTST â ÐÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ Ð¾Ð¿ÑÐ¾Ñ ÑÑаÑÑÑа ÑоÑÑоÑÐ½Ð¸Ñ (гоÑов/не гоÑов) пÑинÑеÑа. ÐодпÑогÑамма в Ñеле BIOS не ÑодеÑжиÑÑÑ Ð¸ загÑÑжаеÑÑÑ ÑовмеÑÑно Ñ Ð¿Ð¾Ð´Ð¿ÑогÑаммой вÑвода Ñимвола на пÑинÑеÑ â DPRINT.COM. ÐÑи гоÑовноÑÑи пÑинÑеÑа - возвÑаÑÐ°ÐµÑ Ð²ÑегиÑÑÑе «Ð» = 00Ð, пÑи негоÑовноÑÑи Ð=FF.
SECTRAN â ÐÑÑÑеÑÑвлÑÐµÑ Ð¿ÑеобÑазование логиÑеÑкого номеÑа запиÑи в ÑизиÑеÑкий ÑекÑÐ¾Ñ Ð½Ð° диÑке. ÐзнаÑалÑно задÑмано Ð´Ð»Ñ ÑбÑÑÑÑÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑÑпа к инÑоÑмаÑии на диÑке, за ÑÑÐµÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑинÑипа ÑеÑÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ ÑекÑоÑов на доÑожке. Ðднако ÑÑо бÑло акÑÑалÑно в Ñо вÑемÑ, когда ÑÐ°Ð·Ð¼ÐµÑ Ð·Ð°Ð¿Ð¸Ñи и ÑекÑоÑа ÑавнÑлÑÑ 128 байÑам. РнаÑÑоÑÑее вÑемÑ, в ÑеализаÑии ÑовÑеменного BIOS (в Ñом ÑиÑле и Ð´Ð»Ñ Â«ÐÑион-128») даннÑй векÑÐ¾Ñ Ð¸Ð·-за двойной «бÑÑ Ð³Ð°Ð»ÑеÑии» ÑÑÑаÑил акÑÑалÑноÑÑÑ Ð¸ не иÑполÑзÑеÑÑÑ. Тем не менее по запÑоÑÑ BDOS он ÑмÑлиÑÑÐµÑ Ñвои ÑÑнкÑии.
ÐекоÑоÑÑе оÑобенноÑÑи в иÑполÑзовании векÑоÑов.
- ÑÑловием конÑа ÑекÑÑового Ñайла в OS-DOS ÑвлÑеÑÑÑ Ð²ÐºÐ»ÑÑение в Ñайл кода 1AÐ (или CTRL/Z).
- пеÑиÑеÑийнÑе ÑÑÑÑойÑÑва воÑпÑинимаÑÑÑÑ OS-DOS как «логиÑеÑкие» ÑÑÑÑойÑÑва и ÑооÑноÑÑÑÑÑ Ð½Ð° ÑизиÑеÑкие â ÑолÑко поÑÑедÑÑвом модÑÐ»Ñ BIOS.
- обмен Ñ Ð´Ð¸Ñком вÑегда оÑÑÑеÑÑвлÑеÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð²Ñзова подпÑогÑамм доÑÑÑпа к диÑкÑ. ÐÑедваÑиÑелÑно Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ ÑелÑнÑÑ Ð²ÐµÐºÑоÑов вÑбиÑаÑÑ Ð½Ð¾Ð¼ÐµÑ Ð´Ð¸Ñка, доÑожкÑ, ÑекÑÐ¾Ñ Ð½Ð° доÑожке и ÑÑÑанавливаÑÑ Ð°Ð´ÑÐµÑ ÑазмеÑÐµÐ½Ð¸Ñ ÑÑиÑанной инÑоÑмаÑии. ÐоÑле Ñого как ÑÑи паÑамеÑÑÑ ÑÑÑановленÑ, оÑÑÑеÑÑвлÑеÑÑÑ Ð¾Ð±ÑаÑение к ÑÑнкÑиÑм READ или WRITE Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑобÑÑвенно опеÑаÑии ÑÑениÑ/запиÑи ÑекÑоÑа. ÐÑполнÑеÑÑÑ Ð½ÐµÑколÑко попÑÑок (обÑÑно 5-6) пÑежде, Ñем возвÑаÑаеÑÑÑ Ð¿Ñизнак оÑибоÑного завеÑÑÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑаÑии.
BDOS. СиÑÑемнÑе ÑÑнкÑии
СиÑÑемнÑе ÑÑнкÑии BDOS доÑÑÑÐ¿Ð½Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ ÑолÑко на логиÑеÑком ÑÑовне ввода/вÑвода инÑоÑмаÑии на диÑк и оÑÑÑеÑÑвлÑÑÑÑÑ ÑеÑез бÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð°. СиÑÑемнÑй бÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð° (по ÑмолÑаниÑ) ÑаÑполагаеÑÑÑ Ð¿Ð¾ адÑеÑÑ 0080Ð. ÐÑÐ¾Ñ Ð°Ð´ÑÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½ ÑÑнкÑией «УÑÑановиÑÑ Ð°Ð´ÑÐµÑ Ð±ÑÑеÑа обмена» (ФÑнкÑÐ¸Ñ 26).
ÐпеÑаÑии Ñ ÐºÐ°Ñалогом вÑполнÑÑÑÑÑ Ð² ÑезеÑвном бÑÑеÑе, ÑаÑположенном в Ñеле BIOS, и не оказÑваÑÑ Ð²Ð»Ð¸ÑÐ½Ð¸Ñ Ð½Ð° бÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð°, за иÑклÑÑением ÑÑнкÑии «ÐоиÑк пеÑвого» и «ÐоиÑк ÑледÑÑÑего».
ФÑнкÑÐ¸Ñ 0. ÐÑоÑедÑÑа «гоÑÑÑий ÑÑаÑÑ». ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=00Ð
ÐÑоÑедÑÑа «гоÑÑÑий ÑÑаÑÑ» загÑÑÐ¶Ð°ÐµÑ Ð² памÑÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа модÑли ССРи BDOS СР/Ð. УпÑавление пеÑедаеÑÑÑ Ð¡Ð¡Ð , пÑи ÑÑом акÑивнÑм ÑÑановиÑÑÑ Ð´Ð¸Ñк «Ð». ÐейÑÑвие ÑÑнкÑии ÑквиваленÑно пеÑÐµÑ Ð¾Ð´Ñ Ð¿Ð¾ адÑеÑÑ 0000Ð.
ФÑнкÑÐ¸Ñ 1. ÐонÑолÑнÑй ввод. ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=01Ð ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= код Ñимвола
ФÑнкÑÐ¸Ñ Ð²Ð²Ð¾Ð´Ð¸Ñ Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ñимвол и возвÑаÑÐ°ÐµÑ ÐµÐ³Ð¾ пÑогÑамме в ÑегиÑÑÑ Â«Ð».
ÐÑобÑажаемÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¸ ÑпÑавлÑÑÑие â CR (ÐозвÑÐ°Ñ ÐºÐ°ÑеÑки), LF (ÐеÑевод ÑÑÑоки), BSP (Ðабой) вÑводÑÑÑÑ Ñ ÑÑ Ð¾Ð¼ на ÑкÑан. Ðвод ÑпÑавлÑÑÑего Ñимвола CTRL/I (ТÐÐ) пеÑемеÑÐ°ÐµÑ ÐºÑÑÑÐ¾Ñ Ð½Ð° 8 позиÑий впÑаво. ÐÑÑÑеÑÑвлÑеÑÑÑ Ð¿ÑовеÑка на вклÑÑение или вÑклÑÑение Ñежима паÑаллелÑной пеÑаÑи â CTRL/P (еÑли загÑÑжен дÑÐ°Ð¹Ð²ÐµÑ Ð¾Ð±ÑлÑÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿ÑинÑеÑа) и оÑÑанов/пÑÑк вÑвода инÑоÑмаÑии на ÑкÑан â CTRL/S. ФÑнкÑÐ¸Ñ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² Ñежиме Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð¾ ÑÐµÑ Ð¿Ð¾Ñ, пока не бÑÐ´ÐµÑ Ð¿Ð¾Ð²ÑоÑно нажаÑа клавиÑа.
ФÑнкÑÐ¸Ñ 2. ÐÑвод Ñимвола на конÑолÑ. ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=02Ð ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= код вÑводимого Ñимвола
ÐаданнÑй в ÑегиÑÑÑе «Ð» Ñимвол (в пÑÐµÐ´ÐµÐ»Ð°Ñ ÑаблиÑÑ ASCII) вÑводиÑÑÑ Ð½Ð° ÑкÑан диÑплеÑ. ÐналогиÑно ÑÑнкÑии 1 оÑÑÑеÑÑвлÑеÑÑÑ Ð¿ÑовеÑка в налиÑии ÑпÑавлÑÑÑÐ¸Ñ Ñимволов CTRL/I, CTRL/S, CTRL/P и дÑ.
ФÑнкÑÐ¸Ñ 3. Ðвод Ñимвола Ñ Ð»Ð¾Ð³Ð¸ÑеÑкого ÑÑÑÑойÑÑва READER - пеÑÑоÑÑиÑÑваÑелÑ. ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=03Ð ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= код введенного Ñимвола
Ð ÑазÑабоÑаннÑÑ Ð°Ð²ÑоÑами до наÑÑоÑÑего веÑÑиÑÑ OS-DOS ÑÑнкÑÐ¸Ñ Ð½Ðµ вÑполнÑеÑÑÑ Ð¸ Ð¸Ð¼ÐµÐµÑ Â«Ð·Ð°Ð³Ð»ÑÑкÑ» на ÑÑовне векÑоÑа BIOS. ÐапланиÑовано ÑÑнкÑии 3 и 4 пеÑеопÑеделиÑÑ Ð´Ð»Ñ Ð´ÑайвеÑов ÑабоÑÑ Ñ ÑеÑÑÑ.
ФÑнкÑÐ¸Ñ 4. ÐÑвод Ñимвола на логиÑеÑкое ÑÑÑÑойÑÑво PUSCH - пеÑÑоÑаÑоÑ. ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=04РРегиÑÑÑ Ð= код вÑводимого Ñимвола
Также как и ÑÑнкÑÐ¸Ñ 3 не вÑполнÑеÑÑÑ Ð¸ Ð¸Ð¼ÐµÐµÑ Â«Ð·Ð°Ð³Ð»ÑÑкÑ» на ÑÑовне векÑоÑа BIOS.
ФÑнкÑÐ¸Ñ 5. ÐÑвод Ñимвола на логиÑеÑкое ÑÑÑÑойÑÑво LIST - пÑинÑÐµÑ ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=05РРегиÑÑÑ Ð= код вÑводимого Ñимвола
Ðо загÑÑзки внеÑнего дÑайвеÑа обÑлÑÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿ÑинÑеÑа ÑÑнкÑÐ¸Ñ Ð½Ðµ вÑполнÑеÑÑÑ Ð¸ Ð¸Ð¼ÐµÐµÑ Â«Ð·Ð°Ð³Ð»ÑÑкÑ» на ÑÑовне векÑоÑа BIOS.
ФÑнкÑÐ¸Ñ 6. Ðвод/вÑвод Ñимвола Ñ ÐºÐ¾Ð½Ñоли без ÑÑ Ð° (без оÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° диÑплее). ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=06РРегиÑÑÑ Ð= 0FFH или 0FEH - пÑи вводе E= код вÑводимого Ñимвола - пÑи вÑводе ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= введеннÑй Ñимвол или ÑÑаÑÑÑ ÐºÐ¾Ð½Ñоли
ÐÑли в ÑегиÑÑÑе «Ð» задано 0FFH (ввод Ñимвола без ÑÑ Ð°/опÑÐ¾Ñ ÑÑаÑÑÑа), Ñо в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ:
- 00Ð, еÑли конÑÐ¾Ð»Ñ Ð½Ðµ гоÑова к Ð²Ð²Ð¾Ð´Ñ Ñимвола;
- введеннÑй Ñимвол пÑи гоÑовноÑÑи конÑоли.
ÐÑли в ÑегиÑÑÑе «Ð» задано 0FEH (ÑолÑко опÑÐ¾Ñ ÑÑаÑÑÑа), Ñо в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ:
- 00Ð, еÑли конÑÐ¾Ð»Ñ Ð½Ðµ гоÑова;
- ненÑлевое знаÑение пÑи гоÑовноÑÑи конÑоли.
ÐÑли в ÑегиÑÑÑе «Ð» задан код, оÑлиÑнÑй Ð¾Ñ 0FFH или 0FEH, педполагаеÑÑÑ, ÑÑо ÑÑо код вÑводимого Ñимвола. ÐÑовеÑка на налиÑие, Ñанее ÑказаннÑÑ ÑпÑавлÑÑÑÐ¸Ñ Ñимволов, не пÑоизводиÑÑÑ.
ФÑнкÑÐ¸Ñ 7. ÐолÑÑиÑÑ Ð±Ð°Ð¹Ñ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ ÑÑÑÑойÑÑв (ÐÐУ) ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=07Ð ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= знаÑение ÐÐУ ФÑнкÑÐ¸Ñ 8. УÑÑановка байÑа назнаÑÐµÐ½Ð¸Ñ ÑÑÑÑойÑÑв ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=08РРегиÑÑÑ Ð= новое знаÑÐµÐ½Ð¸Ñ ÐÐУ ФÑнкÑÐ¸Ñ 9. ÐÑвод ÑимволÑной ÑÑÑоки ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡= 09Ð
РегиÑÑÑ DÐ= адÑÐµÑ Ð²Ñводимой ÑÑÑоки ÐÑа ÑÑнкÑÐ¸Ñ Ð²ÑÐ²Ð¾Ð´Ð¸Ñ Ð½Ð° конÑÐ¾Ð»Ñ ÑимволÑнÑÑ ÑÑÑокÑ, Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑÑÑ Ð¿Ð¾ адÑеÑÑ, ÑÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¼Ñ Ð² DE. СÑÑока должна заканÑиваÑÑÑÑ Ñимволом «$», коÑоÑÑй Ñам не вÑводиÑÑÑ, а ÑвлÑеÑÑÑ Ð¿Ñизнаком конÑа ÑÑÑоки. ÐÑи вÑполнении ÑÑой ÑÑнкÑии оÑÑÑеÑÑвлÑеÑÑÑ Ð¿ÑовеÑка на ÑпÑавлÑÑÑие ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ CTRL/S, CTRL/P, CTRL/I.
ФÑнкÑÐ¸Ñ 10. ЧÑение в конÑолÑнÑй бÑÑÐµÑ ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=0ÐРРегиÑÑÑ DÐ= адÑÐµÑ Ð±ÑÑеÑа ÐÑÑ Ð¾Ð´: ÐведеннÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð² конÑолÑном бÑÑеÑе
ÐÑа ÑÑнкÑÐ¸Ñ ÑиÑÐ°ÐµÑ Ð½Ð°Ð±Ð¸ÑаемÑÑ Ð½Ð° конÑоли поÑледоваÑелÑноÑÑÑ Ñимволов (ÑÑÑокÑ) в бÑÑÐµÑ Ð¿Ð¾ адÑеÑÑ, ÑÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¼Ñ Ð² ÑегиÑÑÑовой паÑе DE.
ÐÑÑÐµÑ Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ ÑледÑÑÑий ÑоÑмаÑ:
DE: .............................................. : MX : NC : C1 : C2 : Cn . . . . . ????: :....:....:....:....:........................: Ðде «ÐХ» - макÑималÑное ÑиÑло Ñимволов, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð²Ð²ÐµÐ´ÐµÐ½Ñ Ð² даннÑй бÑÑÐµÑ (задаеÑÑÑ Ð¿ÑогÑаммой полÑзоваÑÐµÐ»Ñ Ð¾Ñ 1 до 255); «NC» - ÑиÑло запиÑаннÑÑ Ñимволов в бÑÑеÑ, пÑоизводиÑÑÑ Ñамой ÑÑнкÑией. С1,С2... - ÑимволÑ, пÑоÑиÑаннÑе Ñ ÐºÐ¾Ð½Ñоли. Ð¡Ð¸Ð¼Ð²Ð¾Ð»Ñ Â«?» изобÑажаÑÑ Ð½ÐµÐ¸Ð½Ð¸ÑиализиÑованнÑй оÑÑаÑок бÑÑеÑа.
ÐÑÑ Ð¾Ð´ из ÑÑнкÑии пÑоиÑÑ Ð¾Ð´Ð¸Ñ:
- пÑи вводе ÑпÑавлÑÑÑего Ñимвола CR или LF.
- пÑи вводе макÑималÑного ÑиÑла Ñимволов.
РпÑоÑеÑÑе запиÑи набиÑаемой ÑÑÑоки ÑодеÑжимое бÑÑеÑа Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑедакÑиÑовано пÑÑем ввода ÑледÑÑÑÐ¸Ñ ÑпÑавлÑÑÑÐ¸Ñ Ñиволов:
- CTRL/C â вÑзов пÑоÑедÑÑÑ Â«Ð³Ð¾ÑÑÑий ÑÑаÑÑ» (еÑли CTRL/C в наÑале ÑÑÑоки);
- CTRL/Рâ ввод ÑледÑÑÑего Ñимвола Ñ Ð½Ð¾Ð²Ð¾Ð¹ ÑÑÑоки на ÑкÑане CTRL/Ð Â â вклÑÑение/вÑклÑÑение Ñежима паÑаллелÑной пеÑаÑи;
- CTRL/R â вÑвод обновленного (оÑÑедакÑиÑованного) ÑодеÑжимого бÑÑеÑа;
- CTRL/U â ÑÑиÑание бÑÑеÑа и пеÑевод ÑÑÑоки на ÑкÑане (ÑÑеÑÑÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ ÑÐ¾Ñ ÑанÑÑÑÑÑ Ð½Ð° ÑкÑане);
- ÐÐÐÐРâ ÑÑиÑание поÑледнего Ñимвола в бÑÑеÑе и дÑблиÑование его на ÑкÑане;
- CTRL/Х â ÑÑиÑание бÑÑеÑа и введенной ÑÑÑоки на ÑкÑане.
ÐÑÑÑÐ¾Ñ Ð²Ð¾Ð·Ð²ÑаÑаеÑÑÑ Ð² ÑÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ ÑÑÑоки, в коÑоÑой бÑл оконÑен запÑÐ¾Ñ Ð½Ð° ввод в бÑÑеÑ.
ФÑнкÑÐ¸Ñ 11. ÐпÑÐ¾Ñ ÑÑаÑÑÑа конÑоли (клавиаÑÑÑÑ) ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=0ÐРРегиÑÑÑ Ð= ÑÑаÑÑÑ ÐºÐ¾Ð½Ñоли
ФÑнкÑÐ¸Ñ Ð¾Ð¿ÑоÑа ÑÑаÑÑÑа конÑоли позволÑÐµÑ Ð¿ÑовеÑиÑÑ ÑÐ°ÐºÑ Ð²Ð²Ð¾Ð´Ð° Ñимвола Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ. ÐÑли Ñимвол введен, в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ Ð·Ð½Ð°Ñение 01Ð. РпÑоÑивном ÑлÑÑае â Ð=00Ð.
ФÑнкÑÐ¸Ñ 12. ÐапÑÐ¾Ñ Ð½Ð¾Ð¼ÐµÑа веÑÑии ÑиÑÑÐµÐ¼Ñ ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=0СРРегиÑÑÑ HL= Ð½Ð¾Ð¼ÐµÑ Ð²ÐµÑÑии - 0022Ð = СРР2.2 ФÑнкÑÐ¸Ñ 13. СбÑÐ¾Ñ Ð²ÑÐµÑ Ð´Ð¸Ñководов ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=0DÐ
ÐÑименÑеÑÑÑ Ð¿Ñи замене диÑкеÑÑ Ð±ÐµÐ· «Ñеплого ÑÑаÑÑа» (CTRL/C), коÑоÑÑй пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¿ÑогÑаммÑ. Смена диÑкеÑÑ Ð±ÐµÐ· «Ñеплого ÑÑаÑÑа» или вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑнкÑии 13 пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº оÑибке ввода/вÑвода, а в некоÑоÑÑÑ ÑлÑÑаÑÑ Ðº поÑÑе каÑалога диÑкеÑÑ. ÐоÑле вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑнкÑии акÑивнÑм ÑÑановиÑÑÑ Ð´Ð¸Ñковод «Ð», пÑи ÑÑом Ñо вÑÐµÑ Ð´Ð¸Ñководов ÑнимаеÑÑÑ ÑÑаÑÑÑ Â«R/O» (Ñм.ÑÑнкÑÐ¸Ñ 28), ÑекÑÑий адÑÐµÑ Ð±ÑÑеÑа обмена (DMA) Ñавен 0080Ð.
ФÑнкÑÐ¸Ñ 14. ÐкÑивизиÑоваÑÑ Ð´Ð¸Ñк ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡= 0ÐРРегиÑÑÑ Ð= Ð½Ð¾Ð¼ÐµÑ Ð´Ð¸Ñка (0-диÑк «Ð», 1-диÑк «Ð», 2-диÑк «С»)
ÐоÑле акÑивизаÑии диÑк ÑÑиÑаеÑÑÑ ÑÑÑановленнÑм до ÑледÑÑÑего Â«Ñ Ð¾Ð»Ð¾Ð´Ð½Ð¾Ð³Ð¾/гоÑÑÑего ÑÑаÑÑа» или «ÑбÑÐ¾Ñ Ð´Ð¸Ñков» (ÑÑнкÑÐ¸Ñ 13). ÐалÑнейÑие ÑайловÑе опеÑаÑии бÑдÑÑ Ð¿ÑоизводиÑÑÑÑ Ñ Ð°ÐºÑивизиÑованнÑм диÑком, еÑли Ð½Ð¾Ð¼ÐµÑ Ð´Ð¸Ñка в бÑÑеÑе FCB Ñавен нÑлÑ. ÐомеÑа диÑков 1 и 2 в бÑÑеÑе FCB ÑÑÑлаÑÑÑÑ ÑооÑвеÑÑÑвенно на диÑки Ри Ð.
ÐÑли ÑÑÑановленнÑй диÑк заменÑеÑÑÑ Ð² пÑоÑеÑÑ ÑабоÑÑ, Ñо он авÑомаÑиÑеÑки пеÑеводиÑÑÑ Ð² Ñежим «R/O» (ÑолÑко ÑÑение).
ФÑнкÑÐ¸Ñ 15. ÐÑкÑÑÑие Ñайла ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=0FРРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ð¸ÑаÑелÑ
ФÑнкÑÐ¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи в бÑÑÐµÑ Ð¸Ð½ÑоÑмаÑии о ÑазмеÑении заданного Ñайла. ÐеÑед обÑаÑением пÑогÑаммиÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ заполниÑÑ Ñ 0 по 12 Ð±Ð°Ð¹Ñ Ð±ÑÑеÑа FCB. ÐÑи вÑполнении ÑÑнкÑии инÑоÑмаÑÐ¸Ñ Ð¸Ð· опиÑаÑÐµÐ»Ñ ÐºÐ°Ñалога копиÑÑеÑÑÑ Ð² ÑооÑвеÑÑÑвÑÑÑие байÑÑ Ð±ÑÑеÑа FCB, а ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð°Ð¹Ð´ÐµÐ½Ð½Ð¾Ð³Ð¾ опиÑаÑелÑ.
ÐÑли ÑовпадаÑÑий опиÑаÑÐµÐ»Ñ Ð½Ðµ найден (а пÑоÑе â Ð¸Ð¼Ñ Ð² каÑалоге), Ñо в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ 0FFH.
Таким обÑазом оÑкÑÑÑие Ñайла обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð´Ð¾ÑÑÑп к Ð½ÐµÐ¼Ñ Ð´Ð»Ñ Ð²ÑÐµÑ Ð¾Ð¿ÐµÑаÑий. ÐÑи поÑледоваÑелÑном обÑаÑении к ÑайлÑ, поле ÑекÑÑего номеÑа запиÑи (Ð±Ð°Ð¹Ñ 32 бÑÑеÑа FCB) должно ÑодеÑжаÑÑ 0.
ФÑнкÑÐ¸Ñ 16. ÐакÑÑÑие Ñайла ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=10РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ð¸ÑаÑелÑ
ФÑнкÑÐ¸Ñ Ð¾ÑÑÑеÑÑвлÑÐµÑ Ð·Ð°Ð¿Ð¸ÑÑ ÑекÑÑей инÑоÑмаÑии из бÑÑеÑа FCB в ÑооÑвеÑÑÑвÑÑÑий опиÑаÑÐµÐ»Ñ Ñайла в каÑалоге диÑка. ÐÑи ÑÑпеÑном завеÑÑении опеÑаÑии в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ð¸ÑаÑÐµÐ»Ñ Ð² запиÑи каÑалога. РпÑоÑивном ÑлÑÑае Ð=0FFH.
ÐÑи вÑполнении ÑолÑко опеÑаÑии ÑÑÐµÐ½Ð¸Ñ Ð·Ð°ÐºÑÑваÑÑ Ñайл необÑзаÑелÑно. ÐÑли иÑполÑзовалаÑÑ Ð¾Ð¿ÐµÑаÑÐ¸Ñ Ð·Ð°Ð¿Ð¸Ñи в Ñайл, Ñо вÑполнение ÑÑнкÑии «ÐакÑÑÑие Ñайла» обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð½ÐµÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ инÑоÑмаÑии о Ñайле в каÑалог диÑка.
ФÑнкÑÐ¸Ñ 17. ÐоиÑк пеÑвого ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=11РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´:РегиÑÑÑ Ð= Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ð¸ÑаÑелÑ
ФÑнкÑÐ¸Ñ Ð¾ÑÑÑеÑÑвлÑÐµÑ Ð¿Ð¾Ð¸Ñк в каÑалоге заданного диÑка пеÑвого опиÑаÑелÑ, ÑооÑвеÑÑÑвÑÑÑего Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ Ð² бÑÑеÑе FCB. ÐÑли Ñакой опиÑаÑÐµÐ»Ñ Ð½Ð°Ð¹Ð´ÐµÐ½, Ñо в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ ÐµÐ³Ð¾ индекÑ, а в бÑÑеÑе обмена (по DMA) â запиÑÑ ÐºÐ°Ñалога, ÑодеÑжаÑÐ°Ñ Ð½Ð°Ð¹Ð´ÐµÐ½Ð½Ñй опиÑаÑелÑ. Таким обÑазом оÑноÑиÑелÑнÑй наÑалÑнÑй адÑÐµÑ Ð½Ð°Ð¹Ð´ÐµÐ½Ð½Ð¾Ð³Ð¾ опиÑаÑÐµÐ»Ñ Ð² бÑÑеÑе обмена бÑÐ´ÐµÑ Ñавен Ð*32. ÐÑли ÑооÑвеÑÑÑвÑÑÑий опиÑаÑÐµÐ»Ñ Ð½Ðµ найден, Ñо в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ 0FFH.
ÐÑли бÑÑÐµÑ FCB в позиÑии ÑооÑвеÑÑÑвÑÑÑей номеÑÑ Ð´Ð¸Ñка, ÑодеÑÐ¶Ð¸Ñ Ñимвол «?»(код 3FH), Ñо вÑбиÑаеÑÑÑ Ð¿ÐµÑвÑй опиÑаÑÐµÐ»Ñ ÐºÐ°Ñалога акÑивизиÑованного диÑка. ÐÑÐ¾Ñ ÑлÑÑай иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¿ÑоÑмоÑÑа ÑекÑÑего ÑоÑÑоÑÐ½Ð¸Ñ Ð²ÑÐµÑ Ð¾Ð¿Ð¸ÑаÑелей каÑалога акÑивизиÑованного диÑка (Ñм.ÑÑнкÑÐ¸Ñ 18).
ФÑнкÑÐ¸Ñ 18. ÐоиÑк ÑледÑÑÑего ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=12РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ð¸ÑаÑелÑ
ФÑнкÑÐ¸Ñ Â«Ð¿Ð¾Ð¸Ñк ÑледÑÑÑего» аналогиÑна ÑÑнкÑии «поиÑк пеÑвого», за иÑклÑÑением Ñого, ÑÑо пÑоÑмоÑÑ ÐºÐ°Ñалога наÑинаеÑÑÑ Ñ Ð¿Ð¾Ñледнего опиÑаÑелÑ, ÑовпавÑего Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм бÑÑеÑом FCB. ÐÑли ÑооÑвеÑÑÑвÑÑÑий ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð½Ðµ найден, Ñо в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ 0FFH.
ФÑнкÑÐ¸Ñ 19. СÑиÑание Ñайла ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=13РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ð¸ÑаÑелÑ
ФÑнкÑÐ¸Ñ ÑÑиÑÐ°ÐµÑ Ð² каÑалоге диÑка вÑе опиÑаÑели Ñайла (Ñайлов), Ð¸Ð¼Ñ ÐºÐ¾ÑоÑого задано в бÑÑеÑе FCB. Ðоле номеÑа диÑка не Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ Ñимвол «?» (код 3FH).
ÐÑли ÑооÑвеÑÑÑвÑÑÑий опиÑаÑÐµÐ»Ñ Ð½Ð°Ð¹Ð´ÐµÐ½ в каÑалоге, в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ ÐµÐ³Ð¾ индекÑ, подÑвеÑждаÑÑий вÑполнение опеÑаÑии, в пÑоÑивном ÑлÑÑае возвÑаÑаеÑÑÑ 0FFH.
ФÑнкÑÐ¸Ñ 20. ÐоÑледоваÑелÑное ÑÑение ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=14РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ð¸ÑаÑелÑ
ФÑнкÑÐ¸Ñ ÑиÑÐ°ÐµÑ 128 байÑовÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð¸Ð· Ñайла, Ð¸Ð¼Ñ ÐºÐ¾ÑоÑого задано в бÑÑеÑе FCB, в бÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð°. ÐÑÑÐµÑ FCB должен ÑодеÑжаÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑазмеÑении Ñайла на диÑке, Ð´Ð»Ñ Ñего Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑедваÑиÑелÑно оÑкÑÑÑÑ Ñайл (ÑÑнкÑÐ¸Ñ 15).
ЧÑение запиÑи пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð¸Ð· ÑекÑÑего екÑÑенÑа Ñ ÑекÑÑим номеÑом, Ñ Ð¿Ð¾ÑледÑÑÑим пÑибавлением единиÑÑ, Ñо еÑÑÑ ÑÑÑанавливаеÑÑÑ Ð½Ð¾Ð¼ÐµÑ ÑледÑÑÑей запиÑи. ÐÑли поле ÑекÑÑего номеÑа запиÑи пеÑеполнÑеÑÑÑ, Ñо ÑледÑÑÑÐ°Ñ Ð¾Ð¿ÐµÑаÑÐ¸Ñ ÑÑÐµÐ½Ð¸Ñ Ð°Ð²ÑомаÑиÑеÑки оÑкÑÑÐ²Ð°ÐµÑ ÑледÑÑÑий ÑкÑÑÐµÐ½Ñ Ð¸ поле ÑекÑÑего номеÑа запиÑи обнÑлÑеÑÑÑ.
ÐÑли опеÑаÑÐ¸Ñ ÑÑÐµÐ½Ð¸Ñ Ð¿ÑоÑла ÑÑпеÑно, в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ 00Ð, в пÑоÑивном ÑлÑÑае знаÑение оÑлиÑное Ð¾Ñ Ð½ÑлÑ.
ФÑнкÑÐ¸Ñ 21. ÐоÑледоваÑелÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=15РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ð¸ÑаÑелÑ
ФÑнкÑÐ¸Ñ Ð·Ð°Ð½Ð¾ÑÐ¸Ñ 128-байÑовÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð¸Ð· бÑÑеÑа обмена в Ñайл, Ð¸Ð¼Ñ ÐºÐ¾ÑоÑого Ñказано в бÑÑеÑе FCB. ÐÑÑÐµÑ FCB должен ÑодеÑжаÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑазмеÑении Ñайла (пÑедваÑиÑелÑное вÑполнение ÑÑнкÑии 15 или 22). ÐапиÑÑ Ð¿Ð¾Ð¼ÐµÑаеÑÑÑ Ð² ÑекÑÑий ÑкÑÑÐµÐ½Ñ Ñ ÑекÑÑим номеÑом и к Ð¿Ð¾Ð»Ñ ÑекÑÑего номеÑа запиÑи пÑибавлÑеÑÑÑ ÐµÐ´Ð¸Ð½Ð¸Ñа, Ñо еÑÑÑ ÑÑÑанавливаеÑÑÑ Ð½Ð¾Ð¼ÐµÑ ÑледÑÑÑей запиÑи. ÐÑли поле ÑекÑÑего номеÑа запиÑи пеÑеполнÑеÑÑÑ, Ñо Ð´Ð»Ñ ÑледÑÑÑей запиÑи авÑомаÑиÑеÑки оÑкÑÑваеÑÑÑ ÑледÑÑÑий ÑкÑÑенÑ, а поле ÑекÑÑего номеÑа запиÑи обнÑлÑеÑÑÑ.
ÐпеÑаÑÐ¸Ñ Ð·Ð°Ð¿Ð¸Ñи Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоиÑÑ Ð¾Ð´Ð¸ÑÑ Ð² Ñанее ÑозданнÑй Ñайл, в ÑÑом ÑлÑÑае Ð²Ð½Ð¾Ð²Ñ Ð·Ð°Ð½ÐµÑеннÑе запиÑи помеÑаÑÑÑÑ Ð² Ñе же блоки, ÑÑо и Ñанее ÑÑÑеÑÑвовавÑие в Ñайле.
ÐÑли опеÑаÑÐ¸Ñ Ð¿ÑоÑла ÑÑпеÑно, Ñо в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ 00Ð, в пÑоÑивном ÑлÑÑае â ненÑлевое знаÑение.
ФÑнкÑÐ¸Ñ 22. Создание Ñайла. ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=16РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ð¸ÑаÑелÑ
ФÑнкÑÐ¸Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÑÐµÑ Ð¾Ð¿Ð¸ÑаÑÐµÐ»Ñ Ñайла нÑлÑми байÑÑ Ñ 13 по 31 бÑÑеÑа FCB и запиÑÑÐ²Ð°ÐµÑ Ð² каÑалог диÑка. Таким обÑазом, ÑÑнкÑÐ¸Ñ Â«Ñоздание Ñайла» Ñак же, как и ÑÑнкÑÐ¸Ñ 15, обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð´Ð¾ÑÑÑп к ÑÐ°Ð¹Ð»Ñ Ð´Ð»Ñ Ð²ÑÐµÑ Ð¾Ð¿ÐµÑаÑий. ÐайÑÑ Ñ 0 по 12 бÑÑеÑа FCB заполнÑÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑ. Ðни вклÑÑаÑÑ Ð½Ð¾Ð¼ÐµÑ Ð´Ð¸Ñка, Ð¸Ð¼Ñ Ð¸ ÑаÑÑиÑение Ñайла. СледÑÐµÑ Ð¿Ð¾Ð¼Ð½Ð¸ÑÑ, ÑÑо дÑблиÑование имен на одном диÑке не допÑÑкаеÑÑÑ. Ð ÑÑом Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑбедиÑÑÑÑ, вÑполнив пÑедваÑиÑелÑно ÑÑнкÑÐ¸Ñ 17.
ÐÑи ÑÑпеÑном оконÑании опеÑаÑии Ð=00Ð, еÑли в каÑалоге Ð½ÐµÑ Ð¼ÐµÑÑа (на диÑке запиÑано Ñже 128 опиÑаÑелей), Ñо в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ 0FFH.
ФÑнкÑÐ¸Ñ 23. ÐеÑеименование Ñайла. ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=17РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ð¸ÑаÑелÑ
ФÑнкÑÐ¸Ñ Ð·Ð°Ð¼ÐµÐ½ÑÐµÑ Ð¸Ð¼Ñ Ñайла (Ñ ÑаÑÑиÑением), заданное в байÑÐ°Ñ Ñ 0 по 12 в бÑÑеÑе FCB, адÑÐµÑ ÐºÐ¾ÑоÑого Ñказан в DE, на имÑ, заданное в байÑÐ°Ñ Ñ 16 по 28 Ñого же бÑÑеÑа FCB. ÐÐ¾Ð¼ÐµÑ Ð´Ð¸Ñка задаеÑÑÑ ÑолÑко в нÑлевом байÑе бÑÑеÑа FCB, Ð±Ð°Ð¹Ñ 16 â вÑегда ÑодеÑÐ¶Ð¸Ñ 00Ð.
ÐÑли пеÑеименование пÑоÑло ÑÑпеÑно, в ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ð¸ÑаÑÐµÐ»Ñ Ð² каÑалоге, в пÑоÑивном ÑлÑÑае â 0FFH.
ФÑнкÑÐ¸Ñ 24. ÐолÑÑиÑÑ Ð²ÐµÐºÑÐ¾Ñ Ð°ÐºÑивнÑÑ Ð´Ð¸Ñков ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=18Ð ÐÑÑ Ð¾Ð´:РегиÑÑÑ HL= векÑÐ¾Ñ Ð´ÐµÐ¹ÑÑвÑÑÑÐ¸Ñ Ð´Ð¸Ñков
ÐекÑÐ¾Ñ Ð°ÐºÑивнÑÑ Ð´Ð¸Ñков пÑедÑÑавлÑÐµÑ Ñобой 16-биÑнÑÑ Ð²ÐµÐ»Ð¸ÑÐ¸Ð½Ñ Ð¸ возвÑаÑаеÑÑÑ Ð² ÑегиÑÑÑе HL. ÐеÑвÑй знаÑаÑий Ð±Ð¸Ñ ÑегиÑÑÑа «L» ÑооÑвеÑÑÑвÑÐµÑ Ð´Ð¸ÑÐºÑ Â«Ð», вÑоÑой биÑ â диÑÐºÑ Â«Ð». ÐÑлевое знаÑение биÑа ознаÑаеÑ, ÑÑо ÑооÑвеÑÑÑвÑÑÑий диÑк не ÑÑÑановлен (не акÑивизиÑован), единиÑа â ÑÑÑановлен ÑÑнкÑией «ÐкÑивизаÑÐ¸Ñ Ð´Ð¸Ñка» или одной из опеÑаÑий над Ñайлом Ñ ÑвнÑм заданием номеÑа диÑка в поле номеÑа диÑка бÑÑеÑа FCB.
ФÑнкÑÐ¸Ñ 25. ÐолÑÑиÑÑ Ð½Ð¾Ð¼ÐµÑ (имÑ) ÑекÑÑего диÑка ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=19Ð ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= Ð½Ð¾Ð¼ÐµÑ ÑекÑÑего диÑка
ФÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ Ð² ÑегиÑÑÑе «Ð» Ð½Ð¾Ð¼ÐµÑ Ð°ÐºÑивного диÑка. Ð=00Рâ диÑк «Ð», Ð=01Рâ диÑк «Ð», Ð=02Рâ диÑк «С».
ФÑнкÑÐ¸Ñ 26. УÑÑановиÑÑ Ð°Ð´ÑÐµÑ Ð±ÑÑеÑа обмена (DMA) ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=1ÐРРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа обмена
ÐÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð° пÑедÑÑавлÑÐµÑ Ñобой 128-байÑовÑÑ Ð¾Ð±Ð»Ð°ÑÑÑ Ð¿Ð°Ð¼ÑÑи, ÑеÑез коÑоÑÑÑ Ð¾ÑÑÑеÑÑвлÑеÑÑÑ ÑÑение/запиÑÑ Ð¸Ð½ÑоÑмаÑии Ñайла. ÐÑоÑедÑÑа «гоÑÑÑий/Ñ Ð¾Ð»Ð¾Ð´Ð½Ñй ÑÑаÑÑ» ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð±ÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð° по адÑеÑÑ 0080Ð. УÑÑановленнÑй адÑÐµÑ ÑÐ¾Ñ ÑанÑеÑÑÑ Ð´Ð¾ повÑоÑного вÑзова ÑÑнкÑии 26Â Ñ Ð½Ð¾Ð²Ñм знаÑением или вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑоÑедÑÑÑ Â«Ð³Ð¾ÑÑÑий/Ñ Ð¾Ð»Ð¾Ð´Ð½Ñй ÑÑаÑÑ».
УÑÑановив адÑÐµÑ Ð±ÑÑеÑа обмена и в Ñикле вÑзÑÐ²Ð°Ñ ÑÑнкÑÐ¸Ñ Â«Ð¿Ð¾ÑледоваÑелÑное ÑÑение», можно ÑÑиÑаÑÑ Ð²ÐµÑÑ Ñайл в памÑÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа. СледÑÐµÑ ÑолÑко не забÑваÑÑ Ð¿Ð¾Ñле ÑÑÐµÐ½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ запиÑи ÑвелиÑиваÑÑ Ð°Ð´ÑÐµÑ Ð±ÑÑеÑа обмена на 128 единиÑ.
ФÑнкÑÐ¸Ñ 27. ÐолÑÑиÑÑ Ð°Ð´ÑÐµÑ Ð²ÐµÐºÑоÑа ÑазмеÑÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=1ÐÐ ÐÑÑ Ð¾Ð´: РегиÑÑÑ HL= наÑалÑнÑй адÑÐµÑ Ð²ÐµÐºÑоÑа ÑазмеÑÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² Ð´Ð»Ñ Ð°ÐºÑивизиÑованного диÑка.
ÐекÑÐ¾Ñ ÑазмеÑÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² ÑоÑмиÑÑеÑÑÑ Ð² оÑновной памÑÑи Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÑÑановленного диÑка. РазлиÑнÑе ÑиÑÑемнÑе пÑогÑÐ°Ð¼Ð¼Ñ Ð¸ÑполÑзÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ, ÑодеÑжаÑÑÑÑÑ Ð² векÑоÑе ÑазмеÑÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²ÐµÐ»Ð¸ÑÐ¸Ð½Ñ Ñвободной памÑÑи на диÑке.
ФÑнкÑÐ¸Ñ 28. ÐапиÑаÑÑ ÐºÐ»ÑÑ Ð·Ð°ÑиÑÑ Ð·Ð°Ð¿Ð¸Ñи на диÑка ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=1СÐ
ФÑнкÑÐ¸Ñ ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð²Ñеменное запÑеÑение запиÑи на акÑивизиÑованнÑй диÑк. Ð ÑезÑлÑÑаÑе, вплоÑÑ Ð´Ð¾ вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Â«Ð³Ð¾ÑÑÑего/Ñ Ð¾Ð»Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑÑаÑÑа», лÑÐ±Ð°Ñ Ð¿Ð¾Ð¿ÑÑка запиÑи на акÑивизиÑованнÑй диÑк вÑÐ·Ð¾Ð²ÐµÑ ÑообÑение об оÑибке:
BDOS ERR ON D: R/O, где D - Ð¸Ð¼Ñ Ð´Ð¸Ñка
ФÑнкÑÐ¸Ñ 29. ÐолÑÑиÑÑ Ð²ÐµÐºÑÐ¾Ñ Â« R/O». ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=1DÐ ÐÑÑ Ð¾Ð´: РегиÑÑÑ HL= знаÑение векÑоÑа R/O
ФÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ Ð² паÑе ÑегиÑÑÑов HL биÑовÑй векÑоÑ, ÑказÑваÑÑий на диÑки, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ ÑÑÑановлен Ð±Ð¸Ñ Ð·Ð°ÑиÑÑ Ð·Ð°Ð¿Ð¸Ñи R/O (ÑолÑко ÑÑение). ÐладÑий знаÑаÑий Ð±Ð¸Ñ ÑооÑвеÑÑÑвÑÐµÑ Ð´Ð¸ÑÐºÑ Â«Ð», вÑоÑой â «Ð» и Ñ. д..
ФÑнкÑÐ¸Ñ 30. УÑÑановиÑÑ Ð°ÑÑибÑÑÑ Ñайла. ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=1ÐРРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ð¸ÑаÑелÑ
ФÑнкÑÐ¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¿ÑогÑаммно ÑабоÑаÑÑ Ñ Ð¸Ð½Ð´Ð¸ÐºÐ°ÑоÑом доÑÑÑпа Ñайла. ÐÐ»Ñ Ñайла, Ð¸Ð¼Ñ ÐºÐ¾ÑоÑого задано в бÑÑеÑе FCB, ÑÑÑанавливаеÑÑÑ Ð¸Ð½Ð´Ð¸ÐºÐ°ÑÐ¾Ñ Ð´Ð¾ÑÑÑпа R/O (ÑолÑко ÑÑение), еÑли ÑÑаÑÑий Ð±Ð¸Ñ Ð±Ð°Ð¹Ñа 9 бÑÑеÑа FCB ÑодеÑÐ¶Ð¸Ñ Â«1», или R/W (ÑÑение/ запиÑÑ), еÑли ÑÑÐ¾Ñ Ð±Ð¸Ñ ÑодеÑÐ¶Ð¸Ñ Â«0».
ФÑнкÑÐ¸Ñ 31. ÐолÑÑение адÑеÑа паÑамеÑÑов диÑковода ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=1FÐ ÐÑÑ Ð¾Ð´: РегиÑÑÑ HL= адÑÐµÑ Ð¿Ð°ÑамеÑÑов диÑковода.
ФÑнкÑÐ¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð°Ð´ÑеÑа блока паÑамеÑÑов акÑивного диÑковода. Ðлок паÑамеÑÑов (колиÑеÑÑво доÑожек, ÑекÑоÑов на доÑожке и Ñ. д.) ÑазмеÑаеÑÑÑ Ð² BIOS.
ФÑнкÑÐ¸Ñ 32. УÑÑановка/опÑÐ¾Ñ ÐºÐ¾Ð´Ð° полÑзоваÑÐµÐ»Ñ (USER) ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=20РРегиÑÑÑ Ð= 0FFH (опÑоÑ) или код полÑзоваÑÐµÐ»Ñ ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= ÑакÑиÑеÑкий код полÑзоваÑÐµÐ»Ñ (пÑи опÑоÑе) или без знаÑÐµÐ½Ð¸Ñ (пÑи ÑÑÑановке). ФÑнкÑÐ¸Ñ 33. ÐÑÑмое ÑÑение ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=21РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= код оÑибки
ÐÑÑмое ÑÑение аналогиÑно поÑледоваÑелÑÐ½Ð¾Ð¼Ñ ÑÑÐµÐ½Ð¸Ñ Ñайла, за иÑклÑÑением Ñого, ÑÑо пÑÑмое ÑÑение позволÑÐµÑ Ð¿ÑоизводиÑÑ Ð·Ð°Ð¿Ð¸Ñи Ñ Ð¿ÑоизволÑно ÑказаннÑм номеÑом. ÐÐ»Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ Ðº ÑÑнкÑии Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑедваÑиÑелÑно оÑкÑÑÑÑ Ñайл и занеÑÑи Ð½Ð¾Ð¼ÐµÑ Ð·Ð°Ð¿Ð¸Ñи в поле номеÑа запиÑи пÑи пÑÑмом доÑÑÑпе (бÑÑÐµÑ FCB â байÑÑ 33 и 34, Ð±Ð°Ð¹Ñ 35 должен бÑÑÑ Ð¿ÑедваÑиÑелÑно обнÑлен, Ñак как ненÑлевое знаÑение ÑÑого байÑа ознаÑÐ°ÐµÑ Ð¿ÐµÑеполнение диÑка). Ð ÑегиÑÑÑе «Ð» возвÑаÑаеÑÑÑ Ð»Ð¸Ð±Ð¾ код оÑибки, либо 00Ð, ÑÑо ознаÑÐ°ÐµÑ Ð±Ð»Ð°Ð³Ð¾Ð¿Ð¾Ð»ÑÑное завеÑÑение опеÑаÑии. Ð ÑÑом ÑлÑÑае в бÑÑеÑе обмена ÑодеÑжиÑÑÑ ÑÑиÑÐ°Ð½Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ.
РоÑлиÑии Ð¾Ñ Ð¿Ð¾ÑледоваÑелÑного ÑÑÐµÐ½Ð¸Ñ Ð¿Ñи пÑÑмом ÑÑении поÑле ввода запиÑи поле номеÑа запиÑи пÑÑмого доÑÑÑпа в бÑÑеÑе FCB не изменÑеÑÑÑ Ð¸ пÑи повÑоÑном ÑÑении пÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÑ Ð¿Ð¾Ð²ÑоÑнÑй ввод запиÑи в бÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð° Ñ Ñем же номеÑом.
ÐÑибки, возвÑаÑаемÑе в ÑегиÑÑÑе «Ð» поÑле вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑаÑии пÑÑмого ÑÑениÑ, пÑÐ¸Ð²ÐµÐ´ÐµÐ½Ñ Ð½Ð¸Ð¶Ðµ:
- 01 â ÑÑение оÑÑÑÑÑвÑÑÑÐ¸Ñ Ð·Ð°Ð¿Ð¸Ñей;
- 03 â оÑибка пÑи закÑÑÑии ÑекÑÑего ÑкÑÑенÑа;
- 04 â попÑÑка оÑкÑÑÑÑ Ð½ÐµÑÑÑеÑÑвÑÑÑий ÑкÑÑенÑ;
- 05 â пеÑеполнение каÑалога (пÑи пÑÑмой запиÑи);
- 06 â ÑизиÑеÑкий ÐºÐ¾Ð½ÐµÑ Ð´Ð¸Ñка.
ÐÐ¾Ð´Ñ Ð¾Ñибок 01 и 04 вÑÑÑеÑаÑÑÑÑ Ð² ÑлÑÑае, когда пÑи опеÑаÑии пÑÑмого ÑÑÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑигнÑÑ Ð±Ð»Ð¾Ðº даннÑÑ , коÑоÑÑй до ÑÑого не бÑл запиÑан, или ÑкÑÑенÑ, коÑоÑÑй до ÑÑого не бÑл оÑганизован.
Ðод оÑибки 03 обÑÑно не поÑвлÑеÑÑÑ Ð¿Ñи ноÑмалÑной ÑабоÑе ÑиÑÑемÑ. Ðна Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑнÑÑа пÑи повÑоÑном ÑÑении или оÑкÑÑÑии Ñайла.
Ðод 06 вÑÑÑеÑаеÑÑÑ Ð¿Ñи ненÑлевом знаÑении 35-го байÑа в бÑÑеÑе FCB.
ФÑнкÑÐ¸Ñ 34. ÐÑÑÐ¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=22РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= код оÑибки
ФÑнкÑÐ¸Ñ Ð·Ð°Ð¿Ð¸ÑÑÐ²Ð°ÐµÑ Ð½Ð° диÑк даннÑе, Ð½Ð°Ñ Ð¾Ð´ÑÑиеÑÑ Ð² бÑÑеÑе обмена. ÐÑли ÑкÑÑÐµÐ½Ñ Ð½Ð° диÑке или блок даннÑÑ , в коÑоÑÑе поизводиÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑ, еÑе не оÑведенÑ, оÑÑÑеÑÑвлÑеÑÑÑ Ð¸Ñ Ð²Ñделение на диÑке. Ðак и пÑи пÑÑмом ÑÑении, Ð½Ð¾Ð¼ÐµÑ Ð·Ð°Ð¿Ð¸Ñи (33 и 34 Ð±Ð°Ð¹Ñ Ð² бÑÑеÑе FCB) не менÑеÑÑÑ Ð² ÑезÑлÑÑаÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑÑмой запиÑи. ТекÑÑий Ð½Ð¾Ð¼ÐµÑ ÑкÑÑенÑа и ÑекÑÑий Ð½Ð¾Ð¼ÐµÑ Ð·Ð°Ð¿Ð¸Ñи в ÑкÑÑенÑе вÑÑиÑлÑÑÑÑÑ Ð¿Ð¾ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ Ð½Ð¾Ð¼ÐµÑÑ Ð¿ÑÑмой запиÑи и заноÑÑÑÑÑ Ð² ÑооÑвеÑÑÑвÑÑÑие байÑÑ Ð±ÑÑеÑа FCB. ÐÐ¾Ð´Ñ Ð¾Ñибок, возвÑаÑаемÑе ÑÑнкÑией пÑи пÑÑмой запиÑи, иденÑиÑÐ½Ñ ÐºÐ¾Ð´Ð°Ð¼ оÑибок пÑи пÑÑмом ÑÑении, за иÑклÑÑением кода 05.
ФÑнкÑÐ¸Ñ 35. ÐÑÑиÑление ÑазмеÑа Ñайла. ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=23РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: УÑÑановка знаÑÐµÐ½Ð¸Ñ Ð² номеÑе Ð¿Ð¾Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи пÑи пÑÑмом доÑÑÑпе
ФÑнкÑÐ¸Ñ Ð²ÑÑиÑлÑÐµÑ ÑÐ°Ð·Ð¼ÐµÑ Ñайла, Ð¸Ð¼Ñ ÐºÐ¾ÑоÑого задано в бÑÑеÑе FCB, и возвÑаÑÐ°ÐµÑ ÐµÐ³Ð¾ в байÑÐ°Ñ 33-35. ÐозвÑаÑаемÑй ÑÐ°Ð·Ð¼ÐµÑ Ñайла на Ñамом деле на единиÑÑ Ð¼ÐµÐ½ÑÑе Ñказанного знаÑениÑ. ÐнаÑение пÑедÑÑавлÑеÑÑÑ Ð² запиÑÑÑ , Ñ.е по 128 байÑ.
ÐÑполÑзÑÑ ÑÑÑ ÑÑнкÑиÑ, можно в ÐºÐ¾Ð½ÐµÑ ÑÑÑеÑÑвÑÑÑего Ñайла добавиÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе запиÑи. ÐÐ»Ñ ÑÑого ÑледÑеÑ:
- полÑÑиÑÑ Ð½Ð¾Ð¼ÐµÑ (он Ñже ÑвелиÑен на единиÑÑ) поÑледней запиÑи пÑи помоÑи ÑÑнкÑии 35;
- вÑполниÑÑ ÑÑнкÑÐ¸Ñ Â«Ð¿ÑÑÐ¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ» Ñ ÑÑим номеÑом;
- заÑем вÑполниÑÑ ÑÑнкÑÐ¸Ñ Â«Ð¿ÑÑÐ¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ» нÑжное колиÑеÑÑво Ñаз, ÑвелиÑÐ¸Ð²Ð°Ñ ÐºÐ°Ð¶Ð´Ñй Ñаз Ð½Ð¾Ð¼ÐµÑ Ð·Ð°Ð¿Ð¸Ñи на единиÑÑ.
ÐÑли Ñайл запиÑан поÑледоваÑелÑно, дейÑÑвиÑелÑнÑй ÑÐ°Ð·Ð¼ÐµÑ Ñайла ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ñ ÑиÑлом запиÑей в нем. ÐÑли Ñайл Ñоздан в Ñежиме пÑÑмого доÑÑÑпа, и в облаÑÑи ÑазмеÑÐµÐ½Ð¸Ñ Ñайла ÑÑÑеÑÑвÑÑÑ Â«Ð´ÑÑки», Ñо ÑакÑиÑеÑкое ÑиÑло запиÑей менÑÑе, Ñем Ñказано в его ÑазмеÑе.
ФÑнкÑÐ¸Ñ 36. УÑÑановиÑÑ Ð½Ð¾Ð¼ÐµÑ Ð·Ð°Ð¿Ð¸Ñи Ð´Ð»Ñ Ð¿ÑÑмого доÑÑÑпа ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=24РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: УÑÑановка Ð¿Ð¾Ð»Ñ Ð½Ð¾Ð¼ÐµÑа пÑÑмой запиÑи
ФÑнкÑÐ¸Ñ ÑвлÑеÑÑÑ Ð¿Ð¾Ð´Ð³Ð¾ÑовиÑелÑной и ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð½Ð¾Ð¼ÐµÑ Ð·Ð°Ð¿Ð¸Ñи пÑÑмого доÑÑÑпа (байÑÑ 33 и 34) по номеÑÑ ÑекÑÑего ÑкÑÑенÑа и номеÑÑ ÑекÑÑей запиÑи. ÐÑименÑеÑÑÑ Ð¿Ñи пеÑÐµÑ Ð¾Ð´Ðµ из Ñежима поÑледоваÑелÑного доÑÑÑпа в Ñежим пÑÑмого.
РпÑимеÑÑ, в пÑоÑеÑÑе ÑабоÑÑ Ðº ÑÐ°Ð¹Ð»Ñ Ð¾ÑÑÑеÑÑвлÑеÑÑÑ Ð¿Ð¾ÑледоваÑелÑнÑй доÑÑÑп (ÑÑение/запиÑÑ) до ÑооÑвеÑÑÑвÑÑÑей запиÑи. ÐаÑем вÑзÑваеÑÑÑ ÑÑнкÑÐ¸Ñ 36 и вÑÑиÑлÑеÑÑÑ Ð½Ð¾Ð¼ÐµÑ Ð¿ÑÑмой запиÑи, и, наÑÐ¸Ð½Ð°Ñ Ñ ÑÑой запиÑи вÑполнÑÑÑ Ð¾Ð¿ÐµÑаÑии пÑÑмой запиÑи/ÑÑениÑ.
ФÑнкÑии 37-39 в СР/РвеÑÑии 2.2 оÑÑÑÑÑÑвÑÑÑ. ФÑнкÑÐ¸Ñ 40. ÐÑÑÐ¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸ÐµÐ¼ нÑлÑми ÐÑ Ð¾Ð´: РегиÑÑÑ Ð¡=28РРегиÑÑÑ DÐ= ÐдÑÐµÑ Ð±ÑÑеÑа FCB ÐÑÑ Ð¾Ð´: РегиÑÑÑ Ð= код оÑибки
ФÑнкÑÐ¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñна «пÑÑмой запиÑи» за иÑклÑÑением Ñого, ÑÑо пÑи вÑделении нового блока, он пÑедваÑиÑелÑно на диÑке заполнÑеÑÑÑ Ð½ÑлÑми.
СÑÑÑкÑÑÑа Ñайлов СР/Ð
РСР/Рпод диÑком подÑазÑмеваеÑÑÑ Ð»Ð¾Ð³Ð¸ÑеÑкое ÑÑÑÑойÑÑво пÑедÑÑавлÑÑÑее Ñобой некоÑоÑÑÑ Ð²Ð½ÐµÑнÑÑ Ð·Ð°Ð¿Ð¾Ð¼Ð¸Ð½Ð°ÑÑÑÑ ÑÑÐµÐ´Ñ Ñ Ð¿ÑÑмим доÑÑÑпом, допÑÑкаÑÑÑÑ ÐºÐ°Ðº ÑÑение, Ñак и запиÑÑ.
ÐÑе доÑожки диÑкеÑÑ ÑазмеÑÐµÐ½Ñ (ÑÑо вÑполнÑÐµÑ Ð¿ÑогÑамма ÑоÑмаÑиÑованиÑ) на ÑекÑоÑÑ Ð¿Ð¾ 1 ÐбайÑÑ. ÐÐ°Ð¶Ð´Ð°Ñ Ð´Ð¾Ñожка (за доÑÐ¾Ð¶ÐºÑ Ð±Ñдем ÑÑиÑаÑÑ Ð¾Ð±Ðµ ÑÑоÑÐ¾Ð½Ñ Ð´Ð¸ÑкеÑÑ) ÑодеÑÐ¶Ð¸Ñ 10 ÑекÑоÑов (Ñо еÑÑÑ 5 + 5 ÑекÑоÑов Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑÑоÑÐ¾Ð½Ñ Ð´Ð¸ÑкеÑÑ). ÐÑÑÑÐµÑ Ð½Ð° доÑожке наÑинаеÑÑÑ Ñ Ð¿ÐµÑвого ÑекÑоÑа. ÐеÑложно вÑÑиÑлиÑÑ, ÑÑо Ð¿Ð¾Ð»Ð½Ð°Ñ ÐµÐ¼ÐºÐ¾ÑÑÑ Ð´Ð¸ÑкеÑÑ ÑоÑÑÐ°Ð²Ð¸Ñ 800 ÐбайÑ.
Ðднако не вÑе пÑоÑÑÑанÑÑво диÑка оÑведено полÑзоваÑелÑ.
ÐогиÑеÑки диÑк ÑазбиваеÑÑÑ Ð½Ð° ÑÑи ÑоÑÑавнÑÑ Ð¾Ð±Ð»Ð°ÑÑи:
- ÑиÑÑÐµÐ¼Ð½Ð°Ñ Ð¾Ð±Ð»Ð°ÑÑÑ. Рней ÑазмеÑаеÑÑÑ BOOT-ÑекÑоÑ, ССР, BDOS и BIOS как единÑй блок, пÑедназнаÑеннÑй Ð´Ð»Ñ Ð·Ð°Ð³ÑÑзки в памÑÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа. Ðна Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ Ð½ÑлевÑÑ Ð¸ пеÑвÑÑ Ð´Ð¾Ñожки, Ñо еÑÑÑ 20 ÐбайÑ.
- облаÑÑÑ ÐºÐ°Ñалога, Ð´Ð»Ñ ÑазмеÑÐµÐ½Ð¸Ñ Ð¾Ð¿Ð¸ÑаÑелей Ñайлов. ÐÐ°Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿ÐµÑвÑÑ ÑеÑÑÑе ÑекÑоÑа на вÑоÑой доÑожке.
- облаÑÑÑ Ñайлов. ÐÑе оÑÑавÑееÑÑ Ð¿ÑоÑÑÑанÑÑво диÑка.
ÐÑоÑÑÑанÑÑво диÑка, оÑведенное под каÑалог и ÑайлÑ, оÑганизовано блоками поÑÑоÑнной Ð´Ð»Ð¸Ð½Ñ ÑазмеÑом в два ÑекÑоÑа, Ñ.е 2 ÐбайÑа. ÐÑо минималÑнаÑ, логиÑеÑки ÑÑиÑÑÐ²Ð°ÐµÐ¼Ð°Ñ BDOS, единиÑа измеÑÐµÐ½Ð¸Ñ Ð´Ð¸Ñка. ÐÑли ÑказаÑÑ Ð¿ÑоÑе, Ñо пÑи запиÑи Ñайла даже ÑазмеÑом в один байÑ â на диÑке Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ бÑÐ´ÐµÑ Ð¾Ñведен блок, Ñ.е 2 ÐбайÑа.
BDOS оÑÑÑеÑÑвлÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½ Ñ Ð´Ð¸Ñком (ÑолÑко поÑÑедÑÑвом BIOS) по запиÑÑм. Ðлина запиÑи ÑоÑÑавлÑÐµÑ 128 байÑ. Родин ÑекÑÐ¾Ñ Ð²Ð¼ÐµÑаеÑÑÑ 8 запиÑей. ТолÑко BIOS «знаеÑ» как в ÑекÑоÑе ÑаÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ñ Ð·Ð°Ð¿Ð¸Ñи. Ðз-за Ñакой двойной бÑÑ Ð³Ð°Ð»ÑеÑии «запиÑÑ-ÑекÑоÑ» конеÑно замедлÑеÑÑÑ ÑкоÑоÑÑÑ Ð¾Ð±Ð¼ÐµÐ½Ð° инÑоÑмаÑией Ñ Ð´Ð¸Ñком, но за Ñо более ÑаÑионалÑно ÑпаковÑваеÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ, а ÑледоваÑелÑно и ÑвелиÑилаÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°Ñ ÐµÐ¼ÐºÐ¾ÑÑÑ Ð´Ð¸ÑкеÑÑ.
РоблаÑÑи каÑалога ÑазмеÑаÑÑÑÑ Ð¾Ð¿Ð¸ÑаÑели Ñайлов. Ð Ð°Ð·Ð¼ÐµÑ Ð¾Ð¿Ð¸ÑаÑÐµÐ»Ñ (блок ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñайлом â FCB) â 32 байÑа. Ðн ÑодеÑÐ¶Ð¸Ñ Ð¸Ð¼Ñ Ñайла, ÑаÑÑиÑение и номеÑа блоков в коÑоÑÑе опеÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема ÑазмеÑÑила Ñайл и дÑÑгÑÑ ÑлÑжебнÑÑ Ð¸Ð½ÑоÑмаÑиÑ. ÐÑÐ¸Ð¼ÐµÑ ÑазмеÑÐµÐ½Ð¸Ñ Ð¾Ð¿Ð¸ÑаÑелей Ñайлов каÑалога пÑиведен в ÑаблиÑе 2. ТаблиÑа ÑÑловно ÑазбиÑа на две запиÑи.
Ð