РуЛиб - онлайн библиотека > Богословский А. > Системное программирование > Системное программирование на Ассемблере для IBM-совместимых компьютеров > страница 6

Читаем онлайн «Системное программирование на Ассемблере для IBM-совместимых компьютеров» 6 cтраница

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