Dezvoltarea programului de diagnosticare si testare a hardware-ului pc

gestionarea avansată a alimentării;

Un coprocesor matematic este un microcip instalat pe o placă de bază care funcționează împreună cu procesorul principal, care gestionează numerele cu virgulă mobilă, descărcând astfel procesorul principal. Acesta poate fi instalat opțional la cererea utilizatorului sau de către utilizator, adică pot fi prezente sau absente.







Porturile COM sunt porturi de comunicații seriale destinate conectării comunicațiilor, manipulatorului și a altor dispozitive în care este necesară o rată relativ scăzută a datelor. Numărul de porturi seriale instalate poate varia de la unu la patru. Pe unele placi de baza exista o restrictie la conectarea porturilor seriale, de exemplu: daca aceasta valoare este de doua ori si daca conectati patru porturi, atunci vor mai exista doua operatii.

Porturile LPT sunt porturi cu un tip de transfer de date paralel concepute pentru a conecta imprimante și alte dispozitive în care este necesară o rată de date relativ ridicată și pot fi de asemenea utilizate pentru a conecta două computere între ele pentru schimbul de date. Numărul de porturi LPT instalate poate varia de la unu la patru.

Unitate de disc - un dispozitiv conceput pentru citirea / scrierea unităților pe un disc magnetic (floppy disk). Există patru tipuri de unități:

Ele diferă în formatul floppy-urilor deservite și cantitatea maximă posibilă de date scrise pe o dischetă de tipul corespunzător.

Unitatea CD-ROM este un dispozitiv destinat numai citirii unităților de disc pe discuri laser. Diferă de viteza de acces la date și viteza de rotație a discului laser. De obicei, nu este instalată mai mult de o unitate.

RUE (Advanced Power Management) este un standard care servește economiei de energie electrică. Este următorul set de funcții:

oprirea automată;

oprirea automată a monitorului;

oprirea automată a discurilor dure.

Poate fi în două stări: pornit sau oprit.

A doua parte a programului - diagnosticarea memoriei - verifică capacitatea de memorie a PC-ului pe care rulează programul.

1.2. Cerințe funcționale

Când programul este lansat, trebuie afișată o adnotare, după care, după apăsarea oricărei taste, ecranul trebuie șters și se va afișa un meniu cu trei elemente:

1 - colectarea de informații despre sistem;

Pentru a selecta un element de interes, trebuie să apăsați pe tastatură numerele corespunzătoare numerelor de element.

Dacă selectați elementul "Colectați informații despre sistem", informațiile despre PC sunt afișate succesiv ca o listă a dispozitivelor cu starea curentă. Mai jos este un tabel cu o listă de dispozitive și posibilele lor stări.

Tabelul posibilelor stări ale dispozitivului

După afișarea listei de dispozitive, programul trebuie să implementeze o întârziere, apoi să revină la meniu.

Dacă selectați "Test de memorie", programul trebuie să efectueze un test de cel puțin 640Kb. memorie. În cazul în care memoria este OK, mesajul "test passed" este afișat pe ecran, altfel "testul nu este trecut". De asemenea, este necesară implementarea unei întârzieri și revenirea la meniu.

Dacă selectați opțiunea "Ieșire", trebuie să implementați controlul de închidere și de transfer al programului în sistemul de operare DOS.

1.3. Cerințe hardware și software

Programul este realizat în procesor 8086 de limbaj de asamblare,

necesită un calculator IBM PC compatibil cu un procesor nu mai mic de 8086, iar programul poate fi rulat și pe computere cu procesoare mai vechi (de exemplu: 80286 sau 80386), deoarece o caracteristică a arhitecturii 80x86 este continuitatea la nivelul instrucțiunilor mașinii: programele scrise pentru modelele mai tinere de procesoare, fără modificări pot fi efectuate pe modele mai vechi.

Codul compilat al programului durează doar 2 KB - acest lucru se datorează lipsei de cod redundant, care este foarte ridicat atunci când se utilizează limbi de nivel înalt. În acest sens, programul se poate potrivi cu ușurință pe o dischetă de 360 ​​KB.

Programul funcționează în modul text și nu utilizează culoarea, deci este suficient pentru un monitor CGA. În plus, poate funcționa fără modificări pe monitorii mai vechi, cum ar fi EGA, VGA și SVGA.

Deoarece programul testează 640 KB de memorie RAM, acest volum este minim.

1.3.1. Justificarea alegerii limbajului de programare

Pentru a scrie acest program, a fost aleasă limba de asamblare. În legătură cu faptul că este cel mai potrivit pentru realizarea unor astfel de sarcini, adică unde trebuie să accesați porturile, să efectuați întreruperi speciale, să accesați zona de memorie BIOS și așa mai departe.

