User Tools

Site Tools


laboratoare:laborator-05

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
laboratoare:laborator-05 [2015/11/11 14:45]
razvan.deaconescu [[2p] 2. Înmulțire două numere]
laboratoare:laborator-05 [2015/11/11 15:12]
razvan.deaconescu [[1.5p] 5. Suma pătratelor primelor N numere naturale]
Line 112: Line 112:
   - Plasăm deînmulțitul în registrul de deînmulțit,​ adică:   - Plasăm deînmulțitul în registrul de deînmulțit,​ adică:
     - dacă facem operații pe un byte (8 biți, un octet), plasăm deînmulțitul în registrul ''​AL'';​     - dacă facem operații pe un byte (8 biți, un octet), plasăm deînmulțitul în registrul ''​AL'';​
-    - dacă facem operații pe un cuvânt (16 biți, 2 octeți, plasăm deînmulțitul în registrul ''​AZ'';​+    - dacă facem operații pe un cuvânt (16 biți, 2 octeți, plasăm deînmulțitul în registrul ''​AX'';​
     - dacă facem operații pe un dublu cuvânt (32 de biți, 4 octeți), plasăm deînmulțitul în registrul ''​EAX''​.     - dacă facem operații pe un dublu cuvânt (32 de biți, 4 octeți), plasăm deînmulțitul în registrul ''​EAX''​.
   - Înmulțitorul este transmis ca argument mnemonicii ''​mul''​. Înmulțitorul trebuie să aibă aceeași dimensiune ca deînmulțitul.   - Înmulțitorul este transmis ca argument mnemonicii ''​mul''​. Înmulțitorul trebuie să aibă aceeași dimensiune ca deînmulțitul.
Line 139: Line 139:
 La afișarea rezultatului folosiți două instrucțiunii ''​PRINT_UDEC''​ pentru a afișa cele două registre care conțin rezultatul: La afișarea rezultatului folosiți două instrucțiunii ''​PRINT_UDEC''​ pentru a afișa cele două registre care conțin rezultatul:
   * Registrele ''​DX''​ și ''​AX''​ pentru înmulțirea numerelor de tip ''​word''​.   * Registrele ''​DX''​ și ''​AX''​ pentru înmulțirea numerelor de tip ''​word''​.
-  * Registrele ''​EDX''​ și ''​AAX''​ pentru înmulțirea numerelor de tip ''​dword''​.+  * Registrele ''​EDX''​ și ''​EAX''​ pentru înmulțirea numerelor de tip ''​dword''​.
  
 </​note>​ </​note>​
Line 167: Line 167:
  
 <note tip> <note tip>
-Registrele ''​eax''​ și ''​edx''​ le veți folosi la înmulțirea pentru ridicarea la putere (în instrucțiunea ''​mul''​). Pentru a reține suma pătratelor aveți două variante:+Registrele ''​eax''​ și ''​edx''​ le veți folosi la înmulțirea pentru ridicarea la putere (în instrucțiunea ''​mul''​). Astfel că nu veți mai putea folosi (ușor) registrul ''​eax''​ pentru stocarea sumei pătratelor. Pentru a reține suma pătratelor aveți două variante:
   - (mai simplu) Folosiți registrul ''​ebx''​ pentru a reține suma pătratelor.   - (mai simplu) Folosiți registrul ''​ebx''​ pentru a reține suma pătratelor.
   - (mai complicat) Înainte de a opera registrul ''​eax''​ salvați valoarea sa pe stivă (folosind instrucțiunea ''​push''​),​ apoi faceți operațiile necesare și apoi restaurați valoarea salvată (folosind instrucțiunea ''​pop''​).   - (mai complicat) Înainte de a opera registrul ''​eax''​ salvați valoarea sa pe stivă (folosind instrucțiunea ''​push''​),​ apoi faceți operațiile necesare și apoi restaurați valoarea salvată (folosind instrucțiunea ''​pop''​).
laboratoare/laborator-05.txt · Last modified: 2016/01/09 18:27 by razvan.deaconescu