1 / 17

PARTEA I UTILITARE DE SISTEM

Ştefan Stăncescu. PARTEA I UTILITARE DE SISTEM. CURSUL 3 ASAMBLOARE. ASAMBLOARE. Arhitectura von Neumann: Calculator cu program memorat (stored program computer): CPU(ALU+REG+PC+CPU_CTRL)+ MEM+I/E Memoria comuna - date+program(cod) – format binar

lori
Download Presentation

PARTEA I UTILITARE DE SISTEM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ştefan Stăncescu PARTEA IUTILITARE DE SISTEM CURSUL 3 ASAMBLOARE

  2. ASAMBLOARE • Arhitectura von Neumann: • Calculator cu program memorat (stored program computer): CPU(ALU+REG+PC+CPU_CTRL)+ MEM+I/E • Memoria comuna - date+program(cod) – format binar • CPU executa un set de instructiuni dedicate H/W CPU • Programul “obiect”: • lista de activitati efectuate de setul de instructiuni CPU • Set fix de instructiuni simple – in binar • Flexibilitate -combinarea creativa a instructiunilor fixe • Activitate complexa – aplicatia (in binar)

  3. ASAMBLOARE • Flexibilitate mai mare • prin schimbarea listei de microinstructiuni - in binar • (rularea de programe diferite pe aclesi H/W) • Program obiect • program (in binar) care controleaza direct masina (vN) • pentru o aplicatie data • Aplicatia pe masina vN prelucreaza “date” - in binar • din acelasi spatiu de memorie - in binar • preia date in – preda date out - in binar

  4. ASAMBLOARE • Programatorul - creatorul de aplicatii utile - uman • Initial a folosit modelul binar (1/0) al masnii vN • copie fidela a comportamentului binar al masinii vN • greu de inteles chiar pentru programe simple • Pentru inteligibilitate, alt model de masina vN, abstract(MV?) • mnemonici literale de instructiuni (+ operanzi, etich.) • atasate masinii H/W reale • Limbajul masinii vN – binar - 1/0 • Limbajul programatorului – literar – caractere (alf, num, sym) • Intre cele 2 limbaje – corespondenta biunivoca

  5. ASAMBLOARE • Program sursa – prezentare a solutiei la problema • schiță cu lista de activități inteligibile, • organizată ca listă de instructiuni H/W ale masinii vN • mnemonici de instructiuni + operazi • puternic atasată structurii H/W a masinii vM • Limbajul de asamblare • mecanismul de reprezentare de solutii • cu mnemonici de instructiuni (“opcode”) • cu reprezentarea literala a activitatii circuitelor H/W • inteligibila uman – primul nivel de abstractizare

  6. ASAMBLOARE • Asamblarea unui program din limbaj sursa in limbaj masina • operatia automata de trecere de la • reprezentarea literala de instructiuni cu mnemonici • la reprezentarea binara de instructiuni (direct exec) • Inteligibilitatea umana (literala A-Za-z1-9+/*-.,:”, etc.) • – inteligiblitatea masinii vN (binara 1/0) • Asamblor - Utilitar de sistem care automatizeaza asamblarea • Traduce automat - fisiere cu format sursa in • - fisiere cu forma obiect • (+ mijloace suplimentare de dezvoltare – fis list, sym, etc)

  7. ASAMBLOARE • Format tip al unei lini de fisie sursa in limbaj de asamblare: • Etichetă: opcode operanzi;coment • Operatie esentiala ale unui asamblor: • transformarea unei linii de fisier sursa (caracterele liniei) • in reprezentarea binara echivalenta (1-n octeti succesivi) • Liniie adiacente din fis. sursa – octetii succesivi adiacenti • Rezultatul asamblarii • reprezentarea binara a solutiei, inteligibila de masina vN • = programul “obiect” • executabil din memoria H/W a masinii vN

  8. ASAMBLOARE • Datele in limbajul de asamblare – structuri de date, de ex. • variabile de diferite dimensiuni • structuri complexe – siruri, array-uri, etc. • Asamblorul inventeaza, • operatii inexistente in H/W, numite • “pseudoinstructiuni” • si • manevre abstracte, operatii inexistente in H/W, facilitati de programare, adresare, etc. numite • “directive” • “

  9. ASAMBLOARE

  10. ASAMBLOARE

  11. ASAMBLOARE • Formate de fisiere obiect • structuri de date destinate incarcatoarelor de cod masina • produse intermediare ale asambloarelor • destinate a fi procesate de link- loadere • Dedicate procedurilor de incarcare ale sistemelor de operare • Formate auxiliare (listare, simboluri, etc) • destinate operatiilor interactive de • dezvoltare, depanare, testare, verificare, validare)

  12. ASAMBLOAREFormat obiect

  13. ASAMBLOAREStructuri de date ale unu asamblor • OPTABcolecţie de coduri (op-codes) R/O organizate după numele simbolice ale mnemonicelor microinstrucţiunilor • Se stabileste de structura H/W imuabila. • SYMTABtabelă cu numelor simbolice, R/W, inventate de programator sau deduse din solutia programului, • Se stabileste de specificul aplicatiei, se completeaza in plealabilul asamblarii,prin scanarea fisisrului sursa si gasirea simbolurilor inventate de programator • LOCCTR numarator de locatii de memorie

  14. ASAMBLOAREPrima trecere

  15. ASAMBLOARE Operaţiile efectuate de asamblor în prima trecere • stabilirea adreselor în spaţiul de memorie al CPU pentru toate instrucţiunile programului sursă folosind LOCCTR; • stabilirea adreselor de etichete cu LOCTTR şi memorarea lor în SYMTAB; • calculul expresiilor care definesc simboluri; • îndeplinirea unor directive ca RESB, RESW, DB, DW, • execuţia directivelor de modificare a adresei curente în program, cu LOCCTR; • controlul gramatical al fişierului sursă, în conformitate cu gramatica limbajului de asamblare folosit, cu semnalarea erorilor.

  16. ASAMBLOAREA doua trecere

  17. ASAMBLOARE Operaţiile efectuate de asamblor în a doua trecere • traducerea mnemonicilor de instrucţiuni în cod maşină folosind OPTAB; • calculul operanzilor din expresii, în care se înlocuiesc simbolurile din SYMTAB; • generarea datelor conform directivelor de tip DB, DW; • execuţia celorlalte directive; • înscrierea fişierului obiect, conform formatului standard adecvat editorului de legături şi încărcătorului; • înscrierea fişierului de listare cu informaţiile necesare documentării şi depanării programului, inclusiv cu adresele locaţiilor în eroare şi codurile erorilor.

More Related