Vous êtes sur la page 1sur 8

8086 MEMORY MAP 64 K 384 K ROM A0000H 640 K RAM ,K

ROM BIOS ROM BASIC Reser#ed ROM $ideo BIOS ROM $ideo RAM

F0000H - FFFFFH Present in older co !"ters

C0000H - C%FFFH A0000H - BFFFFH

&ser RAM

Resident !ortion o' (OS BIOS )nd (OS d)t) )re) Interr"!t $ector /)*le

$)ries *et+een ,- K to 40 K 00400H - 00.FFH 00000H - 003FFH

MEMORY SE0ME1/A/IO1

P)r)2r)!3s4 /3e Me or5 Address S!)ce 6MAS7 is di#ided into 6.8.36 6i9e98 ,08000H 7 !)r)2r)!3s9 E)c3 !)r)2r)!3 is ,6 6i9e98 ,0H7 consec"ti#e *5tes9 /3"s e)c3 !)r)2r)!3 st)rts )t ) !35sic)l )ddress +3ose ri23t ost 3e:)deci )l di2it is ;ero4
FFFFFH FFFF0H FFFEFH 00030H 000-FH 000-0H 000,FH 000,0H 0000FH 00000H ,0H *5tes ,0H *5tes ,0H *5tes P)r)2r)!3 -H ,0H *5tes P)r)2r)!3 FFFFH

P)r)2r)!3 ,H

P)r)2r)!3 0H

P35sic)l Me or5 Se2 ents: The address bus of the 8086/8088 is 20-bits. Hence the microprocessor uses 20-bit memory addresses; but its registers are 16 bits. The concept of memory segmentation is used to so !e this prob em of using 20-bit addresses in a 16-bit microprocessor9 /3e 8086<8088 !)rtitions its se2 ents9 e or5 into 6.8.36 !35sic)l e or5

A !35sic)l e or5 se2 ent is ) *loc= o' -,6 6i9e98 64K or ,08000H7 consec"ti#e *5tes starting at a paragraph boundary9

/3e se2 ents o#erl)! *"t t3e5 )ll *e2in )t di''erent !)r)2r)!3 *o"nd)ries9 All se2 ents 'ro t3e one st)rtin2 )t F00003 to t3e one st)rtin2 )t FFFF03 +r)! )ro"nd )nd end )t lo+er e or5 )ddresses9 Since e)c3 se2 ent st)rts )t ) !35sic)l )ddress +3ose le't ost 3e:)deci )l di2it is ;ero8 t3is di2it need not *e stored8 3ence ) ,6-*it se2 ent re2ister c)n *e "sed to store t3e re )inin2 'o"r di2its o' t3e -0-*it )ddress9 >it3in ) se2 ent8 ) e or5 loc)tion is s!eci'ied *5 2i#in2 )n o''set9 /3is is t3e n" *er o' *5tes 'ro t3e *e2innin2 o' t3e se2 ent9 Since ) se2 ent is ,08000H *5tes8 t3e 'irst *5te in ) se2 ent 3)s o''set 00003 )nd t3e l)st *5te 3)s o''set FFFF3 61ote4 O''sets )re "nsi2ned n" *ers79
/3"s ) e or5 loc)tion )5 *e s!eci'ied *5 !ro#idin2 t3e ,6-*it se2 ent *)se )ddress8 )nd ) ,6-*it o''set8 +ritten in t3e 'or se2 ent4o''set? t3is is =no+n )s ) lo2ic)l )ddress 'or t3e e or5 loc)tion9 For e:) !le8 t3e lo2ic)l )ddress A4FB448%-3 e)ns o''set 48%-3 +it3in se2 ent A4FB38 t3)t is8 t3e se2 ent st)rtin2 )t !35sic)l )ddress A4FB039 /o o*t)in t3e corres!ondin2 -0-*it !35sic)l 6i9e98 )*sol"te7 )ddress8 t3e 8086<8088 icro!rocessor 'irst s3i'ts t3e se2 ent *)se )ddress 4 *its to t3e le't 6t3is is e@"i#)lent to "lti!l5in2 *5 ,0H78 )nd t3en )dds t3e o''set9 /3"s t3e !35sic)l )ddress 'or A4FB448%-3 is4 A4FB03 A 48%-3 AB8--3 6-0-*it !35sic)l )ddress7 Bec)"se se2 ents )5 o#erl)!8 t3e se2 ent4o''set 'or o' )n )ddress is not "ni@"e 'or ) !)rtic"l)r e or5 loc)tion )s is t3e c)se 'or t3e !35sic)l )ddress o' t3)t e or5 loc)tion9 For e:) !le consider t3e 'ollo+in24 E:) !le4 For t3e e or5 loc)tion +3ose !35sic)l )ddress is ,-.6A38 2i#e t3e )ddress in se2 ent4o''set 'or 'or se2 ents ,-.63 )nd ,-4039 Sol"tion4 Cet D *e t3e o''set in se2 ent ,-.63 )nd Y t3e o''set in se2 ent ,-4039 >e 3)#e4 6)7 ,-.6A3 E ,-.603 A D D E 000A3 3ence ,-.6A3 E ,-.64000A3 6,7 6*7 ,-.6A3 E ,-4003 A Y Y E 0,6A3 3ence ,-.6A3 E ,-4040,6A3 6-7

