Системное программирование на Ассемблере для IBM-совместимых компьютеров [А. В. Богословский] (pdf) читать онлайн Книга в формате pdf ! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
Цвет фона черный светло-черный бежевый бежевый 2 персиковый зеленый серо-зеленый желтый синий серый красный белый
Цвет шрифта белый зеленый желтый синий темно-синий серый светло-серый тёмно-серый красный
Размер шрифта 14px 16px 18px 20px 22px 24px
Шрифт Arial, Helvetica, sans-serif "Arial Black", Gadget, sans-serif "Bookman Old Style", serif "Comic Sans MS", cursive Courier, monospace "Courier New", Courier, monospace Garamond, serif Georgia, serif Impact, Charcoal, sans-serif "Lucida Console", Monaco, monospace "Lucida Sans Unicode", "Lucida Grande", sans-serif "MS Sans Serif", Geneva, sans-serif "MS Serif", "New York", sans-serif "Palatino Linotype", "Book Antiqua", Palatino, serif Symbol, sans-serif Tahoma, Geneva, sans-serif "Times New Roman", Times, serif "Trebuchet MS", Helvetica, sans-serif Verdana, Geneva, sans-serif
Насыщенность шрифта жирный
Обычный стиль курсив Ширина текста 400px 500px 600px 700px 800px 900px 1000px 1100px 1200px Показывать меню Убрать меню Абзац 0px 4px 12px 16px 20px 24px 28px 32px 36px 40px
Межстрочный интервал 18px 20px 22px 24px 26px 28px 30px 32px
[Оглавление]CHCfEMHOE llPOf PAMMHPOBAHHE
aa acceuonepe
AJISI
IBM-COBMECfHMbIX
IIep COHaJI h HhI X KOMIIhlOTepOB
CHCfEMHOE TIPOrPAMMHPOBAHHE
aa acceaonepe
WISI
IBM-COBMECfHMbIX
UepCOHanbHbIX K OMUblOTepOB
A.B.
6oroc~oBcKHH
MV1n " n a M SlTb "
COBMeCTHO C Pocc~1i1c KO-aMepHKaHCKHM yHH B e pC'1 T e TOM
rOTOBH T K Bbl,ny::Ky KHHr H :
1. '.lIl OJlKODCKllil K .3.
YoW u cmpacm u. B OJlR ecenennou. H eU3KeCTKOro l[HCKa; aecraanapmoro cIlop
MaTHpooaHHR AOpOlKKH JlHCKeTbi c ueJIbIO 3a1UHTbl 01' KOnHpOBaHHH; HCnOnb30BaHHH HOT KEY
8 pe3HJleHTHbfX nporpasoeax; Jlpmepa M ero 01'Jla.wFT) BepCHl
Bee CKa3aHHoe O'tHOCHTCJI H !( 3ToR KHHfe. Bee nptlMepbI OTJll)I(eHhl " npoaepesu RPM pa60Te
80
OT.
CDIKOIC BaIOJIb3OBaHHOIl JlaTepaT)'PW: .•....•.........••..•... ~ • . . • . . • . • . . • • . . . . .•
85
BCnOJlbaOBaHHWX" B lCHare •..••.• : , . . . . . . .
1IpO'IH'l'aHIIIiX
1tl110>KeHHH TOJIbKO B
84
CRHCOIC lCOMUI,II. AcceM6J1epa.
neKQHSI.
nOClUllUeHHhIX c.nel.tYJOQlHM sonpocaw:
1. HellOKyMeHTHpoBatlllYe
75
3aK.InolleHlle
DPBJIo*eHBe.
IQOO1I OCHOB8HO Ha tKaHKe
64
64.
65
• IIaMftII • • • • • • • • • • • . . • • • • •
3arpY*3-eMwe apaAaepw ycrpollCTB
, Uenb 3TOR KHHfM - lUlTb cBep.eHlUl no HeKOTOplJlM, He CJJHlDKOM xopomo H3l1eC1'111a1Y
BOnpocaw nporpaMMHpOBaIOOI AIUI KOMnbIOTepoB ceweltCTBa IBM PC H COBWecTHMlA( C . . . . .
63
67
69
npllMep 10. Onpe,!leHII•• co6cneBHOI'O HaJDI'IId
BBE)lEHI1E
86
3.30
no
5.0.
npHMep.bl
OTTpaHCJlMpOBaHbI
C nOMolllbIO
TpaHCJlJlTOpa MASM
(JapentCTJulPOSaHHaR rcprosaa JoIapKa cPHPMbI MlCROSOFT) eepcKH 5.10.
MTOP aapasee 6naroJIapeH BeeN. ICTO BOJhMeT Ha Ce6R Tpy,Q coo6111J1Th CBOe MHeHRe 0
tOllepnaY..H 3TOA KHKfH, BblCKa3aTb CSOH 33.Me\UlHRJI " npeWlO>KeHHJI.
moo
BIOS - C5a:JOBMI. CHcTeMa aaona/auaona (Basic Input Output System) ynpaBJJflJO~afl pa6oToA
4
nporpaMNa.
acex CTaJU1apTHbiX YCTpolkTB KOMIlbIOTCpa HI HH3KOM YJ)OBHe.
Ha1.{3JlbHOR MHHUHYHKUHH npepblBaHtuI lOh, A/'ISI ,lUfCKOBbIX YCTpOhCTB xepea
Ecna, no KaKHM-n1i60
npepblBaHHe 13h, .IVUI KJlaBHaryphi 16h. a NUl TJPHHTepa 17h. CePBHC BIOSa llOCTaTO'DfO xopouio
nonsrrxa 3arpY3HTb H3 n3Y BCTpOeHHbl}l HHTepnpeTaTOp BASICa.
lpH4HHaM, nanpnsrep H3-3a roro, 'ITO ororo IiHTepnpeTaTOpa HeT, KaK 3TO 06bl4HO 6blBaeT B
OnHCaH B mrreparype [2,3,4J, noerosry, scex HHTepecYJOQlHXCSI 3THM, aBTOp orcunaer
,,{aUIHHax xnacca AT H ssnne, 3TO TO)«e OKa3blBaeTCR HeB03MO)«HblM, TO 8bl,llaeTCH C006I)JeHHe
KHHraM, a TalOKe. J( IllHPQKO pacnpOCTpaHeHHORB Hawen crpaae nporpaMMe· "Tech
06 oWH6Ke HHTepnpeTaTopa H OCTaHOBKe KOMnbKHepa, nocne xero OH OCTaHaBnHBaeTCH.
Electronic Technical Reference Manual 4lHPMbI Flambeaux Software).
Ilpa
Hcnonb30BaHHH cepaaca BlOSa npOrpaMMHCT nonxen caMOCTOHTenbHO
xoppexrnsor HcnOJIb30BaHHeM pecypcoa CHCTeMbI,
cnennrs
Hcnonsaoaaaae cepaaca BIOSa noasonser
rpacIJH1-IecKHe anarrrepu
Kporae roro, nonsaoaanae cepBHCOM BIOSa qaCTO
cnoxotee, lJeM nOIlbJOBaHHe BOOMO)«HOCTSlMH H cepBHCOM DOSa. Oc06eHHo ora PaJHHUa 3aMeTHa
OPM coaaneaaa )lHClaKrH'IecKHM C'J'aHJlaPTOM B 6oJ1bwHHCTBe c.nyqa_
pacnonoacensr, Kal< npasano, BIOS Bif,ileOanamepa H BIOS )«eCTKoro JlHCKa. )TO CBfl3aHO C
ea RBMleTCR anarrrep EGA (Enchanced Graphics Adapter) AnSI useraoro M HGe (Hercules
MHoro06pa3HeM THIlOB saneoanarrrepoe H aziarrrepoa >KeCTKHX IIHCKOB. HeT CMblcna nOMelUaTb
Graphics Card) lUIH MOHOXpoMHoro aaarrrepoa. ,LJ;a.nbHeftWHM PaJBMTHeM UBCTHOro anarrrepa
HX B OCHOBHOH BIOS,
SlBnReTCJI VGA (Video Graphics Array). cnpoeKTMpoBaHHblA ,llJIR HCnOnb30BaHMR B MamHllax c
16-TM 6HTOBOA wUHoA H, CnellOBaTenbHO, ooJlee npoH380AHTeJlbHblA. KpoMe roro VGA
6
7
CO,Qep>KMT,
KaJ(
npasano, 3Ha\fHTenbHO 60JlbWHA 3KpaHHbdi t'5y4>ep, \fTO n03BOnHno ynytfWKTb
paJpeWaIOlJlYIO cnoc06HOCTb H YBenHlfHTb KOnHtleCTBO ijBeTOa B
namrrpe. Cenllac et>HpMOR IBM
paJpaC50TaH HoabIA BH.O.eoa.aarrrep - XGA (eXtended Graphics Array) C CyijlecTBeHHO JIY'UUHMH
paapemeasno,
B03MO)I(HQCTRMH, KaI< no
BHJleoa,namepbl MCGA
(Multi
Tal< Ii no Ha60py UBeTOB. KpOMe TOro SCTpeqaIOTCfI
Color Graphics Array) H,
noaonsao peaxo,
PGA (Professional
Graphics Adapter).
npH nporpaMMHpoBaHHH rpaet>HtlecKHX
aaarrrepoa 'faCTO npKXOllHTCJI nonb30BaThCSI
"HeaaKOHHblMH" cnoc06aMH BHlleOBblBO,D,a, TaKMMH
nenocpencrseaaoe
nporpaMMHpOBaHHe nOpTOB K
KaJ(
npJiMoR BblBO,D, B BHD.eOnaMJiTb,
ras nanee, Tax npHXO,D,HTCH nenars
H anpecoa
BIOSa
nonynJlpHble
nporpasoes,
HCnOnb3Y1QTCSI
1. VGA - OT 3BOh no 3DFh
2. EGA - OT 3COh no 3CFh
3. CGA - OT 3DOh ].(0 3DFh
4. MDA - OT 3BOh no 3BFh
B KOMnblOTepe
MO)f(eT .6b1Tb YCTilHOBJleHO lIBa BHlleoa,narrrepa EGA. B 3TOM cn}"lae
.
. anpeca noproa
BBOna/DblBo.na BTOPOro
OOecnetlHTb pa60Tocnoc06HOCTb
aaarrrepa
ne)KaT 8 oonaCTH OT .2COh no
2DFh.
QT06h1
nporpasea, paCC'fHTaHHblX Ha npHMeHeHHe C CGA H MDA, B
nOTOMY,
EGA H VGA npe.nycMoTpeHa
BOJMO)I(HOCTb pa60Tbl 8 pe>KHMax
CGA M MDA.
pa60Tae7 CnKIID(OM Me,llneHHO. 3TKMH "pMeMaNH nonb3YIOTcH MHOrHe
HanpHMep - Norton Commander,
XTREE,
npH 3TOM
KOMnWUJTOpbl et>HPMbl
roaopar,
'ITO
EGA H VGA "3MyJIHPYIOT"
roro, anarrrep VGA 3NynHpYeT
~
BORLAND
Bu.neoaruu1Tepax
cne.zU'IOJUHe anpeca nOPTOB BBo.na!BblBona:
BHneoa.1l3mepax
'ITO cepsac
THnOB BKJIeoa,naJITepoB. B
nOPTOB P33Hb1X
K npyrae,
pa60TY
npH pa60Te B TeKCTOBOM pe>KHMe BH.Ile06ycPep
Ilporpasoerpoeaaae
pa60T)'
aaarrrepoa CGA H MDA.
KpoMe
EGA.
pacnonaraercs no cAeJ;lYlOijIHM a.apecaN:
OB800h:OOOO - MA UBeTHbIX BHneoanarrrepoB 8 PeTHOM pe>KMMe;
BHJleoa.narrrePOB
OBOOOh:OOOO - A/lJl MOHOxpoNHblX BMeoanarrrepos K UBeTHblX BH.D;eoa,o;amepoB
~
NOHOxpoMHOM pe>KHMe.
nporpaMMHpoBaHMe
scex saneoaaarrrepoa
n03TOMY OflHCblBaTbCR 6yneT B O.!lHOM
ananrepos,
KaK MA
rexcroaoro, Tal< K
B TeKCTOBOM pe)l(HMe npaJJw
ecJIM He HaXO,lUn' no
JC
; ttK1'aBM conep......oe penteTpa
; COXpaHJleM penlCTp AL • AH
; HaJDNHJI MHICpOCX.....
a,qarrrep CGA
; MHIq)OCXeMbI
CRT 6845
; B8omoof CO,QepmtMOe pentctpa CRT HOMep OFh
: 8 pemcrp AL
; 06NeJ.u.maeM CO~""oe pe"1fCTp08 AH H AL
.XCHG
AH,AL
Olrr
DX,AL
; 80ccTaHIlBJIHBaeM CO,Q8pmtM08 pentCTp&
eMf'
AH,66h
; CRT HONBp OFh
; npoBepJl8M: npoM3OUIJUl JDII 38lBtCb B MHICpOCx..y
; 68451 T.e. HMeeTCJI JIH no aapecy B DX TaKaJI
JE
()U1T
~
r-r. . 'let1KJ1 CGA-ID
HOMep 14',,aqpm 00Sa
a.a.a... .QtICIleTllep nasa
; ~eM ynpaidietDce onepawtotUlCCI CMCT....
RF..TF
COAePlICHM08 penlC'Tpa
; 'UfTaeM H B KOTopIlIA I'1HUIeM COtlep»CHM08
arc)'TCTByeT
; 3arpywa. . 8 DX -.JIPOC coo6l,\1eHHfI EG~D
; 3arpylUl!IIloI 8 AH HONep ~YHKUHH JX)Sa .
; BwawBa. . ,IIIICfNl'J'Iep DOSa
; nepeIIOCA
; YBemf\fHBaeM
; nepelCQWI T8M caMbIM K
; ~ ynpaBIIeHHe onepauH~CHCTeM8
RETF
n ~ JUt
npoeepaeM, npe.qc:TuneH
;:nor pentCTp Bbl6paH H3-38 roro, 'ITO ON
; BIII30B cepBHca BHneoa,!l8.m'epa
: npoaeplleM 3HR'ieHHe BL (ecJIH He H3MeHWIOQ -)
; nepexOAHM Ha npoeeptey H&11l-f'"IHJI a.Qam'ePa
LEA
MaV
INT
nposepJleM,
SEARCH_CGA:
:
B 3TOA npou.BAYPe 8IIl6Mpatm:JI pentCTp
; OFh - pentCTp nono*etIHR 'O'PCopa(JDaCH8l"O).
npeACI'UlIIeH JIM RAlUTJ"eP EG,,,"
IEARCH--EGA:
J1H lIA8ffl'8PMOA
; JlOUCPOCXeMa
; Ecmt 6845 ecn.. C1I8AYeT
nepeXO,Q Ha BbIX~ H3
; nO,Qllpoll>8MMlll
'SE:ARCtLMDA:
&TC
MOV.
CALl.
SEARCH-6845 ; flpouelU'PM SEARCt-L.68 45 YC1,tHallnH.Nofi
JC
IT~-"GC
Ox, JB4h
i ...... nepeHOCa CF, ecJI.H He Ha);OJJHT fIC\
; ~ • OX nopTa 6845 T,e. nepexon
; OCYQlecna.nJleT
cpenaero paapeuieaxa onKH 6aJIT onpenenser '1CTh1pe
TO'llIO CTPYKTYPIlI Blt.lle06y$epa CGA. KOTOPYlO He06xo.QHMo Y\lHTblBaTb npa
HCn0nb30BaHHII
npsaoro
1llt.lleonaMlITH HI
naa
l(QCTynI K BHlteOOyljlepy 3TOro
II
O.QHOM
llallTe
OTo6PllllCaeTC;A B 640:8-80 6aJIT (HnJI
ananrepa,
RBnlleTCR
paaneneaae
050h
8
t5aJIT BHlleOnaMJlTH. B
CaMON
CTpoKK H306pillKeHHR 640. TO'leK.
XPllHllTCli BOCeNb TO'lCK H306palKellKJl;
. AHanoI1l'lHo B pelKllMe
cneaosarensao, ol(lla crpoxa
lIIeCTHa,[lU.ITHpH'lHoll CHCTeMe C'lHCneHHR).
cpeznrero pa3peweHHlI W\IIHlI CTpoKH H306palKeHHII 320:4-80 (Sm.
aB
pelKllMe HH3KOro p33pemelOOl 160:2-80 6m.
MOHHTOpoB).
160-100 TO'leK B 16 uaerax.
3ToT pelKllM He no.n.neplKllBa
eTCSI IjIYHKIJHIIMH BIooa. ·
4. PelKllM.HH3KOro pa3pewelOOl
pelKllMe
81i6paHHOro rpaljlH'ICCKoro pe_a; BCer.na O'T06PllllCaeTCli 8 80
CrpYJepa. KaK YlKe
256 KHJI06altr. Ec.mt
naMATH HeOOXOAHMoe Mil xpaHeHHII
uencro
1 10K.
xoarponnepy,
3KPaHa npH pa60Te B pelKHMe lOh, TO nOllY'lHM.
320-350
anarrrepaxa
nepenaxa
CXeMaTH'IecKH
EGA H VGA
npencraanena
perscrpax
JlaJIlIbIX
Ha pHCYHKax
",ellC.llY
II
nepenanaux npoueccopov
UeHTPaJIbKblM
nooueccopov
II
2 H 3.
6allT HJlH,
KpoMe TOro anamep EGA KMeeT ABe 3II¢YHKUHFI,
~
3aBMCRmaFi
>IOT COCTOFlHHFI rpa>
>
>
BH.lleOnaMATH B
anarrrepax
CaMON Jlelle,
BMeCTHTb naMIITb B
KaJ(
HCn0Jlb30BaHHeM llaHHblX. lIaxOlllllllHXCR B 3THX
lKe MIll IIOAC'lIfflleM ICOJUNeCl1lO onepaTKBHoIl
Y'llfTblBaII, 'ITO MA XpaHeHHJI OJIHoll TO'IKH TPe6YeTCli ROJlOBHHa 6al1Ta,
PPM611H3HTeJlbHO
H
serupe pera crpa-aauiemor, a npoueccop nonyuaer CBOH naHHble YlKe 113 3TIIX peracrpoa,
6KTOBbiX IInocKOCTeR C nOMo1Ub1O Al\HHbllC. HaxOJlRIUHXCA B 311lX perscrpax, a TafOl(e, B
I'OBOPKJlOCb
lIJllIITepOB ,EGA
B
VGA.
r.e, acero
BHlIeOIlllMllTK
KOMaHl\bI MOV), BbI KOllHPYeTe conepsoeeoe COOTBeTCTBYIOIlPtX 6aJlTOB 61lTOBbiX nnocxocrea
ralOll1HX Il pellOlMax BbiCOKOro paJpeweHHlI, OTBe.QeHO aapecuoe npocTPaHCTBO OT
OAOOOh:OOOO AO OAOOOh:OFFJo'Fh.
EGA H VGA (B 3THX pelKHMax) AlJllleTCII nOBOJlbHO c ilollOloll. B
256K
B OTlIe,IleHHOe AIUl aee a,I\PeCHOe npocrpaacrao 64K7
O'lCBHJlHa Heo6xoAHMOCTb xaxoro TO MeXaHH3Ma Mil peweHHlI 3Toll np06J1eMbi. BOT 3AeCb H
BBOllIITCIi MeXaHH3M 6HTOBbIX lUtocKOCTell
64K IlliMliTH H OTBe'l8eT. HJIH 38
(bit
planes). KaJlCAaII 6HTOBall nnOCKOCTb 3aHHMaeT
eocnpoaaeeneaae
OJIHoro H3 TpeX \lBeTOB (KpacHbllI, aeneHbllI,
CHIlHll), HnH aa HHTellCHBHOCTb HaOOPalIoPM8UH1O B BHAe06ycPepe, Bbi
MOllHcPHUHPyeTe, aa nene coneplKHMoe OJIHoll KJlH HecKOJlbKHX 6HTOBbiX nnocxocrea, a 'IHTali
c o nep lKHMoe BHlIe06ycj>epa, OllllTb lKe. 'IHTaeTe conep~Moe OJIHoll HJIH HeCKOJlbKHX 6HTOBbiX
nnocxocrea, lcITo HMeHIlO Bbi npo'llfTaeTe HJIH JlU1HWeTe 3aBHCIB- OT COCTOllHHII peracrpoa
BHlIeoKoHTPOnnepa, YCTaHOBJIeHHblX pelKHMOB '1TeHHlI/aartHCH, a TaKlKe, OT Taro,
KaKalI npena
JlYIlIaII OIlePaUHII BBOna/BbiBOIla BbIIIOJlHJlJlaCb. BalKHo TaJOI(e H TO, 'ITO 61r1'OBbie nnOCKOCTH
BaM
HaIlPllMYJO aenocrvmes. Karna 8bI BbIIIOJlHSleTe KaJKUHPOBaTh COOTBeTCT8YJOIUHIl 311eMeliTY
',l Kp alla l'ialtT. OJ1lIaJKHMbI
LJTeHHJll'3aI1HCH
EGA
~yHKUHIO, BbinOJUUleMYJO npH nepenase B BJUleonllMJlTb Han 6aJtroM JXaHHhIX npoueccopa H
co,nep)IQ(MblM (5Yc1'epoB ,II/UIHhIX BHJleOnatdHTH (ecJDI 6HTii 3 H 4 PaBlf1II 0, lUlHlf1IIe nepenaorca
Bno" r nase paCCMaTpHDaJOTcR rpa4JHlJeCKHe peracrpu xoirrponnepa EGA, ynpaana
:"!Wle pt"}t(HMa.M~ pa60TbI
'K
e 6HTOBblMH
rtJ1OCKOCTHMH (pe)KHMaMJt "neHHR/3anHcH).
Bee cxaaanuoe
f
B BMJIeonaMJITb 6e3 H3MeHeHHII; ecnH 6HT 3 pasea I, a 6HT 4 paBeH 0, TO BbII10JIHReTCR c1'YHKUHSI
I
1
I
Ii
Ii
]
19
nonorecxoe "H": eC'nH 6HT .4 paaex I, a 6wr J pasek 0 - 4>ytIlKalOTCR
3KpaH
CTpaHIfUIII;
o
o
1
1
3
2
M
liMT
3 onpe.aeJUIIOT. l111001
1 t
3Ha'leHHR
(SHTOB
2
H
3 a.upecaw
V
6a~T npoueccopa
0OI~>ll 1 0 0 1 1 1 0 1.
,1
-~-----
3
>10
o 0 ()b 1 1 0 1 111 1
BH,lIeonDurrH.
>10
1 0 1 0 000
0 0 01
0 10
2 Anpec BHJle06ytepa
0
1
0
1
P.rMCT~3a.enKK
>10
ua 3KPaH.
HH>Ke YK83aHO COOTBeTCTBHe
DHT
6M11:II
nnOCKOCTb 2
1
I,
Penterp 6 (peracrp.Q06aBowou.a:
OAOOOOh - OBFF'FFb
OAOOOOh - OAFFFfh
OBOOOOh - OB1FFfb
OBSOOOh - OBFFFfb
O.
PKC 4. Pe.HM ~TeHHR 0
Peracrp 7 (pefRCTP 3&llpeIIIeIIU 'lTeKIIJI peTa..... peI1ICTp tllJIbTPaUHB). 8 Pe>lQlNe
"lTeHHR
1 3anpelWleT nepeAa'l)' peTa.
IIJIH
HaCSopa UNTO., 8 npoueccop.
PerBCTp 8 (pel1lCTp 6HT0101 .....). F..cnH &rr
B
sro..
PerxC'J'pe
yCTaHOBneH B
1.
TO
COOT~CTBYJOQlHR llHKCeJlb 6a.11Ta ~e06Y~pa WOlUl4uruHWeTCfI onepa.gHell 3aDHCH. 3TOT
perHCTP pa6OTae'l' BO
scex pe*HNaX 3alIIlCH.
PemtM 'lreHHJI 1
I
,,[
B
pe)I(HN~ 'lTeHIUI
IKaJUHXCR B 6y«!»epHhIX
perxcrpax, BHJleoa.lWJTepoB cpUHHBaen:1I C co.aepXKHMe. HcnOJlb3YJl '1eTBepnaR pelllCTP (petllCTP Bhl60pa 6NTOBOR nnocKOCTH)
BH,lleoJKHN "lTeHHII AllJI paCCW8TP1Q1aeMbIX BHJleoa,rxanrepOB. CXeMaTH"IeCIOl OK
nOKa3aH aa
20
BW BIJI6Hpae1'e HOItIep &rroeoIIUlOCKOCTll, K01'OP)'lO BhI 6ynere "DITllTb.
pHCYHKe 4.
COOTBeTCTBYJOf,UeM 3TONY IlHJ(ce~
~.llHHHUa· CpuKeHHe npoH3BOJUtTCII He aenocpeacreeaao
C
MecTe. YCTaHaBJIHBaeTCR
lDUl:-~_~(j
OJ
PMC 8. Pe*HM aanHCH 1
24
25
MacKH MC00nb3YeTCJI l)e3YJlhTaT nollNeCKOro "H"
PeJKHM aanHcH 2
B 3TOM pe)KHMe
MJJallWaJI nonOBHHa
B perxcrpe UHICJIK'lecKOro C,nBHra tDlcno
6a&tra npogeccopa HcnOJlb3YeTCJI B 1Ca'leC1'Be
IJHKCeJUI
JVUI MOJlHcI»HKagHH Conep)KHMoro BHJleOnaMJlTM, npM'IeW B Bhlpa60TKe pe3YJlhTaTa yqaCTByJOT
perHCTP
UHKJlH'leCKoro
C,lIBHnl
.uaaHblX/Bbl60pa
fpacl»HlfecKHR pe>KHM aanaca Howep
2
4»YHKUHM H
penteTp
6HTOBOR
b
MaCKH.
~
.f*
aHaJlOrHlfeH RHKcenb-opMeHTMpoSaHHoJl·clK>Pwe pe)I(MM8
• • I0
B..bop "'YHKUH~
PerMCTpw
3~enKM
PerMCTp UMKnM~eCKOro
CABMra/BW6opa ~YHKUMM
~
* • *
UHK",,"8CKMA CABHr
0 0 0 0 0
6MTOBYe
nnoc~ocTM
11
1 1 100 001
>11 1 1 0 0 0 0
o
1 100 111
>11 1 1 0 0 1 1 1
1 100 1 100
>10 0 0 0 1 1 0 0
o
>10 0 1 1 0 0 0 0
1 1 1 0 0 0 0
1* • • *
1 1 0
6MTosaR MaCKa
01
6aMT npoueccopa
>10 0 0 1 1 0 0 0
1 1 000 110
>11 0 0 0 0 0 0 0
o
>10 0 0 1
0 1 1 101 1
OTJlMlfaeTCJI OT nKKCeJlh-OpHeHTHpoBaHHoro pe)I(HMa 3anKCM
0
rea,
3roT pe)l(HM
~
0 0 0
I
I
PerMcTp
YCTaHOBKM/c6pcCI
• neHcTByeT
rpa~HqeCKHR pelKMN 3anKCM 3 nonnep)I(J(B&eTCIi TOJlbKO a,nanrepilMM VGA.
.
>11 1 1 1 1 1 1 1
1 1 1 1 1 1 1 0
InorH~eCKoe
PeXCHM 3aI1HCH 3 (TOBbKO VGA)
0 0
000 1 1 0 1 0
/CDp
2
oTo
6MTOewe
nnocKocTM
• B 3TOM pe*lo1Me Ulo1KnH~eCKlo1M CnSMr He paboTaeT
PMe t. Pe*HM 3anHeH
Ha YJ(aJaHHOO
(Cw. pHe.10).
1J
,PerMcTpY
3.enKH
.
MaCKM
PerMCTp UMKnM~eCKDro CnBMra
n aHHWx/BW6opa ~YHKUMM
lo1r naHHblX
11 I J I
380HCH 0, B KOTOPOM BMecTO perscrpa YCTaHOBKHlc6poca yqacTByeT 6aAT npoueccopa (CM.
pHc.9).
6aJtra npoueccopa, CJ:uun«yroro
6aAT, H peraerpa 6HTOBOII
PerMCTp 6MToaoA
MaCKM
f*
***
f· ** *
0 0 0 11
J I
1 1 1
11
""" baHTa npouececpa H perHcTpa
Hi
-U-UlJ
68"T npoueccopa
6lo1T080~
MaCKH
6aHT npoueccopa
PMC 10. PeXlo1M aanHCH 3 (TOnbKO VGA)
'ITO B KalfeCTBe 6HTOBo&t
Z1
26
"ITeHHeJMO.llHtHKaUI'UI BH.Qe06y4qJa
AnR
roro,
ff;nncep 3.
MOV
MOV
'lT06bl npo\lHTaTb HJlH MOllllcPHUHPOBaTb co.neplKHNoe BHJle06YcPepa. HanO
'I,..... 6dTa
IU ~ aJlocaoc:TII.
DX,3CEh
AX, 020611
;':aaHOCMM •
J'l)a4*'leCKHe
peracrpu
BHJleOKOHTpOJIJIepa.CHa\f8JIa Bbl6MpaeM
PerHCTP
B KI'leCTBe
npHWepa ROKa3aH cPparMeHT nporpaMMbI. B ~OroPON itbl6HpaeTCJI pelKHN ,",eRMR
1
; peaHM aarJIIQI -
MOV
DX,03CEh
AL,05h
OUT
H pelKHM
MOV
oer
DX,AI..
DX. 03CF1l
AL.I0I0B
DX,AL
; 3aHOCItM • OX -.apeo nopn IAII60pa rpacPt'leC1CHX pemKHM 3aI1JICH. Tal< KaJ( OH
YCTaHaBJIHBaeTCJI .DB)'MJI 6HTaMH B TOM lKe rpa~M\leCKOM perscrpe aaarrrepa, !.fTO M pe>KHM
'lreHHR
(perHCTP 5 - perscrp pe*HM&).
,QmI aM'DIi
; &rroeoA MaClOl
SHR
8
Pa6ara c ,ltHCKBMH
; nollO*ettHe nHKceJlA.
CL. Dl.
01.., SOh
rpa4>H\(ecKHX peruerpoa
; Bw6panH pulMM '1TeH1U113aI1MCH
; BOCCTaHa&IIMB&. .
g,BeT mtkCe.n8. 8
DX
MaY
POP
: UP8C nopra IIlIl60pa rpacIJINecxoro pentctpa 3aHecJ1H •
; 3llHOC'HM B
~'IH ,Q8HHWX
HeT c,QIIHn, 3aMeQleHHe nHKCeJUI
; 3anHcamt II pentCTp Q,HIUIH'IedCoro cpBHnl
AL,8
INC
-POP
POP
POP
; 5 - HOtoHlp ~crpa pe»tN&
, aapec nopTB nepeAa'IH ,IIUtHIIIX rpa~ penlCTpOB • OX
: B AL BWfiJlUIHIIIA pemtM 3811HCMI'n'eHIUI
AH
MOV
MOY
OUT
BOCCT~ pentCJ'pIIII
;IIOCCT~OX
; IIIlI'IHCJIJIeM no.no_ettHe nHKceJUI B
OX,AL
pel HC'f'P8
; • At 0 •
MaY
MOY
K3
&rroIloA MOCICOCTII)
; 06MeK c:Dl.tePmrMOI" AX H ax
: penterp
oirr
POP
; a.QpeC
AL,O
DX,At
perncrpa
B -aeo6YcPeP: ceA'lac • penterpaX OX CMeQ&eHHe,
• ES tenIefrr lIH,Qe08yc11epa• ., AH _ ..... 1'lHK~. Tt!Ir1epI.. trTQ(Iiw rapaJfiHpoNTb 38I1HCb
nputU1IIIIOI"O 3IIa'IeHIUI .... AQ1IlDtlII CKOfBIPOU'J1I COA8pmtMOe 'Ie1"IIIPU napanneJlbHlllx 6aATo&
&rre:-ix nnoac:ocreA. icoropwe MIll co6Hpa8MCJII ~'J1I, • 6~e pen4CTpbI
"3aqI&IaoI" (Late:hee)
i ~
OUT
OX
MOY
HOMep
4tYHKUHH
..... "DOAtVr'08H11H rKJIIIIY" AM 3anHCM nmcceIUI
: BM'GICJIHM CNeIPfD"I ~y-.oro 6aATa OTHOCHTeJD>HO ; Ha'Wlol
MOY
PUSH
MOY
8III6apa pentC1'P8 3 :
: MaCXM
n-e ox
cnep&UHA C,QIIHra AeJ1IOlI DX Ha 8OCtIMb,
MOJIH~Y8MOI'O6aJtra O'I'1fCX'KfeJlllHO Ha"""& ClpoKH
stiR
OX,1
SHR
OX, 1
SHR
OX, I
POP
B nop1'
nap....
INC
: )'M"0. . . .
c nCJMOlllbM) 1'p8X
ADD
; nocnamt
; lPtKJIH'fecKoro ~BW6opa
MQY
MOV
Mtn...
DX, AL
; YCTaHalUJHllaeM
•
1 8 TOR no.1HUJOI. KYla
MIll
6y.Qet
3&lDtClllBaTlt
; IDUC:C8JIb
; coxpaHHeM penICI'P
OX, oJCEh
; anpec popTa BIII60pa
rpa~Koro
;OX
; 3Uf0Clel
B
AL HOMep pentC'I'p8
pentcrpa 3&Hee:JIH • pents:'I'P
UHJUlH'IecKoro ~. .6opa
cell 'lac
Hey.aOBJIeTBopHTeJlbHliMH, 8 CBR3K C 'leN B HaCToAlIlee 8peMJI·
pll3pa6O'rauo CSonbwoe KOJlH'ieCTBO l,lI8IITepos C YJl}"mlellHlJlMH xapaKTepKCTKKaMH. Puto,fep
ceKTOPa.QJUI
DL
DL
~pa C'lKTllIOTCJI
,Q8HHliX
BCeX a.aarrrepoB ~ R
512 6aJtr. AJwrrep nma Rll.
7.5 M6HT!ceK. a JKKe .o;OXO,llHT .0;0 60. HcnoJlb3YR anarrrep nma
THpoBaTb lUiCK npe,IJ;H33Ha~eHHblJt
4JUI
RI...L.
MO)l(HO lOOl
H 8IlIBOJIRI,QaR
n,...ep s. 'fTelflle Ta6.uqp,r puaua. .eicnoro
.r
CTPQeHHJO H HCnOnbJOBaHHIO onepauHoHHoA CKCTeMoM 3KBHBaneHTHO JUtCKCTe. Ta6nHWl
paanenoe )KCCT1IO 4lyHKUHH
MOV
MOV
MOV
36
BIOSa ilHTa. . nep8lolA ceKTOp lkecnc:oro ,/lHCKa
Dl, SOh
; SOh - .... 6ttpaeM lkecTKHR
00, 0
; HOMep roIIOIIKH - 0
CH,O
; HONSp IPfJIMHlJ,pa - 0
KOMl'IbioTepo8, 0lIHaK0 B tI&CI'ORQIee BpeWR HCI1OJ1h3YeTC"
WfCJ(
0
npHBe,lleH
J(
KpaItHe pe,mco. f1pHMep
llOJDICeH &rrb
nmy COM.
31
hplDfep 6. Hec:Tailaapnoe ................ aopo............
INTER
fORM
FORMAT
SEGMENT
PROC
FAR '
ASSUME
CI:FORM, f3:FORM
ORO
lOCh
BUFFER
AX.AX
DB
DB
PSP AIU! ICIGIIpa1'a
, • IX:. nacne C*OIMIHHIt nporpeNt6I
. . . . c6uen........-..x
512 DUP(O)
'
6Y+eP or-.c:aTelMlA ~8MOA
MaV
AH,O
INT
1311
PUSH
MOV
MaV
MaY
ES
,BX.00781l
MaV
BYTE P11IaiBX.4].1
POP
ES
lEA
BX.8UFFf.R
AX,OOOO
D.AX
.
;~.....,.
MOV
AM,!
MaV
cxs
" Ha'WlO q.MIUIa
lOOP-.BEGIN:
•
MaV
MaV
MaV
MOV
ADD
INC
4»)'tfIq,pGO
; 1IIoIlIOJ1HJ.n1t
; "dSpoc" JVIJ1
INT
ADD
ERR,1
; YHJ1H'MT1o
CMP
ERR,3
; ~ . . 0IaI&at. TO
1£
JMP
ERIL-PRINT
; nepexOll k l1e'4aTH Coo6l&&eHMlI
INTER
; nonopttu
LEA
MOV
DX,TEXT
: ~CTBKJI npH OWH6Ke 4loPNa-ntpouHHlI
; :JaJ"P:Y3K. ~. coo&ueHHlI
!~H,09h
; aIIi:J ES
;. npo'lKl'UH 6aAT CTaT)'c.
Of7h
AL,8
npoaepWTK, H.",au lUI KJlaBKWa I'd. T
POP
POP
ES
AX
;
8OCCTaHaBJ1HBa~'"
pente'TPW,
: KT)'HIn.ra.
ECJIH Ott HII ~'! 0 , T'" WhI lI axOllHMC A • CHc'reMe
BYTE ITrR ES:[BX1,0
CM?
PUSH
pop
JNZ
awBoA INF0 2
LV ,
no.ro.:>oaa'lbCJl
cs
ES
INJYSTI.M
01, BUFflll
MOV
MOV
MOVSW
; Y C T _ 1l&I1pa000"ou, pa6WII. ....
DI
C;X
npoutUl:)'PY ew»OlI.I
T'eIlCTa " . :oocpa.1
MASM 5.10)
'iJ
52
MOV
.IMP
SHORTW,oJTING
LEA
J1l, BllFffR
; n epex o A tt.a O»tHJl ll HH e' H. lKaTH JIII
K1l a.unlnt
T81ept> YCT.HOIIIW
MOV
.
IN_.SYSTI:M:
OlD_CS. ES
: ~ • I1lIIUTH
caoII .-crop npepwautKll l/Ilr 0Ilh
AX. 2509h
; ~ DOSa 26h (AH"Z5h). yCTaHOlIHTb
; aetTClP ~ 9h (AJ..09h)
OOC.....HIIa. . nporpaMNY. ~
pe:»IlIeH11l)'lO
'Ulc:n.
• nape pontC11lClII ml:DX _ _ &.m. ~ ~ mTopu Q!:'I'B81'ClI ~ . . . . . .
lIJIlI os • IlaI1IeR rtpOIl)AMN4I no Tpe6oauoM ~ . UTOManN8CICH
LEA,
OX. PROCESS
; 3UIecnt • pontCTp OX IIAP8C pe:tHAetmtoIl
Sl • • 00h
ex. L....J NFOI
:'UlCTH~ .
; _
2111
ll'olr
l¥lClleT'MIp
DOSa lIJIlI IlIIIllOJDteIIH
: 4!)'HKlIIIH
!lX,START
LEA
; -..cnt . OX ~ ........
;~
II'olr
; ,an>naIlH CbIIIIl.... no anpecy £S.OI
. TP"6yrow lIM
BEGIN
C11J'OlCY
CTpooo:Il INFO1
B
DpIINepe
9
rJptIIIeneHa IJPOI1lIUOoIll ~ npeJJIlIBIIIHe
BlUOJPR B1III10JIHeHHe 41YHKWU1
; aJ:PIOC 11'aAna
. ' ,
pe:MI*lpy-. N8CTO A1UI CXDtCa'I"elUI (HANDLE) 4>aAna
KOlIJoI KOMaHA: II03BpaT Kaprnol. nepeaoa CTpOICH
M
54
.....
~
..
"
..,..~
pe3HlleHTHaR "IaCTb nporpaMMbl
PROCESS:
CMP
J2
JMP
AX,4BOOh
MYJROG
01..0-21
; Io40AY nb, 3anHCblIlaJOIW1A
; 4>aAn HISTORY
MY _ ~PROG :
; CO Xp&lIH" II
8bl3b1BaeTCJI JUt DOS ,Q/UI BbKlonH8mUl
; 4>YHKWlH "JAIl'Y3H1b H OblnOJJHHTh"
; (LOAD ANO EXEClJfE)
; ecnH Aa - nepeAnl H. Haury nporp.....y
; OCJ1H "'" - OT AaTb ynpasn...... e llHCn"""epy 00Sa
; nposepaese,
ace HcnoJlb3y.....e
PUSH"
AX
PUSH
BX
PUSH
CX
PUSH
OX
PUSH
51
PUSH
DI
PUSH
BP
PUSH
OS
PUSH
ES
CT8IB
II
LEA
INT
MOV
INT
POP'
POP
AH,42h
2lh
OX
OS
; HOMep aSlna II n....rr ..
; tinoK 3anHCH" .. ettH 311A11'IH II aSlna. COXpaHll.... 8'0 II nllM"'"
HcnQJIb:JyeN 4>yKKUJOO 42h - npo'lHTaTblYCTaHaAJul
MOV
OX, HANDLE ; 3aHeCTHOOHCaTenb ""'Ana II OX
MaV
AL. 2
; CllBHrlI110 )'lCll3llTeJ1b allnll:
; 0 .. O'T H."Iana;
; 1 - OT TelaRnll e OX
; Ho",ep YHKUHH B pemcrp AH
: 1lOI:I0iI IlHCntl'Nepa DOSa IlnA 8I>II10JIHetrnJl
: H,,",""Hoe Ha:JBaHlie - Memory Arena
YkaaaTenb (4 6allTa - nm IlaJ1bHHll) Ha nepebllr 6.IOk napaMeTpoll
/lHCKa DPB HnH (Di.k Parameter Block).
YKaaaTenb Ha nep8YJOTa6nHUY OTKpbITbIX cjlaAnOil.
Yl KOJIH'IecTso CetCTOpoB.
KonH'lecTBO pe3epBHbIX ceKTopoB Ha QHCKe. nOKa3b1BBeT
KOnH'lecTBO pe3epBHbIX ceKTopoB ar HB'Iana H3H4eCKoro
QHCKB 110HB'Iana nont'lecKoro ycrpollcTBa. ProepBflbIe ceseropa
MoryT co/leplkaTb HHoPMawoo 0 lIeneHKH H3H'lecKoro
YCTpOACTBa aa norn'lecKHe (Ta6mtua pa3IIenOB lkecTKOro
jlHCKa - Disk Partition Table)
KonH'lBCTBO KOIlHA FATa. 06b1'1"0 2 .
KonH'lecTBO TO'IeK BXOJl3 B KoptteoolljIHpeKTopHH (Root
8
Uln- MS-DOS
HOMep nepeoro yCTpOl!a, o6c.nylocHBaeMoro apaABepoM.
HOMep nont'lecKoro yCTpOl!a, xoropoe OIlHCblBaBTCIl 3THM
DPB. Ecmt 3TO H n~ee none COllepllaIIJIa
Ontoarrenbllblll HOMep l1OCJI_ero npo'Ml'aHHDrO KJJaCT'ePa
191>
OW
CJ\08O
18h
OW
CII080
A6cClJlJCmlJ>lll HDMep noclleAHero npo'MI'aHHDrO IUUlcrepa
IDh
IFh
OW
cnoeo
DB
CJID1lO
HoocepcmrropB, COAepalllllero DIRECTORYEJo(ffiY nom cjlalIna
HONep DIRECTORY EJo(ffiY 3TDrO cjlalIna BHYJllH CetCTOpll
20h
DB
11 6aAT
HWR cj>allJla.' 3"""CBHQ B lIHlle: H..... paCIIIHpeHHe, nj>H.._
2Bh
00
7
2F11
ow
ABoIInoe
cnoeo
CJIOII()
HDMep ceTetloII _
(SHARE.EXE)
Clloeo
cnoeo
C~eHT PSP B1JaAeIJI>UlI 4>aIIJIa
IIHY"J1IH
I.--.-...-....... ,.,...~.,.~ ....
Ta6.nHul>l
I~
I ABDAHoe
OCI>UIlIIOI,\jICJI HB 3TOT
0'l1CpI0mlIX 4>aIIJI0a.
FeB.
ATpM6YT cJ>aAna
CJI080 lOtcj>opwBijIa1lJla)
ecJDl
OW
or nwetat.
7
AIIHH&
CJIOIOO
3H&'IHT, '"" He MBf:UI8TC• .aaTaI~ nOCJlBAHerD 06ttOBJlBHHA
I ApallBepoB),
cJ>aAna
p&CWHpeHHB He OTAenetlO TO' 256 l5aRT,
MaX
llOOTOwy B lIPO'lJaM
TMna COM TpC6YeTCli nceaaooneparop ORG lOOh. pe;JepBHPYJOQPlR MeCTO 1'.lJlI PSP. B
nporpaxxax nJo15oro THna.
KaJ(
EXE. TaK II COM, anpec PSP B WOMeHT crapra 00:0000.
CJI0110
cnoeo
CTp)'kT)'pa PSP.
none He HCnOJ\b:JYeTCli.
CMe'l,letille
Ta6JIKua nyrell ycrpoRcn
B KaJep CetaAnoe
IIJ1P"C n6Jntw,l OT1CPwno< cj>aAnoe
CeoletrT Ta6Jntw,l oncptorTblX cjlallnoll
He HCnQJIb3)'eTClI
KoAW KONaHA: I!'IT 21h, RE11'
24 6altra
36altra
CJIOIIO
He HCflOJIb3YeTCll
76alh"
paclIlHpftfHe FCB1
96a1tr
76a1tr
96a1tr
FCB1
oKPYlKeHHlI
DOSa
(DOS Environment). 3To none
DOS
TaKHM
4IoPNe
H3
C'TJlOIOI
OONAG.8YS
H
AtrrOEXEC.BAT
08
OT OCTllJIhHblX '1eTblpeX6aATOBOII
DlGGER.COM,
Ham npHMep
6YlleT
'COMSPEC-D:\OOS\COMMAND.COM';O
'PAlli-C:\DOS;C:\;D:\USER;D:\;',O
'PROMPT $pig' ,0
'HELPPAlli-C:\THEL!",O
'TMP-e:\TEMP'.O
0
1"
DB
DB
DB
DB
DB
DB '
DB
DB
8
0
'D:\GAME\DIGGER.COM',O
ASCIIZ CTpOK (CHMBonbHIiX CTpOK OKaH'IHBaJOJ,UHXCR HyneN)
nepBaR CTPO'IKa.
scerna liMelOQIalICR
II
"PAm··•. "PROMP'r."SET
MMR- ",
Tax, HanPHNep.
EXE -
HEADER
DOS Environment,
OOMMAND.COM,
EXE M
8M "OOMSPEC·nyTb K 41aJ1ny OOMMAND.COM". Bee OCTaJIbHble nOJlCTpOKH aanon
HRIOTCR KOIoWfJWoOI
~rp3MMbI. BJlaneJlbua naHHOI'O
orneneao
OOP330M nOnHOCTblO, AJUI nporpaMMbl
(~)'lI(eHlle DOSa, p&CIllIIpelDle DOSa)
~ MecToHaxolKlleHHe KOMaHJlHOro llHTepnpeTaTOpa - nporpaMMbl
HNeeT
nonea
ablrnaaers TaK:
Environment - CHNIIOJIbHaJI CTPOKa; C03.IWOQIalICR AJUI KalMOR nporpllMMbl 8
Ha60pa
H3 3TMX
KON_U C'TpOkA
onepanmHoAnaMRTII H conepllCa/WlR CBeneHHll H3 41aJ1n(\B
IIEPEMEHHA.R·3HAlffiHHE.
HMJI
nocnenaero
DB 0.0.1,0.
OOS-Envlronment
Dos Ei!vlronment
it
nocJl~
noCnenOBaTenbHOCTbIO;
FCB2
lI/lHH& KONat\IlHOA
erapuie 3.0.
pacnonaraerca none. coneplKalUee nonHbdl nyTI,
pactUHpeHHe FCB2
16alh"
127 6aItr
Mil DOSa BepcHII
ecJIH
4laRn CONF1G.sys
3aIUlCblBaeTCII
HEADER, aaronosox
sa
llHCK
41aJ1noB THna EXE. C03JlaeTCR
aenocpencraeuno nepen
41a11J1oM
penaxropou
CBII3ell H
rsna EXE. Hcnonsayercs
HaCTPQIIKH nporpaMMbI THna EXE, no KOHKPeTHbiM anpeClIM nawrrH,
Mil
nenocpencraeuao nepen
CTapToM.
CO~CTpOKy:
SHELL·D:\DOS\COMMAND.OOM,
CTJlYJl'6YJ01.1leAclI A/UI plL3Mel,IjettH"
IJIlOI1>aMN'" naMJrTH
:>arpY3lCa B NnBlllUHe (Of'F'ffh) HJIM B CTapl1lHtl (011)
anpeca naMlITH. EcnH He 0 H He Of'F'ffh. TO To",e
c ....oe , If'TO H npe.BWAY1llee none, NO MaKCHNa..nhHoe
66
til
Ifp.... ep 10. OnpeAenetlHe co6cBemtoro H&JUI ..... B DaMJrTH
PROC
· MOY CS:OWN--"SP. CS
SELF-SEARCH
OEh
OW
enODO
10h
12h
OW
OW
cnOBO
enooo
14h
16h
OW
OW
CJlOOO
enooo
ISh
1M
lCh
CNeIIIetfHe CTel(OBOm cen.tetrra (SS) CTHOCHTeJ1bHO HcnOJl
"ReMOra NO.rlYnil
3Hl14eHHe SP B NONeHT crapra
KOHTPOJlbHan CY"'Ma cnoa B ljIalIJJe. o6t.NHo He Bblpa6aTbiBaeTCII.
He HcnOJJb3yeTc.A H He npoeepse-rcn
3Ha4eHHe c'te-NHKa KOM3Hl!
CMes,g,eHHe CerMeHTa KOMaH,Q
8 WoMeHT crapra nporpaMMbI
CS OTHOCHTenbHO
HcnoJIHReNoro
NOllYJlII
CNeI,IIetfHe nepaoro 3JIeMeHTa Ta6nHIIbI nepeMellleHHA
HOMep oeepnea. 0 - ecnH OCHOBH3JI nporp.....a
Ha'lanO Ta6nHIIbI nepeMBllleHHlI
cnoeo
lOW
OW
IP
enOBO
JMP
READ-SELL..NAME
SELF-NAME .
DB
4OhOUP(7)
NAMF-StilfT
DW
7
N~..ENGTIi
DW
DW
?
: 3af"OJlOBOK npouB/lYpbI
: npeAl1on....... 'ITO B CS HaXOAHTCJI anpec
; co6cnleHHoro PSP Hawell nporpaNloIbl (BeJlHO .
; lVlJI npo",aNM THO. COM). coxpaHJIBM 3TOT
; 3llP"C. B R'leIlKe ODep&THIlHoII DaNlrnt
; 06XOll 06naent A/lHHbIX DOllDpl
READJELF-NAME:
MOY. ES, CS:[2Ch)
Penaxropa CBR3eR HPMbI "BORLAND" (TI.JNK) n03BOJUlIOTC03DaBaTb EXE-Header c
•
paJMepOM HeKPaTHhlM
nporpasoay, n03BOnlilOJUYlO onpeaenars conepsoesoe
onepanmHOR naMm1l. TaM KaK CYlUeCTBYIOT npol"paNMbl HeCOBMecTHMble npyr C npyroM. KpoMe
roro,
rpaNOTHO HanHCaHHalI pe3HJ1eHTHali nporpasosa, 'IT06b1 HeB.o3MoJKilo 6b1no CJJY'IaRHo
33lIYCTIfTh ee MHoroKpaTHo. llOJllKlla 6b11U1
6hI
OTCJJelKllBaTb: He 6h1J10 nH pansme 33lIYCJ
-m...a-
MOvsa
:
co6c. _ _ ...... nporp8MIoCW
MOY AH. 52tl
'\ _ _ +)'IIIlIIHJli DOSa 52h _
I!'IT
2ItI.
; npcHrrB"Ib ~ HH4loPw&wuc>
MOY ES, WORD P'm ES:[BX-2).' : 11PO'IJfTB"Ib Bl\P8C nllJ*lrO Mea
CAlL SEARCtLN£X"L..MCB
'ITO 31"3 nonnporpasora
./C
QUIT
: - - I1OllIIporp&IoIMy J10HCKa
: cn8llYllllJl«e> MCB
'
: 8CIIH MeB noc:n~, TO Itllew ... -X0ll
69
68
CAll.. CHECIL PSP
; Bbl3blBaeM nonnporpaseey, nponepRIOIJlYIO,
; nanJleTCR J1H BJ1aneJlbueM 6 noKa naM,"", PSP
jC
CALL
; ecnH HeT, TO nOHCK
5EARCH.--MCB
CMP~AME
jNZ
NOT_OWNJ>SP
CJleJlY1OlIIero Mea.
; ecJIH IlJlllll81l"!l 6n0lU He Hawa nporpasesa,
; nepexon
; Bbl3bloaeM nonnporpaMMY~ CpaBHHBaJOJ,UYIO tlMli
; HaweR nporpaMMY C ~MeHeM an8.lleJIbua noro
TO
Ha cPaBHeHHe HWeIl
CF
STC
; YCTaHBBJIHBlI.... ljInar
RET
; BblXOIl H3 nOMporpaMMbI
; MOKa
jC
SEARCH~CB
i npH Hecoona,neKHH HMeH nepexoa Ha OOHCK
: C,1ell)'1011lero
NOT _ OW N-PSP:
; 6noalBBlOIlleA npol'pBMMe
CMC
: YCTaHaBJII1BaeM
RET
: 803BpBJ,IlaeMCA B IlbI3IoIBllIOl,jjyJo nporpBMM)'
5EAR CH ~EXT~CB
ADD
PROC
BX, ES
BX, ES:[3]
INC
BX
MOV
MOV
CMP
jNZ
STC
RET
05
;cOXpaHeHK8ES
; 3BJ1HC_eM B ES cen.e..,. DOS Environment
; IlJlBJl8JlbllB 6noKa naNlmt (MCB)
PUSH CS
; \fep83 CTeK 38I1HCllllBaeM COnepmtMDe
Os
; riocblJlaeM B BX anpec MCB
; 1l061lBJtJ1l!M KGIIH'IecT1lO 3llpe3epBHpoB&HHoA :n1iM
MOV
CX , NAME-LENGTH
; 6nOKOM naMHTH
INC
CX
LEA
MOV
51. 5ELF ~AME
Dl,NAME-SHlFT
CMP
AX , AX
REPE
CMPSB
NOT -SAM~AME
; peniCTpB
e6poc""'CF
jl'o1Z
. RET
: KOIII!U nollOporpaMMbI
:nOHCKB MCB
CHECK.......PSP
.
MOV
CMP
P5, ES:[1)
jNZ
CLC
IU:.'
NOT J>SP
QUIT _ CMP ~AME
JMP
; ~ellYP& npollepKH - BJlal\81IlOU
PROC
MOIU n.....".
IJPOfllJlMMIoI
51 ~ HWeHll HSWell lJPOI'l'
; lIOCW1aeM B DI CM8Ill- ar Ha'lana DOS
; Environment 110 Ha'fllJla HWeHH n~_
; YCTBHlIBJ1HIIlI_ ljInar ZF (He06xo/lHMO W1JI
; pa6on.l npecjlIlJnar
: CF - a, 3aHHMaeMl>lll CBMlOoI
;MPKOlol
ES, BX
: nOCblJlaeM II/lpec MCB B ES
BYTE P11l ES:[O), 5Ah : npoeeps.... - nocne.narCF
NOT-LAST:
; (.pa8HllHHe HIoletl HaweA nporpBMMbI H BnB,llenbUa
MCB
; HJl"
~ BblXOA
NOT-SAME~AME:
; yCTlltlOlIKlIH CF - IIC8 xopowo
STC
:-PSP?
; noCIIIJ1'UIM aJlPl!C BJllllI81Ibua B peolCTp ES
; ~ ~ rn ~ ~ lIeiITa
; BJl8IlflJlbua KOIl I!'IT 20h
: nepeXOIl, llCJ1H BJI81l81l"!l 6nOKa He PSP
WORD P"ffi 05:[0), 20CDh
; 0'UfC1'1(.8
QUIT _ CMP~AME:
BOCC'l:aHBBJlHBBeM Cel"MettTHbIe pentCTPl>I
pop
POP
cj>nara CF
; B03lIpBT B Bbl3WBa""ll.)'lO nOllnpoll>aMMY •
; CJI)"ae, llCJ1H BJllllI81I1!U 6nooc.a -
PSP
CMP~AME
SELF-SEARCH
ES
OS
RET
ENDP
ENDP
; BblXOll H3
no,qnporpaMMbl
; llOHau nollOJ>OIl>BMIoIbI
NOT:YsP:
. ; YCTaHOIIISP
ljInara CF
.; IlO3Ilp2T B IIJll3bIII8lO\W nollnpol'p&>OCY •
: cn)"a8, ecmt Ma.nenI!U 6nOKB - He !'SP
RET
CMP ~AME
PROC
: ROllnpoll>&MMB npoeepKH HWeHll
~ 'WnIP" onepaTOP" C1Iymn' IlnA npcmepKH: He ~ 1IH 3'T'OT 6J:"" ynpaaIMHUI
HaWeA IlpOIl)&):lM8
MOV
CMP
3aq>)')K8eMb1e npaA8epbI YC1pOAcTB
; KOHI!U nOllJ1POf"PllMMl
ENDP
AX.05
AX. OWNJ'SP
: noro 6noa)')KaCMbIX npaABepoB n01llKHbl
.uPARBEPA
H
HH«!>oP~YeT CHCTeMY 0
'llUle H B03MOllCHOCTRX 3arp)'lKaeMoro llPaABepa. CMellle
HHe(OFFSE1) 3lIroJIOBKa .npaJIBepa OTHa'lana
.
.
.
xona llPaABepa acerna nOJDKHO 6b1Th paaao HYnIO.
CnenYJOlllaA 06R3aTenbHaA
'1aCTb npaABcpI HI3b1BaeTCA 06b14HO nPOUE.QYPA
.
~
3
4-5
6
1
,
1
-
.
ClFAlElIH HJIH ClFAlBlUI II CJIy>KHT lUUI ncpel\a'IH llPaI!oepy KOMaHnbI II naHHbIX.
a TaJOKe
l11IR nOJIY'leHKR OT npaAoepa KOna B03BpaTa II .aaHHbIX.
Ilocnenasa
06bl'1J10 nPOUE.QYPA rIPE
npeanaraerca B 'i>a 3arOADaU ,lQ>&lI...,.
nanil
BHT 3Ha'lCHHC CMblcn
o
3aI1>)')KaeMoro npaltBcpa.
CIol8l,\l ........
YCTPOACTBO' ABJIAeTCA crannapmbIM ycrpoACTBOM
BBOAa (KJlaBHaTypa).
YCTpoACTBO ABnAeTCA CTaHLlaPTHblM YcrPOACTBOM
BblBOAa (AHcnneA).
YCTPQIICTBO RBnAeTCA YCTPORCTBOM THna NUL
(OTna.ao'lHblA npaRBep).
.
CHCTeMHblc '1acbI. ·
PC3epB VtOJDKHO 6blTb xons),
YCTPol!CTBO nonncplKltBaeT YHKUHH OOh - 0Fh 4>YHKUHH DOSa 44h). .
PC3CPB (llOJUl(eH 6blTb HOJlb).
YCTpoACTBO noll1tMleT KOMaHAb/ OPEN/CLOSE.
P~3epB ():lOJUl(eH 6b1Tb Honb).
YCTPOACTBO nonnepsoieaer BblBOli OlJfPlIT UNTIL BUSY.
.QpaABep nonAeplKHBaCT ynpaaneaae YCTpoRcTOOMC nOMOlllblO
KOHTponbHoA CTpoKH ynpasncHIUI BBOnOM/BbIBOlioM (IbcTL).
npll3HaJ( CIIMBOJlbHOro llPaRBepa.
1
12
13
FAT.
14
15
YcrpoAcnlo noMCPllOOlleT 32-x 6HTHbIII pa3MCp a.npeca CCKTOpa (Ha'IHHaA
C DOSa 4.0).
PC3CPB (nOJDKCH 6b1Tb aons).
YCTpOllCTBO nonneplKHBaeT 4>YHKUJlH DOS 3.2.
PC3CPB (nOJl)l(eH 6blTb HOJlb).
.
YCTpoRCTBO nOHHMaeT KONaHllbI OPEN/CLOOE.
PC3epB (nOJUl(eH 6b1Tb HMb). '
YCTpoACTBO onpenenser THn HOCHTenR, nposepaa 6attr Il,QCHnt4>HKaTOpa
o
.
-
.
,IlpaABep nOlUleplKllBleT ynpaaneaae yCTpoRCTBOIoI C nOMOlllblO KOIffpoJlb
HoA'CTpoKH ynpaaneuaa BBono¥lBbIBOnolol (l0CTI.).
.
6nO'lHblA ApallBCP
73
Ilpouenypa
Ilpouenypa crpareraa
t lpoue rryp a npepblBaJlHR J\uIllKHa ananasupoaars sanpoc Jlpatloepa. nonysars xepea Hem
4epe3 np OueAYPY crparerna, B nap e peracrpoa ES:BX, 3arpy)KaeMOMY apaasepy
nepenaercs anpec aanpoca npaaeepa (D RI VER REQUEST), B KOTOpOM COJlepllGlTCR KOMalUla,
np CUlla3lta4 t>HltblC ell
np ellHaJHa'leHHaR MR acnonneuaa npaneepox, H He06xoJlHMble MR 3TOll KOMaHJlbl JlaHHble. B
.1"10
TO lKe none 3aHOCHTCR KOJl aoanpara, Oblpa6aTblBaeMblll JlpallBepOM H JlaHHble
)t{CCTKYIO CI PYKTYPY J\nll Ka>l.
BblBOII c rar yca (OUTPUT STATUS). TOJlbKO MR CHMBOJlbHblX npaaeepos.
O'fI1CTHTb RblBOJl (OUTPUT FI.USH) . TOllbKO Mil CHMBon bHblX IlpatlBepOB.
K OMallJla " BbiBe CTH CTpOKy yupaaneuaa OBOAOM!BblOOJlOM" (IOCTL OUTPUT).
75
ODh 13
OEh 14
OFh 15
lOh 16
13h 19
17h 23
18h 24
Bunomorr» KOMaHJ:\Y " OTKPblTb YCTpoRcTBo" (OPEN DEVlCE).
Bsmomerre KOMaHJlY "aaxpure YCTpoRCTOO" (CLOSE DEVICE) .
KOMaHna "CMCHHTb aocarem, " (REMOVABLE MEDIA).
Buson "noxa 3aHlIT" (OUTPlJf UNTIL BUSY).
YCTpoRcTOO nonnepsoreaer KOMaHJlY GENERIC IOCTL REQUEST b1
lOS
SI. REQUEST
; 3arpy",aeN 8 napy peracrpos OS:S! ylaT""" H8
; :sanpoe Aj>aAeepa
XOR
MOY
SHL
BX.BX
at, OS:[SI'2j
; O'litlll3eM penlCTp OX
; B pentCTp OL 38H0CHN IlJf---.STATIJS
OlJT1>lJf---.fl..USH
IOCll.--OtJT1'lTr
DEVICE-OPEN
DEVICE-CLOSE
REMOVIL.MEDIA
O_U-.B
8 DUP(EXI1')
4>YHKUJOO IIHItUJC&1IH3&I ~
(NIT:
jlpalIBepa•• none co CMeIII- 0Eh ~.~ TlHKHBaTb npouecc HHHIJHanH3auHH lIpallBepoB.
Caaxana B 6y$ep 3arp)')KaeTCSI TeKCT lIpallBepa, 3areM cPoPMHpyeTcSI aanpoc na BblnOJlHeHHe
KOMaHlibI INIT, 3aTeM nepenaerca ynpaaneaze npouenypaM crparenos H npephlBa.HIUI. npH
pafiore B OTJl3JI.'1HKe HYlKHO cPaJ¥ lKe
3anYCTHT~ 'nporpaMMY
C TO'lKOR OCTaHOBa CS:l000h, tI
Ha'lHHaSI C noll TO'lKH rpaccapoaare HCnOJIHeHtle npouenyp erpareraa (nepBbIIl Bbl30B nma
CALL FAR
B nporpaseae) H npepsrsanaa (BTOpoR Bbl30B THna CALL
FAR
B nporpasese),
78
79
ECTeCTB eIlHO. nOCKOJlbKY JTa
KHHra RBJllleT CR n OC06HeM, 3TOT nplIMep ynpOlu e H aa
OM
HaCTOJlbKO. lIaCKOJlbKO , T O 6b1JlO ' BOJMOlKHblM .
DRJVER.-SEG
ENDS
STACK....5EG
TOP-STACK
STACJC.SEG
SEGME."'IT
OW
ENDS
8000h 0UP(7 )
STACK
80 0h DUP(?)
OTJlaAICY
; C'T" K (p""Mep CTeIoPMaUUH B KOMlllllHoIl C"Jl'OKe
XOR
CX. CX
; 04Hl.llaeM pentCTp CX
MOV
CL. OS:[80h)
; 3aHOCHM D perucrp CL WUfHY KOMallllHoIl CTpOIaAllepa
LEA
01, DRIVEIL.NAME
; 3&HOCIDC &AI"'" C'TJ>OKH lIJlJl HMetfH llJ>&llaepa B
; pentCTp DI
MOV
SI.82h
; D penicrp SI 3aHoao.t anpec Ha4ana HMetiH
; jlpaIlBepa (lIJlJl ynpCll,\leHHR TeIlCTa nporp_
e.rr..bIX
os,
: npe.anono......, lfTO
coo6l.11BHHR lIbIJlaB3.eMble nporp....... oIl
DB
OOh, OAh. 7
MESSAGL1
,
DB
9. 'nYCTAH KOMAHJlHAH CTI'O KA!'
DB
ODh, OAh, 'S'
'
rviESSAGL2
DB
DB
DB .
.......................................................
n p.... ep 12. 11"".."....... o6J1e..... lOlllu
DRJVEUEG SEGMENT
DRV -BUFFER OW
MESSAGE.....3
OOh,OAh,7
9 , 'HEBEPHOE HMJl J.\PAnBEPAJ·
OOh. OAt.. 'S'
nepea ItMBHew
HOT JDO.I1HHX
; npo6enoo)
CLD
H8"1aJ10
"; YCTllHaitJIHllaeM HanpaanBHHe pa6anl
; KOMaHll
MOV
AX.OATAJEG
MOV
ES. AX
UHKna "ITeHHH
;ES
LOOSB
; C'UnblBa....
~'"
; IU\HUHlUIH:lHpy- perMCTp
READ --.NAME:
6allT ""
CTpOCOI
no anpecy OS:S! II fU, .
CMP
JZ
QUlTJ.OOP
; nposepReM. He npo6en J1H 7J'O
; eenH npo6en - BblXo,Q H3 UHKJUl
lOOP
READ~AME
; nepexQ,Q It Ha4any gHlUla
MOY
BYI'E PTR ES:[Dll. 0
; C03A&eM CTJ>OICY TIlDa
; (OIWI'IH8I&IOIII)1OCJI 0)
JMP
LOAD---.DRY
; ecnM arcyTCTBYeT CTpOKa AM
; ~~, TO cpmy nepexQlP4 HlI 3alpY:lKY
AL,2Oh
; 3&11M,CWBaeM CltMBOn B CTpOKy HMeHH
STOSB
npaAoepa
ASCIIZ
IMP
~e
;
FORM-REQUEST:
MOV
ax, HANDLE
; 3aJq>b188eM 4taAn, co.Qep*lU,WtA
AH.3Eh
; OTnamtBaeMbfA .QPaAaep
MOV
INT
21h
: (ott 4laAn HaM t'5o.m.we He HYlkeH)
3&HOCHM B none STR1NG.-ADDR anpec crpoKH H3 "CONFlG.SYS"
; ,apaABepa
(8 HameR nporpaMMe - B.IJ.Pf!C CTpOKH CONFlG---STRJNG)
MOY
MOV
WORD PTR STRIN(L..ADOR, OFFSET CONFIG-.STRING
WORD PTR STRlNG-MlDR[2l, ES
AJUI 8bI3OBa npouellYP CTpBTentH H npepwBaHHJI 4xJpMHpyeM a.npeca 3THX npoue.nyp
MOV
STRATEGY~, OS ; ceNetrr KO,Q8. 3aJl))'lkIleMOrO
MOV
I!'offfiRRUPT-.-.SEC, OS :.npaAaepa ceij4ac paseK OS
MOY
AX, DS:6
; 6epeM H3 3aronOBKa .QpaABepa
MOV
STRA1CGY,AX
. :8JU>8C& nlXl'le.Q:YP CJl)8T81'MH"
MOV
AX. OS:8
. ; npepblBaHH:JI H 38HOCHM HX •
MOV
INTERRUPT, AX
: CMeQletfHe .QJUI 8bI3OB& npoue.nyp
nOMel,\JaeM 8 penlCTp ax a.npec 38Dpoca .QP~aepa
LEA
B~. REQUEST
JMP
START-DRIVER
AIIR y.Qo6cTBa pa60Tbl c OTn~'lHKOM ycraHlUlJJHBaeM, &JlPeC lOOOh
ORG
lOOOh
QUIT---.LOOP:
Tefloepit
UHKJI C'Dn1IIII&IIMJI c:-rpQtnt WlJI CONF1G-STRJNG
LEA
RFP
01. CONF1G......sT'RlNG
; 8 pentCTp 01 Mpec
AH,3Dh
; llIII3III8lIeN
crpotSa 4Ch 0
BbfXOJJ; to
nporp8MMltl
; BblDOJ1HJJeM 4tYKKUHIO
ENDS
BEGIN
END
3aH8C8M •
; nepeXOWtM Ha 4q:lMHpoaatIHe 38J1POCa
0IIIH&cH orrt!I&UI IIIIIIlO.IutM coo6Iaemce H nepex04HM Ha KOHeu npoI1J8MMbI
MOY .
OX, OATA.....SEG
; DOMeIIPeN anpec coo&,geHHJI
MaY .
OS,
nap)'~
LEA
ox, MESSAGEJ
; DS:OX
MaY
AH, 09
; ~. cIIYJtKUHJI - 8IlI8Oll
INT ' 2 1 h
; ~ Ha 3Iq)8H
,[{JUI HcnoJlb3OBaHIDI
noR nporpaMMbl, ee HalIO 33lIYCTHTb no,ll ynpaanemteM KaKOro-JIH60
OTJIaA"lHlKaneHHJO, aBTOp 6bU1 orpaHHt{eH
ace aonpocu, npenCT3BJUlIOlUHe HHTepec
He TOJIbKO
KaJ(
HJPYJllKY.
06~MOM
Programming. Prentice-Hall lntemational. Inc.
KHHrH H, n03TOMY, He C)'Men H3J10)I(HTb
1987. London.
NlR 'feJlOBeKa. >KenillOJUero HCnOnb30BaTb KOMnblOTep
no H KaK cepbe3Hbdt
HHCTP)'MeHT. O,QHaKO,
aBTOP HCUleeTCH, 'ft'O KHHra
3.
\{T06bf
OT HHX 6b1J1a JTaT
0
0
0
0
I
1
1
0
1
I
1
0
- CKaHHpoBaTb Uenorc~! 'repne rca.
,lleHCTByeT Ha lImarn OF, SF, ZF, PF It CF.
SHR
oPt, CL
- ClllJHHyrb COllepJkI'iMOe onepauaa OPt H2 CL srrpaeo. Cvapunn- cr.
TepllIOTCJl. ,lleHCTByeT aa rpJlarn OF, SF, ZF, PF H CF.
'SIlT
npu 3TOM
- YCTaHoBI1Tb qmar nepeaoca CF.
STC
90
91
KOMllblOn:PHblE KYPCbI nPOn'AM M HCIOB
MOCKBa 1992-1993 roll.
MaJlGe HllJlHlI!tJtYaJlbllGe npe,lJ,llpllllnle "n8NJlTb"
I. C.. CTe.. Hoe nporpa......pB2lme Ha Ac ceM6nepe, 8 epene M S- DOS. npollonJ.nrrrJlbHOCTb
roTOlIHT I: H3,o,a1ll1l0
ocypcou - 11D
Последние комментарии
10 часов 17 минут назад
11 часов 12 минут назад
11 часов 15 минут назад
22 часов 6 минут назад
22 часов 8 минут назад
1 день 10 часов назад