Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Structura MCB. Structura PSP. Variabile de mediu - limbaje de asamblare
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
1. Structura MCB

Sistemul de operare atribuie la cerere programelor (sau chiar sistemuluide operare) blocuri de memorie, fiecare din acestea avind un bloc de control(MCB= Memory Block Control), format din 16 octeti, situat inaintea zoneiutilizabile propriu-zise, avind structura de mai jos.

Adresa relativa Nr. octeti Semnificatie

0 1Identificator bloc, poate avea valorile: - 'M', indica un bloc curent;- 'Z', identifica ultimul bloc alocat. 1 2Adresa de segment pentru PSP-ul programului caruia i-a fost atribuit acest bloc; are valoarea 0 pentru blocurile eliberate ; 3 2 Dimensiunea blocului curent, in paragrafe de 16 octeti (fara MCB); 5 11 Neutilizati.

Exista functia 52H care imi intoarce in ES:aBX-2i adresa de segment a MCB.De aici se pot trasa toate blocurile aferente programelor aflate in memorie(vezi aplicatia 1)

2. Structura prefixului de program

La incarcarea unui program (COM sau EXE) in memorie pentru executie,DS:0000 si ES:0000 reprezinta adresa de inceput a, asa-numitului, prefix alprogramului (PSP). PSP-ul are o lungime de 256 de octeti si are aceeasistructura, indiferent de tipul programului incarcat.

Structura PSP-ului

Adresa relativa Nr. octeti Semnificatie

0 2 Codul instructiunii INT 20H; 2 2 Adresa sfirsitului memoriei exprimata in multipli de 16 octeti; 4 1 Rezervat; 5 5 Instructiune CALL FAR spre punctul de intrare in DOS, corespunzator functiilor sistem; 0AH 4 Adresa de revenire in SO, utilizata de apelurile DOS INT 22H si INT 4CH; 0EH 4 Adresa tratare CTRL-BREAK; 12H 4 Adresa de tratare a erorilor critice 16H 22 Rezervat pentru DOS; 2CH 2 Adresa de segment a unei succesiuni de siruri de caractere ASCIIZ care contin descrierea unor informatii de sistem (asa-numitul environment); 2EH 46 Rezervat pentru DOS; 5CH 16 FCB pentru primul parametru; 6CH 20 FCB pentru al doilea parametru; 80H 1 Numarul de octeti din linia de apel a programului (fara numele lui); 81H 127 Linia de apel a programului din care s-au eliminat numele programului si directivele de redirectare;




3. Variabile de mediu (ENVIRONMENT)

Dos-ul mentine o zona de memorie ce contine un set de siruri ASCIIZ(terminate cu octetul 00h (nu 30h care este codul ASCII a lui 0) care reprezintainformatii pentru diverse aplicatii. Forma acestor variabile de mediu este: nume=valoare Mediul este limitat la o anumita valoare, insa poate fi marit cu comandaSHELL in CONFIG.SYS sau cu COMMAND /e:nnnn care porneste o copie ainterpretorului de comenzi furnizind nnnn octeti pentru spatiul variabilelor demediu. De obicei acest spatiu este ó 32 Ko si incepe la o adresa paragraf(multiplu de 16). La adresa 2Ch in PSP am numarul paragrafului (adica adresa desegment) pentru variabilele de mediu. Fiecare variabila de mediu se termina cu octetul 0, iar dupa ultimavariabila de mediu am doi octeti 0. O utilizare tipica a mediului ar fi programele de tip SHELL care incarcao copie a lui COMMAND.COM. Aceste programe cauta variabile de mediu numitaCOMSPEC, valoarea ei dƒnd drive-ul, calea si numele interpretorului. De asemenea exista programe a caror utilizare este mult facilitata prinspecificarea unor informatii de mediu cu comanda SET. De exemplu pentrumacroasamblorul MASM si link-editorul LINK pot indica urmatoarele variabile demediu: PATH - cale cautare fisiere sursa INCLUDE- cale cautare fisiere includere LIB- cale cautare fisiere obiect si biblioteca MASM- optiuni implicite la lansarea MASM LINK- optiuni implicite la lansarea LINK TMP- cautare fisiere temporare pentru LINK, etc..

Radacina mediului - fiecare program primeste o copie statica a mediuluiinitial. Astfel, schimbarile in variabilele de mediu vor avea efect numai asupraproceselor "FIU" (daca exista), dar nu vor fi pierdute cind controlul estereturnat procesului "PARINTE". Gasire cale incarcare - incepind cu DOS 3.0, dupa terminarea zoneimediului (cei doi octeti 0) sistemul de operare stocheaza un sir aditional carecontine specificatorul complet al programului incarcat. Acest lucru poate fifolosit de o aplicatie pentru a gasi fisierele overlay sau de date. Astfel, dupacei 2 octeti nuli care termina mediul mai am 2 octeti indicind numarul de siruriaditionale (de obicei un singur sir, adica valoarea 1) si specificatorulfisierului (tot in format ASCIIZ) utilizat de functia EXEC (4Bh - incarca siexecuta un program fiu).

Aplicatii:

1. Urmariti programul MEM_BLK.C care afiseaza sirul blocurilor de memorie aleprogramelor din memorie.

2. Cititi programul AFENV.ASM care afiseaza toate variabilele de mediu.

3. Cititi programul UPCAS.ASM care converteste literele mici in mari pentru unsir de caractere din linia de comanda sau introduse intr-un buffer (cu functia0ah)

4. Sa se realizeze un program care sa afiseze valoarea unei variabile de mediufurnizata ca parametru la lansarea programului, sau preluata cu functia 0AH, DOSIndicatie: parametrul va fi furnizat cu litere mari

5. Sa se afiseze parametrii cu care se lanseaza un program.

6. Sa se realizeze in limbaj de asamblare un program care sa inversezecaracterele sirului (mari->mici si invers) folosit ca parametru la lansarearespectivului program.

Indicatie: programele le veti face in format .COM


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta