Системное программирование на Ассемблере для IBM-совместимых компьютеров [А. В. Богословский] (pdf) читать онлайн

-  Системное программирование на Ассемблере для IBM-совместимых компьютеров  11.89 Мб, 49с. скачать: (pdf) - (pdf+fbd)  читать: (полностью) - (постранично) - А. В. Богословский

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]
  [Оглавление]

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


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