Вы находитесь на странице: 1из 14

Universitatea Tehnic a Moldovei

Catedra Automatic i Tehnologii Informaionale

Raport
La Sisteme de Operare: Mecanisme interne i principii de proiectare

Lucrarea de laborator Nr.1

Tema : Dezvoltarea bootloader-ului de sistem.

A efectuat:

A verificat:

st.gr. SI-131 Popov Eugen

lect. asist.Ostapenco S.

Chiinu 2015

Obiective:
Dezvoltarea propriului bootloader i nscrierea acestuia pe dischet.
Condiii:
Pentru acest lucrare de laborator vom face cunostin cu limbajul de programare
assembler, i vom utiliza ntreruperile BIOS pentru a nelege modul n care vom dezvolta
propriul nostru boot loader.
Ducem cont de modul in care BIOS-ul analizeaz sectoarele de pe dischet.
Sectorul citit de BIOS la ncrcarea FDD-ului(0:A) are adresa 0xAA55 ce reprezint un offset de
510bytes de pe dischet. Teoretic acesta reprezint primul sector, care l vom seta pentru
ncrcarea kernel-ului de sistem dezvoltat la urmtoarele lucrri de laborator.
Un exemplu de bootstrap este expus mai jos:
;**************************************
[BITS 16]
ORG

INT

0x18

TIMES 510-($-$$) DB 0
DW

0xAA55

;**************************************
Atunci cnd BIOS-ul va citi boot loader-ul de pe primul sector al dischetei, codul
compilat n fiierul nostru COM va fi ncrcat pe adresa
0:07C00h, de unde propriu zis, vom suprancrca regitrii.
Deci, sarcina este de a scrie un sector de boot, asamblat ntr-un fiier binar simplu
(conform unui punct de mai jos) ,care n final trebuie nscris pe primul sector al discului, cu
ajutorul aplicaiei voastre - dezvoltata n C++/C#, Java etc.
Sarcina:
Afiarea a 4 sau 6 mesaje pe centrul ecranului - citit minimum din 8 offset-uri.
Unul din aceste mesaje va clipi periodic cu un interval de minim 2 - 3s i i va schimba culoarea
(minim 4 culori).i celelalte mesaje se vor mica orizontal pe centrul ecranului de la dreapta spre
stnga n ciclu periodic.

Mersul lucrrii:
Se presupune c sistemul nostru de operare va lucra n regim DOS , de aceea e nevoie s
instalm o main virtual cu setrile corespunztoare.

Fig 1. Setrile mainei virtuale create


n continuare este nevoie s scriem codul nostru n limbaj de asamblare, care va fi citit de
pe dischet.
[BITS 16]

;Tells the assembler that its a 16 bit code

[ORG 0x7C00]

;Origin, tell the assembler that where the code will be in memory after it is bee n loaded

Prin aceast porune de cod de la nceputul programului comunicm asamblorului c


avem un cod pe 16 bii i adresa de la care va ncepe citirea codului.
Pentru realizarea sarcinii de afiare a 4 mesaje pe centrul ecranul am realizat urmtoarele
proceduri, care folosesc ntreruperile BIOS:
-

WriteString procedur de afiare a unui ir de caractere pe eran , care folosete funcia

0x13 a ntreruperii 0x10.


-

Delay procedur de realizeare a unei reineri de 800 milisecunde , care folosete


funcia 0x86 a ntreruperii 0x15.

ClearScreen curarea ecranului . Funcia 0x06 a ntreruperii 0x10

WriteMessages procedura ce afieaz string-urile din toate 8 offset-uri la coordonata


anumit a ecranului. Procedura data apeleaz procedura WriteString.

Decrement procedura decrementeaz coordonata x a tuturor mesajelor de pe ecran .

RestartMessages procedura restabilete poziia mesajelor n partea extreme din dreapta.

Divide procedura mparte contorul principal din funcia main , pentru a realiza schimba
culorii la fiecare a 8-a iteraie.

main procedura principal , care reprezint un ciclu infinit, ce const dintr-un ir de


afiri i curiri a ecranului pentru a realizara micarea mesajelor afiate.
Programul sfrete cu urmtoarea poriune :

TIMES 510 - ($ - $$) db 0 ; se umple restul sectorului cu 0


DW 0xAA55

; semntura sfritului bootloader-ului

Pentru compilarea codului am folosit compilatorul NASM .

Fig 2. Compilatorul NASM


Dup compilarea fierului nostru cu extensia .asm obinem fiierul .img , pe care l
nscriem pe dischet. Dup care pornim maina virtual.

Fig 2. Rezultatul boot-rii fiierului de pe dischet


Concluzii:
n urma efecturii lucrrii de laborator am fcut cunotin cu sintaxa FASM i cu
particularitile limbajului de asamblare pentru acest compilator. Am cptat abiliti practice n
realizarea unui bootloader i am studiat ntreruperile BIOS 10h i 15h i diverse funcii ale
acestora, care le-am folosit pentru realizarea sarcinii de afiare dinamic a mesajelor.

Anex
; BIOS reads 512 bytes from cylinder: 0, head: 0, sector: 1
; of bootable floppy drive, then it loads this data into
; memory at 0000:7c00h and starts the execution from the first byte.
#fasm#

; use flat assembler syntax

#make_boot#
ORG 0x7C00

;Origin, tell the assembler that where the code will be in memory after it

is been loaded
jmp main

; Salt la punctul de intrare in program

WriteString:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;

Procedura de afisare a unui sir de caractere

;;

;;

Functia 0x13 a intreruperii BIOS 0x10

;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov ah, 0x13
mov al, 1

; Modul de afisare

mov bh, 0x00


int 0x10

; Codul functiei de afisare a unui sir


; Numarul paginii

; Call video interrupt

ret
Delay:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;

Procedura de efectuare a unei retineri

;;

Functia 0x86 a intreruperii BIOS 0x15

;;
;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
push ax

;Salvam

push cx

;continutul

push dx

;registrelor

mov ah, 0x86

; Codul functiei

mov cx, 0x3

; Durata pauzei in microsecunde (in cx bitul superior)

mov dx, 0x20

; in dx bitul inferior

(800 milisecunde)

int 0x15

; Apelarea intreruperii BIOS

pop dx

; Restabilim

pop cx

; continutul

pop ax

; registrelor

ret
ClearScreen:

; Ecranul are dimensiunea de 24x79 pixeli

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;

Procedura de curatare a ecranului

;;

Functia 0x06 a intreruperii BIOS 0x10

;;
;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
push ax

; Salvam continutul

push bx

; |registrelor in starea

push cx

; in care se aflau inainte de

push dx

; apelarea functiei

mov ah, 0x06


mov al, 0
mov bh, 0x00

; Codul functiei
; Numarul de rinduri care vor fi scroll-ate (al=0 -curata ecranul)
; Setarile grafice (culoarea fundalului pentru liniile curatate)

mov ch, 0

; Rindul din care incepe curatarea

mov cl, 0

; Coloana din care incepe curatarea

mov dh, 24

; Rindul in care sfirseste curatarea

mov dl, 79

; Coloana in care sfirseste curatarea

int 0x10

; Apelarea intreruperii BIOS

pop dx

; Restabilim

pop cx

; continutul

pop bx

; registrelor

pop ax

; in starea inainte de apelare

ret

WriteMessages:
push ax

; Salvam continutul

push bx

; registrelor in starea

push cx

; in care se aflau inainte de

push dx

; apelarea functiei

mov bp, str1

; salvam offsetul mesajului in bp (Hello World!)

mov bl, 0001

; setam codul culorii

mov cx, word[str1_len]


mov dh, 10

; incarcam in cx numarul de caractere a sirului

; rindul din care incepe afisarea

mov dl, [str1_x]

; coloana din care incepe afisarea

call WriteString
mov bp, str2

; salvam offsetul mesajului in bp (This is )

mov bl, 0001

; setam codul culorii

mov cx, word[str2_len]


mov dh, 11

; incarcam in cx numarul de caractere a sirului

; rindul din care incepe afisarea

mov dl, [str2_x]

; coloana din care incepe afisarea

call WriteString
mov bp, str3

; salvam offsetul mesajului in bp (my new )

mov bl, 0001

; setam codul culorii

mov cx, word[str3_len]


mov dh, 11

; incarcam in cx numarul de caractere a sirului

; rindul din care incepe afisarea

mov dl, [str3_x]

; coloana din care incepe afisarea (adaugam la coloana initiala lungimea

sirului afisat anterior)


call WriteString
mov bp, str4

; salvam offsetul mesajului in bp (test OS.)

mov bl, 0001

; setam codul culorii

mov cx, word[str4_len]

; incarcam in cx numarul de caractere a sirului

mov dh, 0xB

; rindul din care incepe afisarea

mov dl, [str4_x]

; coloana din care incepe afisarea (adaugam la coloana initiala lungimea

sirului afisat anterior)

call WriteString
mov bp, str5

; salvam offsetul mesajului in bp (Enjoy )

mov bl, 0001

; setam codul culorii

mov cx, [str5_len]


mov dh, 12

; incarcam in cx numarul de caractere a sirului


; rindul din care incepe afisarea

mov dl, [str5_x]

; coloana din care incepe afisarea

call WriteString
mov bp, str6

; salvam offsetul mesajului in bp (it!)

mov bl, 0001

; setam codul culorii

mov cx, [str6_len]


mov dh, 12

; incarcam in cx numarul de caractere a sirului


; rindul din care incepe afisarea

mov dl, [str6_x]

; coloana din care incepe afisarea (adaugam la coloana initiala lungimea

sirului afisat anterior)


call WriteString
mov bp, str7

; salvam offsetul mesajului in bp (Popov )

mov bl, [color]

; setam codul culorii

mov cx, [str7_len]


mov dh, 13

; incarcam in cx numarul de caractere a sirului


; rindul din care incepe afisarea

mov dl, [str7_x]

; coloana din care incepe afisarea

call WriteString
mov bp, str8

; salvam offsetul mesajului in bp (Eugen)

mov bl, [color]

; setam codul culorii

mov cx, [str8_len]


mov dh, 13

; incarcam in cx numarul de caractere a sirului


; rindul din care incepe afisarea

mov dl, [str8_x]

; coloana din care incepe afisarea (adaugam la coloana initiala lungimea

sirului afisat anterior)


call WriteString
pop dx

; Restabilim

pop cx

; continutul

pop bx

; registrelor

pop ax

; in starea inainte de apelare

ret
Decrement:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;

Procedura decrementeaza coordonatele de afisare

;;

a mesajelor pentru a realiza miscarea acestora

;;
;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov al, [str1_x]
sub al, 1
mov [str1_x], al
mov al, [str2_x]
sub al, 1
mov [str2_x], al
mov al, [str3_x]
sub al, 1
mov [str3_x], al
mov al, [str4_x]
sub al, 1
mov [str4_x], al
mov al, [str5_x]
sub al, 1
mov [str5_x], al
mov al, [str6_x]
sub al, 1
mov [str6_x], al
ret

RestartMessages:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;

Procedura restabileste coordonatele mesajeor


in pozitia extreama din dreapta

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov byte[str1_x],62

;;

;;

mov byte[str2_x],56
mov byte[str3_x],64
mov byte[str4_x],71
mov byte[str5_x],64
mov byte[str6_x],69
ret
Divide:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Procedura imparte contorul ciclului principal la 8
;; astfel la fiecare a 8-a iteratie se reseteaza
;;

contorul schimbarii culorii mesajului

;;

;;
;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov ax, cx
mov bl, 8
div bl
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;FUNCTIA PRINCIPALA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
main:
mov cx, 200

; Setam contorul ciclului principal

et:
call WriteMessages

; Afisam mesajele

cmp byte[str2_x], 0

; Comparam pozitia mesajelor cu pozitia extrema din stinga

jnz et1
call RestartMessages

; Daca nu am ajuns la coordonata 0 - salt la et1


; Daca am ajuns la coordonata 0 , amplasam mesajele in pozitia

extrema dreapta
et1:
call Delay

; Apelam retinerea de 800 microsecunde

call ClearScreen

; Curatim ecram

call Decrement

; Calculam coordonatele noi ale mesajelor

call Divide

; Impartim contorul cx la 8

cmp ah, 0

; Daca restul impartirii(AH) nu este 0 - salt la et2

jnz et2
inc byte[color]

; Daca restul este 0 schimbam culoarea mesajului (la fiecarea a 8-a

iteratie)
et2:
cmp byte[color], 8

; Daca codul culorii nu este 8 - salt la et3

jnz et3
mov byte[color], 1

; Daca codul culorii este 8 - il resetam la 1

et3:
cmp cx,1

; Comparam contorul cx cu 1 pentru a verifica terminarea ciclului

jz main

; Daca contorul este 1 - salt la main. Reluam ciclul.

LOOP et
;Data
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;
;;

Definima: 4 mesaje in 8 offset-uri


Lungimea fiecarui string
Coordonata pe x a fiecarui string

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
str1 db 'Hello World!', 0
str1_len dw 12
str1_x db 34
str2 db 'This is ' ,0
str2_len dw 8
str2_x db 0x1C
str3 db 'my new ' ,0
str3_len dw 7
str3_x db 36
str4 db 'test OS.' ,0
str4_len dw 8
str4_x db 43
str5 db 'Enjoy ' ,0
str5_len dw 6
str5_x db 36
str6 db 'it!' ,0

;;
;;
;;

str6_len dw 3
str6_x db 41
str7 db 'Popov ' ,0
str7_len dw 6
str7_x db 34
str8 db 'Eugen' ,0
str8_len dw 5
str8_x db 40
color db 0001

TIMES 510 - ($ - $$) db 0

;Fill the rest of sector with 0

DW 0xAA55

;Add boot signature at the end of bootloader

Bibliogfie:
1. Stackoverflow. Unsigned division in nasm. [Resurs electronic].- Regim de acces :
http://stackoverflow.com/questions/26457647/unsigned-division- in-nasm
2. Asmcommunity. Looping in NASM. [Resurs electronic].- Regim de acces :
http://www.asmcommunity.net/forums/topic/?id=30742
3. Nasm.us. The Netwide Assembler: NASM . [Resurs electronic].- Regim de acces:
http://www.nasm.us/doc/nasmdoc4.html
4. Stackoverflow. Basic NASM bootstrap. [Resurs electronic].- Regim de acces :
http://stackoverflow.com/questions/10853425/basic- nasm-bootstrap
5. Codenet. BIOS - INT 10H: . [Resurs electronic].- Regim de
acces : http://www.codenet.ru/progr/dos/int_0009.php
6. Cyberforum. DOS, 21 Assembler.
[Resurs electronic].- Regim de acces :
http://www.cyberforum.ru/assembler/thread724827.html

Вам также может понравиться

  • Lab2 Somipp
    Lab2 Somipp
    Документ6 страниц
    Lab2 Somipp
    Iov Albu
    Оценок пока нет
  • AI-191 Medinschi Ion SO4
    AI-191 Medinschi Ion SO4
    Документ5 страниц
    AI-191 Medinschi Ion SO4
    Carolin
    Оценок пока нет
  • Somipp Linux 1 UTM
    Somipp Linux 1 UTM
    Документ10 страниц
    Somipp Linux 1 UTM
    Cristi Poselețchi
    Оценок пока нет
  • SOMIPP Labs
    SOMIPP Labs
    Документ107 страниц
    SOMIPP Labs
    Ionel Boaghe
    Оценок пока нет
  • Lab1 GC
    Lab1 GC
    Документ8 страниц
    Lab1 GC
    Andrei Barbalat
    Оценок пока нет
  • Lab 1
    Lab 1
    Документ9 страниц
    Lab 1
    Fil Gorea
    Оценок пока нет
  • Raspunsuri EP II 01-28
    Raspunsuri EP II 01-28
    Документ8 страниц
    Raspunsuri EP II 01-28
    Poloboc
    Оценок пока нет
  • Somipplaba5 (Ru)
    Somipplaba5 (Ru)
    Документ99 страниц
    Somipplaba5 (Ru)
    Maria Sevciuc
    0% (1)
  • Lucrare de Laborator nr.4 Florea Cristina
    Lucrare de Laborator nr.4 Florea Cristina
    Документ9 страниц
    Lucrare de Laborator nr.4 Florea Cristina
    Cristina Florea
    Оценок пока нет
  • Lab 1ipp
    Lab 1ipp
    Документ20 страниц
    Lab 1ipp
    SlavicCaldare
    Оценок пока нет
  • Somipp Linux 3 UTM
    Somipp Linux 3 UTM
    Документ7 страниц
    Somipp Linux 3 UTM
    Cristi Poselețchi
    Оценок пока нет
  • AMOO3 Morcotilo Nichita FINAL
    AMOO3 Morcotilo Nichita FINAL
    Документ11 страниц
    AMOO3 Morcotilo Nichita FINAL
    Никита Мк.
    Оценок пока нет
  • PSI Lab 3
    PSI Lab 3
    Документ10 страниц
    PSI Lab 3
    Nicolae
    Оценок пока нет
  • Lab.6 FC
    Lab.6 FC
    Документ3 страницы
    Lab.6 FC
    Cristina Florea
    Оценок пока нет
  • Refer at
    Refer at
    Документ11 страниц
    Refer at
    Дарья Рг
    Оценок пока нет
  • Lab 1
    Lab 1
    Документ9 страниц
    Lab 1
    Cristian Conea
    Оценок пока нет
  • Lab 4 RC
    Lab 4 RC
    Документ4 страницы
    Lab 4 RC
    Den's Vlogs
    Оценок пока нет
  • Lab 1 GC
    Lab 1 GC
    Документ4 страницы
    Lab 1 GC
    Ion Popescu
    Оценок пока нет
  • Proiect de Curs BD Exemplu-Unlocked
    Proiect de Curs BD Exemplu-Unlocked
    Документ60 страниц
    Proiect de Curs BD Exemplu-Unlocked
    Amarfii Sergiu
    Оценок пока нет
  • LL1 Baze de Date
    LL1 Baze de Date
    Документ10 страниц
    LL1 Baze de Date
    Anya Mr
    Оценок пока нет
  • Raspunsuri AMSI
    Raspunsuri AMSI
    Документ11 страниц
    Raspunsuri AMSI
    Cristina Florea
    Оценок пока нет
  • APA - Proiect de Curs
    APA - Proiect de Curs
    Документ43 страницы
    APA - Proiect de Curs
    Dan
    Оценок пока нет
  • Laboratorul 1
    Laboratorul 1
    Документ9 страниц
    Laboratorul 1
    Tina Cris
    Оценок пока нет
  • Lab 1 BD
    Lab 1 BD
    Документ7 страниц
    Lab 1 BD
    Augusta Bucataru
    Оценок пока нет
  • PAM
    PAM
    Документ3 страницы
    PAM
    nicu zuza
    Оценок пока нет
  • Examen PW
    Examen PW
    Документ71 страница
    Examen PW
    DorinRotaru
    Оценок пока нет
  • Lab 4
    Lab 4
    Документ6 страниц
    Lab 4
    violina
    Оценок пока нет
  • Lucrarea-Nr 8
    Lucrarea-Nr 8
    Документ7 страниц
    Lucrarea-Nr 8
    Fil Gorea
    Оценок пока нет
  • 1arhitect Lab 2
    1arhitect Lab 2
    Документ11 страниц
    1arhitect Lab 2
    UTM
    Оценок пока нет
  • Lab2 La Programare in Windows
    Lab2 La Programare in Windows
    Документ12 страниц
    Lab2 La Programare in Windows
    Andrei Barbalat
    Оценок пока нет
  • Examen TIDPP
    Examen TIDPP
    Документ3 страницы
    Examen TIDPP
    Rosca Doinita
    Оценок пока нет
  • PCAD
    PCAD
    Документ4 страницы
    PCAD
    Fiodor Ciumac
    Оценок пока нет
  • TW Lab2
    TW Lab2
    Документ4 страницы
    TW Lab2
    Dan
    Оценок пока нет
  • SOMIPP Lab4
    SOMIPP Lab4
    Документ7 страниц
    SOMIPP Lab4
    Dan
    Оценок пока нет
  • Lab 1 PMMA
    Lab 1 PMMA
    Документ3 страницы
    Lab 1 PMMA
    BatiriMichael
    Оценок пока нет
  • Laboratorul Nr1 La Grafica Pe Calculator Gc.
    Laboratorul Nr1 La Grafica Pe Calculator Gc.
    Документ4 страницы
    Laboratorul Nr1 La Grafica Pe Calculator Gc.
    Ion Damaschin
    Оценок пока нет
  • SOMIPP Lab1
    SOMIPP Lab1
    Документ6 страниц
    SOMIPP Lab1
    violina
    Оценок пока нет
  • Laborator NR 2 Arhitectura Calculatoarelor
    Laborator NR 2 Arhitectura Calculatoarelor
    Документ8 страниц
    Laborator NR 2 Arhitectura Calculatoarelor
    CCV69
    Оценок пока нет
  • Laboratorul 5
    Laboratorul 5
    Документ7 страниц
    Laboratorul 5
    ion
    Оценок пока нет
  • Lucrarea 4 Utm
    Lucrarea 4 Utm
    Документ10 страниц
    Lucrarea 4 Utm
    BlandjLdhui
    Оценок пока нет
  • Amoo 6
    Amoo 6
    Документ6 страниц
    Amoo 6
    Mihai Ciubotaru
    Оценок пока нет
  • Lucrare LFPC Cebotari Ion
    Lucrare LFPC Cebotari Ion
    Документ12 страниц
    Lucrare LFPC Cebotari Ion
    Cebotari Ion
    Оценок пока нет
  • Iepuras Daniel LAB 3 TS
    Iepuras Daniel LAB 3 TS
    Документ8 страниц
    Iepuras Daniel LAB 3 TS
    DanuIepuras
    Оценок пока нет
  • Lucrare de Laborator nr.1
    Lucrare de Laborator nr.1
    Документ17 страниц
    Lucrare de Laborator nr.1
    Cristina Florea
    Оценок пока нет
  • Universitatea Tehnică A Moldovei: Azele Limbajului
    Universitatea Tehnică A Moldovei: Azele Limbajului
    Документ136 страниц
    Universitatea Tehnică A Moldovei: Azele Limbajului
    bronec10
    Оценок пока нет
  • Lucrare de Laborator nr.6 La SOTR
    Lucrare de Laborator nr.6 La SOTR
    Документ3 страницы
    Lucrare de Laborator nr.6 La SOTR
    AndreiCucereavii
    Оценок пока нет
  • TW Lab5
    TW Lab5
    Документ3 страницы
    TW Lab5
    Dan
    Оценок пока нет
  • TW Lab 5
    TW Lab 5
    Документ4 страницы
    TW Lab 5
    danielploaia
    Оценок пока нет
  • Grafica Laborator Nr.3
    Grafica Laborator Nr.3
    Документ5 страниц
    Grafica Laborator Nr.3
    Cebotari Ion
    100% (2)
  • LL2 Baze de Date
    LL2 Baze de Date
    Документ15 страниц
    LL2 Baze de Date
    Anya Mr
    Оценок пока нет
  • LL4 BD
    LL4 BD
    Документ6 страниц
    LL4 BD
    Anya Mr
    Оценок пока нет
  • Lab 5
    Lab 5
    Документ7 страниц
    Lab 5
    Dorin Nicoara
    Оценок пока нет
  • RC Examen
    RC Examen
    Документ50 страниц
    RC Examen
    Belinschi Andrei
    Оценок пока нет
  • Lab7 POO
    Lab7 POO
    Документ10 страниц
    Lab7 POO
    Grosu Elena
    Оценок пока нет
  • Laboratorul Cercetari
    Laboratorul Cercetari
    Документ5 страниц
    Laboratorul Cercetari
    Buinovschi Corneliu
    Оценок пока нет
  • SOMIPP1 Lab
    SOMIPP1 Lab
    Документ9 страниц
    SOMIPP1 Lab
    VitekBurlak
    Оценок пока нет
  • Seminar 5
    Seminar 5
    Документ8 страниц
    Seminar 5
    Radu DelaAfumati
    Оценок пока нет
  • Lab 1
    Lab 1
    Документ10 страниц
    Lab 1
    Radu Madiudin
    Оценок пока нет
  • Lab NR 1 TI-202-FR Badan Gleb
    Lab NR 1 TI-202-FR Badan Gleb
    Документ11 страниц
    Lab NR 1 TI-202-FR Badan Gleb
    NeedMoreSleep
    Оценок пока нет
  • Lab1 Arhitectura Calculatoarelor
    Lab1 Arhitectura Calculatoarelor
    Документ8 страниц
    Lab1 Arhitectura Calculatoarelor
    Valeria Lisenco
    Оценок пока нет
  • Raport Lab 4
    Raport Lab 4
    Документ6 страниц
    Raport Lab 4
    Jen4ik
    Оценок пока нет
  • Raport Mecanica
    Raport Mecanica
    Документ7 страниц
    Raport Mecanica
    Jen4ik
    Оценок пока нет
  • Lab 1 Electrotehnica
    Lab 1 Electrotehnica
    Документ6 страниц
    Lab 1 Electrotehnica
    ionspinu7171
    Оценок пока нет
  • Formarea Natiunilor
    Formarea Natiunilor
    Документ19 страниц
    Formarea Natiunilor
    Jen4ik
    Оценок пока нет