DIV BX OVERFLOW
Toán tử giạ INCLUDE
7.1 Mạng moơt chieău
Mạngmoơtchieăulàmoơtdanhsáchcácphaăntử cùnglốivàcótraơttự.Có traơttựcónghĩalàcóphaăntử thứnhât,phaăntửthứhai,phaăntửthứba... Trong toánhĩc,nêuAlàmoơtmạngthìcácphaăntửcụamạngđượcđịnhnghĩalàA[1}, A[2],A[3}... Hìnhvẽlà dưới đađylà mạng A có6phaăntử.
Index 1 A[1] 2 A[2] 3 A[3] 4 A[4] 5 A[5] 6 A[6]
Trongchương1chúngtađãdùng toántửgiạDBvàDW đeơkhaibáomạng bytevàmạngtừ.Vídú,moơt chuoơi5kýtựcóteđnlàMSG
MSG DB ‘abcde’
hoaịcmoơtmạngtừWgoăm6sônguyeđnmàgiátrịbanđađùcụachúnglà 10,20,30,40.50và60
W DW 10,20,30,40,50,60
Địa chưcụabiênmạnggĩilà địachưcơsởcụamạng (baseaddressofthe array).TrongmạngWthìđịachưcơsởlà10.NêuđịachưoffsetcụaWlà0200hthì trongboơnhớmạng6phaăntử nóitređnsẽnhưsau:
Offset address Symbolicaddress Decimalcontent
0200h W 10 0202h W+2h 20 0204h W+4h 30 0206h W+6h 40 0208h W+8h 50 020Ah W+Ah 60
Chương 7: Mạng và các chê đoơ địa chư 81
Cótheơđịnhnghĩamoơtmạngmàcácphaăntửcụanócócùngmoơtgiátrịban đaăubaỉngphép DUP nhưsau:
repeat_count DUP (value)
laịpláimoơtsô(VALUE) nlaăn(n=repeat_count) Vídú:
GAMMA DW 100 DUP(0);táomoơtmạng100từ màgiátrị banđađùlà0.
DELTA DB 212 DUP(?);táomoơtmạng212 bytegiátrịchưaxác định
DUPcótheơloăngnhau,vídú:
LINE DB 5,4,3DUP(2,3DUP(0),1) tươngđươngvới:
LINE DB 5,4,2,0,0,0,1,2,0,0,0,1,2,0,0,0,1
Vịtrí cácphaăntửcụamoơtmạng
Địachư cụamoơtphaăntư
û c ụamạng cótheơđượcx
á cđịnhbaỉngcáchcoơng
moơthaỉngsôvớiđịachư cơsở.GiạsửAlàmoơtmạngvàSchưrasôbytecụamoơt
phaăntửcụamạng(S=1đôivớimạngbytevàS=2đôivới mạngtừ).Vịtrícụacác phaăntửcụamạngAcótheơtínhnhư sau:
Position Location 1 A 2 A+1xS 3 A+2xS . . . . . . N A+(N-1)xS Ví
dú : Traođoơiphaăntửthứ10vàthứ25cụamạngtừW. Phaăntửthứ10làW[10]cóđịachưlàW+9x2=W+18
Phaăntửthứ25làW[25]cóđịachưlàW+24x2=W+48 Vìvaơy có theơtraođoơichúngnhưsau:
MOV AX,W+18 ;AX=W[10] XCHG W+48,AX ;AX=W[25] MOV W+18,AX ;completeexchange