6,7 F 6-7 ,-.64000AH E ,-4040,6AH

0,6A3

000A3

,-.63 ,-403

E:) !le4 A e or5 loc)tion 3)s !35sic)l )ddress 80F(-39 In +3)t se2 ent does it 3)#e o''set BF(-3 G Sol"tion4 !35sic)l )ddress E se2 ent H ,03 A o''set se2 ent H ,03 E !35sic)l )ddress - o''set Hence4 !35sic)l )ddress E 80F(-3 o''set E BF(-3 %.0003 /3"s t3e se2 ent is %.003 Pro2r) 6or Co2ic)l7 se2 ents A lo2ic)l se2 ent is !)rt o' ) !ro2r) !)r)2r)!3 *o"nd)r5 t3)t is lo)ded into e or5 *e2innin2 on )

6t3"s t3e *)se )ddress o' ) lo2ic)l se2 ent 3)s ) ri23t ost 3e:)deci )l di2it o' ;ero79 A lo2ic)l se2 ent is cont)ined +it3in ) !)rtic"l)r !35sic)l se2 ent9 Since t3e si;e o' ) !35sic)l se2 ent is 64K8 t3e ):i " si;e o' ) lo2ic)l se2 ent is 64K9 Co2ic)l se2 ents )5 or )5 not o#erl)!9

/3ere )re 'o"r t5!es o' lo2ic)l se2 ents4 Code se2 ent8 ()t) se2 ent8 E:tr) se2 ent8 )nd St)c= se2 ent9 /3e Code se2 ent cont)ins t3e instr"ctions o' ) !ro2r) 9 /3e ()t) se2 ent !ro#ides ) re)d<+rite e or5 in +3ic3 t3e d)t) o' ) !ro2r) c)n *e stored9 /3e E:tr) se2 ent is "s")ll5 "sed 'or d)t) stor)2e9 So e strin2 o!er)tions "se t3e E:tr) se2 ent to 3)ndle e or5 )ddressin29 /3e St)c= se2 ent is "sed 'or te !or)r5 stor)2e o' )ddresses )nd d)t)9 It is in t3is se2 ent t3)t t3e #)l"es o' t3e IP re2ister8 t3e Fl)2s re2ister8 )nd ot3er re2isters )re stored +3ene#er )n Interr"!t or s"*ro"tine c)ll occ"rs9 E#er5 8086<8088 )sse *l5 l)n2")2e !ro2r) "st cont)in )n e:!licitl5 de'ined Code se2 ent9 An 8086<8088 )sse *l5 l)n2")2e !ro2r) +3ic3 2ener)tes )n e:ec"t)*le 'ile

+it3 e:tension 9EDE "st 3)#e )n e:!licitl5 de'ined St)c= se2 ent9 S"c3 ) !ro2r) )5 or )5 not cont)in t3e ()t) or t3e E:tr) se2 ent9 An 8086<8088 )sse *l5 l)n2")2e !ro2r) +3ic3 2ener)tes )n e:ec"t)*le 'ile +it3 e:tension 9COM 3)s onl5 one e:!licitl5 de'ined se2 ent4 t3e Code se2 ent9 /3e St)c= se2 ent 'or s"c3 ) !ro2r) is i !licit9 /3"s t3e ):i " si;e 'or )n 8086<8088 COM 'or )t Asse *l5 l)n2")2e !ro2r) is 64K9 An EDE 'or )t 8086<8088 Asse *l5 l)n2")2e !ro2r) )5 cont)in "lti!le se2 ents o' ) cert)in t5!e? 3o+e#er onl5 'o"r lo2ic)l se2 ents c)n *e )cti#e )t ) ti e9 /o =ee! tr)c= o' t3e #)rio"s lo2ic)l se2 ents8 t3e 8086<8088 "ses e)c3 o' its 'o"r se2 ent re2isters to 3old ) ,6-*it !ortion 6c)lled ) se2 ent n" *er7 o' t3e -0-*it st)rtin2 )ddress o' ) lo2ic)l se2 ent9 /3e re )inin2 'o"r ri23t ost *its o' t3e )ddress )re i !lied 0000 *ec)"se ) lo2ic)l se2 ent st)rts )t ) !)r)2r)!3 *o"nd)r59 /3e CS8 (S8 SS8 )nd ES re2isters cont)in t3e code8 d)t)8 st)c=8 )nd e:tr) se2 ent n" *ers8 res!ecti#el59 /3e se2 ent re2isters !ro#ide t3e se2 ent *)se )ddress !)rt o' ) lo2ic)l e or5 )ddress 6i9e98 se2 ent4o''set )ddress74 CS4IP is t3e se2 ent4o''set )ddress o' t3e ne:t instr"ction to *e e:ec"ted9 (S4o''set is t3e se2 ent4o''set )ddress o' t3e *5te +it3 t3e 2i#en o''set in t3e d)t) se2 ent9 SS4SP is t3e se2 ent4o''set )ddress o' t3e to! o' t3e st)c=9 SS4BP is t3e se2 ent4o''set )ddress o' t3e *5te8 in t3e st)c=8 +3ose o''set is in t3e BP re2ister9 (S4SI is t3e se2 ent o''set4)ddress o' ) *5te in t3e d)t) se2 ent )t +3ic3 t3e so"rce o!er)nd o' ) strin2 instr"ction st)rts9 ES4(I is t3e se2 ent4o''set )ddress o' ) *5te in t3e e:tr) se2 ent )t +3ic3 t3e destin)tion o!er)nd o' ) strin2 instr"ction st)rts9 /3e se2 ent re2isters "st *e lo)ded +it3 t3e se2 ent n" *ers9 I"st +3)t #)l"es )re lo)ded is de!endent in !)rt on 3o+ t3e lin=er )nd lo)der 3)#e )ssi2ned t3e lo2ic)l se2 ents to e or5 loc)tions8 )nd on 3o+ t3e se2 ent re2isters 3)#e *een initi)li;ed d"rin2 t3e lo)din2 !rocess9 /5!ic)ll58 t3e CS re2ister +ill *e lo)ded +it3 t3e !ro!er code se2 ent n" *er so t3)t8 in conJ"nction +it3 t3e IP re2ister8 t3e !ro2r) Ks 'irst e:ec"t)*le instr"ction +ill *e re'erenced9 /3e SS )nd SP re2isters +ill )lso *e !ro!erl5 lo)ded i' t3e st)c= se2 ent is e:!licitl5 de'ined in t3e !ro2r) 9 The other segment registers, DS and ES, must be explicitly loaded by the programmer if they are used by the program.

Vous aimerez peut-être aussi