0% au considerat acest document util (0 voturi)
5 vizualizări1 pagină

Assignment 2

Documentul prezintă două probleme de programare în limbaj de asamblare. Prima problemă implică calcularea numărului de elemente dintr-o matrice care sunt divizibile cu un număr k și generarea unui vector cu sumele elementelor mai mici decât k pe fiecare rând. A doua problemă solicită evaluarea unei expresii matematice utilizând registrii EAX, ECX și EDI, cu exemple de rezultate pentru diferite valori ale variabilelor.

Încărcat de

Sergiu Agoston
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
5 vizualizări1 pagină

Assignment 2

Documentul prezintă două probleme de programare în limbaj de asamblare. Prima problemă implică calcularea numărului de elemente dintr-o matrice care sunt divizibile cu un număr k și generarea unui vector cu sumele elementelor mai mici decât k pe fiecare rând. A doua problemă solicită evaluarea unei expresii matematice utilizând registrii EAX, ECX și EDI, cu exemple de rezultate pentru diferite valori ale variabilelor.

Încărcat de

Sergiu Agoston
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Programare ı̂n Limbaj de Asamblare

Tema 2
agoston sergiu

Problema 1 [5p]
Se dă o matrice C de ı̂ntregi pe 32 de bit, i de dimensiunea M × N s, i un număr
k (ı̂ntreg pe 32 de bit, i).

ˆ Să se calculeze numărul elementelor C[i][j] pentru care C[i][j]%k = 0;

ˆ Să se genereze un s, ir (vector) de M elemente care cont, ine sumele ele-


mentelor mai mici decât k de pe acelas, i rând din matricea dată.

Problema 2 [5p]
Scriet, i un program care evaluează expresia de mai jos, unde EAX, ECX s, i
EDI sunt regis, tri pe 32 bit, iar b s, i x sunt variabile pe 32 bit.
15 i
X (11 − b)
i
i=0 ∗ EDI − (ECX + EAX)
x
Rezultatul evaluării trebuie să ajungă ı̂n registrul EAX.
Exemple:
ˆ pentru EAX = 9, ECX = 15, EDI = 18, b = 14, x = 11 rezultatul este
1799150;
ˆ pentru EAX = 17, ECX = 17, EDI = 18, b = 10, x = 12 rezultatul este
0;
ˆ pentru EAX = 20, ECX = 13, EDI = 14, b = 14, x = 20 rezultatul este
326111;

S-ar putea să vă placă și