Allora i registri temporanei si usano quando devi fare dei calcoli
esempio: c=a-b+(d*e)/2 o quando un registro viene modificato frequentemente.
di solito i registri temporanei sono ax,bx,cx,dx,di,si nei sistemi a 16 bit (tecnologia intel)
eax,ebx,ecx,edx,edi,esi nei sistemi a 32 bit (tecnologia intel)
rax,rbx,rcx,rdx,rdi,rsi, e da r0 a r6 nei sistemi a 64 bit (tecnologia intel)
ciò non toglie che uno possa usare i sopracitati registri come registri saved ma per far ciò bisognerebbe rinunciare a parecchie istruzioni.
per esempio le istruzioni di loop fanno uso obbligatorio del registro cx
somma e moltiplicazione utilizzano ax e dx
le istruzioni di stringa fanno uso della coppia di registri es e di o ds e si
ma mentre i registri segmento quelli con la s finale molto spesso non cambiano di e si cambiano frequente mente con questo gruppo di istruzioni
quindi di solito i registri saved sono i registri segmento e con l'architettura a 64 bit i registri che vanno da r7 a r16 per l'architettura intel normal base itanium)
e da r7 a r32 per l'architettura intel extend itanium)
spero di averti fatto capire