Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
24
1.Architekturaprocesorówrodzinyx86
zawartościrejestrubazowegoorazodpowiedniegorejestruindeksowego.Ten
trybadresowaniajestprzydatnyprzedewszystkimdoadresowaniaelementów
tablicdwuwymiarowych,np.
daneSEGMENT
tablica2DW100DUP(20DUP(?))
daneENDS
...
MOVAX,tablica2[BX][SI]
1.1.4.Segmentyprogramowe
Podczastworzeniaprogramuwasemblerzeprogramistadefiniujejedenlubwieleseg-
mentówzawierającychprogram,daneorazstos.Adresybazowesegmentówokreśla
systemoperacyjnynaetapieładowaniaprogramudopamięcioperacyjnej.Definicja
poszczególnychsegmentówodbywasięwprogramiezapomocądyrektywSEGMENT
iENDSwnastępującysposób:
<nazwasegmentu>SEGMENT<parametry>
...
...
<nazwasegmentu>ENDS
Każdemusegmentowinadajesięnazwę,którąnależypowtórzyćwdyrektywieroz-
poczynającejikończącejsegment.PomiędzydyrektywamiSEGMENTiENDSmożeznajdo-
waćsiędowolnaliczbaliniizzastrzeżeniem,żerozmiarsegmentunieprzekroczy64kB.
Wprogramiemożewystąpićwielesegmentówotejsamejnazwie.
Otoprzykładdefinicjisegmentówprogramowych:
dane1SEGMENT
A1DB100hDUP(?)
A2DW1000h
dane1ENDS
dane2SEGMENT
B1DWA2
B2DDA2
dane2ENDS
programSEGMENT
ASSUMECS:program,ES:dane1,DS:dane2
Start:
...
MOVAX,A2
MOVBX,B2
...
programENDS