Pentru orice computer, puteți veni cu diferite limbi de asamblare, doar pentru că puteți desemna diferit operațiunile mașinii. În frecvență și pentru PC, au fost dezvoltate mai multe astfel de limbi (ASM-86, MASM, TASM). Pentru a pune în aplicare această sarcină, limba a fost aleasă, care a fost creată de Borland și al cărei nume complet este un turboassembler, abreviat TASM. Trebuie remarcat faptul că această limbă este cea mai des utilizată pe un PC.

2.1. Formularea problemei

Elaborați un program pentru a testa memoria RAM și a colecta informații despre PC.

Implementați un meniu în care utilizatorul are posibilitatea de a alege între trei elemente:







1 - colectarea de informații despre sistem;

Colectarea de informații ar trebui să fie sub forma unei liste de dispozitive cu starea actuală. Starea numelui dispozitivului trebuie să fie separată printr-un colon. Pentru o listă de dispozitive și posibilele lor stări, vezi Tabelul 1.

Elementul "test de memorie" ar trebui să verifice celulele de memorie pentru operabilitate. Există două tipuri de locații de memorie de avarie:

Tipul de eșec al "zerourilor constante" este după cum urmează: să presupunem că bitul 4 în octetul prezentat în Fig. 1 - defect. În acest moment, un zero este scris în octet (opt zerouri în sistemul binar), dacă citiți conținutul acestui octet, atunci ieșirea este zero - se pare că funcționează.

7 6 5 4 3 2 1 0

Tipul de eșec "unități permanente" este similar cu forma "zerouri constante". Singura diferență este că, sub forma unor "zerouri constante", biții defecți sunt întotdeauna în stare zero și sub forma "unităților constante" din unitate.

În acest sens, este necesar să se efectueze verificarea celulelor de memorie pentru două tipuri de defecte: "zerouri constante" și "unități permanente".

2.2. Descrierea structurii programului

Programul a fost implementat utilizând mai multe proceduri de utilizator și macrocomenzi (a se vedea tabelul 2).

Destul de des în programele, mai ales cele mari, trebuie rezolvată de mai multe ori aceeași sub-sarcină și de aceea trebuie să scrie același grup de comenzi care rezolvă această sub-sarcină. Pentru a evita repetarea unui astfel de grup de comenzi, este de obicei scrisă o dată și executată corespunzător, iar apoi în locurile potrivite, programele transferă pur și simplu controlul la aceste comenzi, care, după ce au lucrat, întorc controlul înapoi. Un astfel de grup de comenzi, care rezolvă o anumită sub-sarcină și care este organizat în acest fel, se numește o procedură.

Este adesea utilă pre-traducerea textului programului (înainte de difuzare). De exemplu, poate fi necesar ca un fragment de program să fie duplicat de mai multe ori sau că, în funcție de anumite condiții, textul programului păstrează anumite fragmente și le șterge pe celelalte. O posibilitate similară este oferită de așa-numitele mijloace macro. Extinderea limbii de asamblare datorată acestor mijloace este denumită de obicei o limbă de macro.

Programul, scris într-o limbă macro, este difuzat în două etape. În primul rând, se traduce, ca să spunem așa, limbajul pur al asamblorului, adică este transformat într-o formă în care nu există mijloace macro. Această etapă se numește generație macro, este implementată de un traducător special - un generator de macro-uri. În a doua etapă, programul primit este tradus în limba mașinii. Aceasta este etapa de asamblare, este asamblor.

Tabel de proceduri și macrocomenzi

Când programul este executat, pe ecran este afișat un rezumat, utilizatorul se familiarizează cu programul, apasă orice tastă și afișează un meniu (folosind procedura ShowQuestion) în care utilizatorul poate selecta elementul de meniu de interes:

colectarea de informații despre PC;

Dacă este selectat primul element, se face procedura ShowSved. În cadrul acestei proceduri, ecranul este șters cu ajutorul macrocomenzii ClrScr, precum și diagnosticarea hardware și întârzierea implementată utilizând macrocomanda de tipărire. După finalizarea acestei proceduri, programul merge la început, adică din meniu.

Dacă selectați al doilea element, se efectuează procedura TestMem, care testează memoria RAM a calculatorului. De asemenea, în interiorul acestei proceduri sunt implementate curățarea ecranului și întârzierea înainte de a părăsi meniul.

Dacă este selectat cel de-al treilea element, programul, fără a șterge ecranul, transferă controlul către sistemul de operare DOS.

2.3. Descrierea algoritmului pentru rezolvarea problemei

În acest sens, volumul maxim al segmentului este de 64 K, iar minimul este de 16 octeți.

