Professional Documents
Culture Documents
Sua Loi 200 Trong Pascal 70
Sua Loi 200 Trong Pascal 70
cho thc thi th nhn c thng bo li: Error 200: division by zero. Nu
em ng chng trnh source cho dch li vi Turbo Pascal 5.5 th li
khng c vn g xy ra.
iu kh au lng cho chng ta l Borland, cng ty to ra trnh bin dch
ni ting Turbo
Pascal, sau mt thi gian hot ng thua l quyt nh i tn thnh
Inprise Inc. v b ri mt s phn mm ca mnh trong c Turbo Pascal.
Version cui cng ca Pascal do Borland a ra l 7.0. Vic cp nht ln
version mi hn l iu khng thc hin c.
Tri li, nu l ngi yu thch ngn ng Pascal v mun i su vo ngn
ng ny, xin b mt cht thi gian cho mc Nguyn nhn, ni mi nguyn
cn ca vn trn c trnh by.
Nguyn nhn
Trc ht, c th tm c v tr gy nn li, chng ta hy dng on
chng trnh n gin sau:
Program Test;
Uses Crt;
Begin
Writeln('Hello');
End.
R rng, chng trnh ny ch vit ch Hello ln mn hnh. Khi cc bn
chy chng trnh s nhn c thng bo li: Runtime error 200 at
XXXX:0091. XXXX l a ch segment gy li, c th khc vi mi my
ty theo cc chng trnh np trong b nh. 0091 l offset ca on m
lnh gy nn li.
Nu bn b dng th 2: Uses Crt th chng trnh li chy mt cch "ngon
SBB DX,0
JC @@2
CMP BL,ES:[DI]
JE @@1
@@2: RET
Nh ti c trnh by phn trn, cc dng chn thm khng thc hin bt
c mt lnh g m ch n thun l lm chm vng DelayLoop li. iu ny
khng c ngha l ng h h thng s chm li m ch n thun lm chm
vng DelayLoop v gim s ln lp xung.
Lnh nguyn thy SUB v SBB ca vng lp c gi nguyn, cc lnh
DIV (sau khi lu ni dung thanh ghi AX, CX, DX bng lot lnh PUSH)
nhm lm chm hn vng lp. S d ti chn cc lnh ny l v DIV l lnh
tiu tn nhiu clock ca CPU (lnh mt nhiu thi gian thc hin). Bn c
th thm s ln DIV nu cm thy cn thit. Cui cng, lot lnh POP hon
tr li ni dung cc thanh ghi.
Bc 2. Chp tp tin SE.ASM t th mc \BP\SYS vo th mc \BP\CRT.
Tp tin SE.ASM cha mt s nh ngha cho qu trnh dch cc Unit ca
Borland (hay Turbo) Pascal.
Bc 3. Tin hnh dch CRT.ASM bng lnh:
\BP\BIN\TASM CRT.ASM
My s pht ra mt vi cnh bo v cch s dng tn bin. C "nhm mt
lm ng", chng c g nghim trng u.
Bc 4. Chy Borland Pascal v tin hnh dch (bm F9)
\BP\CRT\CRT.PAS to ra CRT.TPU. Chp CRT.TPU vo th mc
\BP\BIN.
Bc 5. Chuyn th mc hin thi qua \BP\BIN
Xa unit CRT trong TURBO.TPL bng lnh: