This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
laboratoare:laborator-07 [2015/11/25 10:55] catalin.vasile3004 [Adunare. Generalizare.] |
laboratoare:laborator-07 [2015/11/25 12:03] catalin.vasile3004 [Adunare. Optimizare.] |
||
---|---|---|---|
Line 109: | Line 109: | ||
; loop code: | ; loop code: | ||
for: | for: | ||
- | mov eax, byte [A + ecx*4] ; get a digit from A | + | mov eax, dword [A + ecx*4] ; get a digit from A |
- | adc eax, byte [B + ecx*4] ; AL = A + B + Carry | + | adc eax, dword [B + ecx*4] ; AL = A + B + Carry |
mov [result + ecx*4], eax ; store result | mov [result + ecx*4], eax ; store result | ||
inc ecx | inc ecx | ||
Line 354: | Line 354: | ||
</file> | </file> | ||
==== [1p] 8. BONUS: Îmbunătăţire înmulţiri cu 2 ==== | ==== [1p] 8. BONUS: Îmbunătăţire înmulţiri cu 2 ==== | ||
- | [[http://www.jegerlehner.ch/intel/IntelCodeTable.pdf|Observaţi]] şi utilizaţi instrucţiunile de rotire cu Carry, în locul celor de tip AND si OR, pentru a rezolva exerciţiului 3. | + | [[http://www.jegerlehner.ch/intel/IntelCodeTable.pdf|Observaţi]] şi utilizaţi instrucţiunile de rotire cu Carry, în locul celor de tip AND si OR, pentru a rezolva exerciţiului 5. |
==== [1p] 9. BONUS: Generalizare înmulţiri cu puteri ale lui 2 ==== | ==== [1p] 9. BONUS: Generalizare înmulţiri cu puteri ale lui 2 ==== | ||
- | Modificaţi exerciţiul 3 astfel încât numărul să se poată înmulţi cu o variaţie mai mare de puteri ale lui 2 (cu aceleaşi limitări ca la 3). | + | Modificaţi exerciţiul 5 astfel încât numărul să se poată înmulţi cu o variaţie mai mare de puteri ale lui 2 (cu aceleaşi limitări ca la 5). |