2.4. Depistarea și testarea

Testarea a fost făcută folosind debuggerul Borland's Turbo Debugger. Întregul program a fost urmărit. Urmărirea este procesul de execuție pas cu pas a comenzilor cu listarea stărilor tuturor registrelor, semnelor, segmentului de date în momentul executării fiecărei comenzi.

În timpul urmăririi au fost detectate următoarele erori:

definirea incorectă a stării coprocesorului matematic - masca de curățare specificată incorect, așa-numitul cuvânt "listă de ecuație", obținut prin utilizarea întreruperii 11h;

"Așteptați" atunci când apelați procedura TestMem - eroare în implementarea algoritmului de testare a memoriei - eticheta de jump specificată incorect în buclă imbricată.

În plus, au fost găsite o mulțime de erori în sintaxa de comenzi.

Având în vedere că programul a fost scris pe același computer, verificați-l pentru a determina configurația corectă a PC-ului nu este posibil, prin urmare, după finalizarea programului, ea a realizat pe PC-uri diferite, cu configurații diferite: în cursul acestui test de detectare a erorilor nu a fost - toate hardware-ul este recunoscut în mod corespunzător.

A fost, de asemenea, nu este posibil pentru a testa programul pe un test de memorie corect în practică, pentru că a fost făcută pe toate PC-urile cu o memorie de lucru, și încearcă să găsească un PC cu un cunoscut RAM defect nu a reușit. Cu toate acestea, teoretic, testul ar trebui să funcționeze corect.

2.5. Instrucțiuni pentru utilizatori

Pentru a rula programul, rulați fișierul numit "kurs.com". Atenția ta este dată unui abstract - citiți-l cu atenție, apoi apăsați orice tastă de pe tastatură (de exemplu, introduceți). Apoi, meniul prezentat în Fig. 3.

1 - Informații despre sistem

Pentru a obține informații scurte despre PC - apăsați "1", apoi "Enter" de pe tastatură și se va afișa o listă de dispozitive cu starea curentă. Pentru a reveni la meniu, apăsați orice tastă.

Pentru a testa memoria RAM a calculatorului dvs. - apăsați tasta "2", apoi "Enter" de pe tastatură și ecranul va afișa un mesaj despre starea memoriei PC-ului. Pentru a reveni la meniu, apăsați orice tastă.

Pentru a ieși din program - apăsați tasta "3", apoi tasta "Enter" de pe tastatură.

2.6. Concluzie privind rezultatele sarcinii propuse

În cursul sarcinii stabilite în proiectul de curs, au fost dobândite abilitățile de implementare a programelor complexe de asamblare folosind macro-uri și proceduri. În plus, o mulțime de experiență și capacitatea de a lucra cu CMOS (zona de memorie în care sunt stocate informațiile despre configurația PC) a fost obținută la un nivel scăzut, adică utilizând întreruperea BIOS-ului 11h și 70h, precum și experiența utilizării registrelor suplimentare de segment și a registrelor de modificatori.

Programul implementat poate fi util în diagnosticarea echipamentelor pe modele de PC relativ vechi, deoarece programul utilizează sistemul de comandă 8086 procesor, care a fost lansat în 1979 de Intel, iar acum acest model de procesor este depășit.

Arta similara:

Elaborarea proiectului unui centru de service pentru întreținerea facilităților pentru calculatoare

Principii generale de dezvoltare de software

facilități pentru calculatoare. Aceste fonduri pot fi împărțite în instrumentele de diagnosticare ale PC-ului. controlul textului, controlul hardware și controlul hardware-software: - mijloace de diagnosticare.

Dezvoltarea de programe Windows. Introducerea Delphi

Activitate de testare >> Informatică, programare

-testarea (versiunea beta) - toate funcțiile, cu diagnosticare. Dezvoltare de PP: Setare, Proiectare, Elaborare de programe. Asamblare și depanare, Testare. mijloace de interacțiune cu interfața utilizator. Interfață hardware pentru PC-uri moderne.

Diagnosticarea depanării și repararea imprimantelor laser

Teză >> Informatică

Oscilatoare pentru dezvoltarea și testarea sunetului inovator. Același program rulează pe PC. care era în. apar în timpul diagnosticării și reparării imprimantelor. Utilizarea necesită hardware suplimentar și costuri în sine.

Dezvoltarea și automatizarea subsistemului Dieta pentru a ține cont de nutriția tuturor pacienților

șablon. PC-ul. unite. diagnostic funcțional Departamentul de diagnosticare funcțională. unite. programe de calculator. furnizarea de gestionare a hardware-ului de calculator. Dezvoltarea și depanarea software-ului. 4. Testarea.







Trimiteți-le prietenilor: