Mạng moơt chieău

Một phần của tài liệu giáo trình hợp ngữ nâng cao (Trang 77 - 78)

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

Một phần của tài liệu giáo trình hợp ngữ nâng cao (Trang 77 - 78)