|
@@ -374,12 +374,10 @@ Algunas ideas:
|
|
|
\end{itemize}
|
|
\end{itemize}
|
|
|
|
|
|
|
|
\begin{lstlisting}[frame=single, style=asmStyle]
|
|
\begin{lstlisting}[frame=single, style=asmStyle]
|
|
|
-;ahiVaElVector(numero* listaNumeros)
|
|
|
|
|
ahiVaElVector:
|
|
ahiVaElVector:
|
|
|
push rbp
|
|
push rbp
|
|
|
mov rbp, rsp
|
|
mov rbp, rsp
|
|
|
push r15
|
|
push r15
|
|
|
- sub rsp, 8 ;esto podria eliminarlo porque re-alineo antes de el call.
|
|
|
|
|
|
|
|
|
|
mov rdx, [rdi + OFFSET_SIGUIENTE] ; asumo la lista no esta vacia
|
|
mov rdx, [rdi + OFFSET_SIGUIENTE] ; asumo la lista no esta vacia
|
|
|
mov r15, [rsp] ;guardo mi inicio de memoria
|
|
mov r15, [rsp] ;guardo mi inicio de memoria
|
|
@@ -402,16 +400,13 @@ ahiVaElVector:
|
|
|
mov rdi, [rdi + OFFSET_ANTERIOR]
|
|
mov rdi, [rdi + OFFSET_ANTERIOR]
|
|
|
loop .cicloAtras
|
|
loop .cicloAtras
|
|
|
|
|
|
|
|
|
|
+ mov rdi, rsp ;aca apunta mi "primer" elem.
|
|
|
|
|
|
|
|
;alineo la pila con matemagicas
|
|
;alineo la pila con matemagicas
|
|
|
and rsp, 0xffffffffffffffffff0 ;son 15 F's. 15x4=60 bits
|
|
and rsp, 0xffffffffffffffffff0 ;son 15 F's. 15x4=60 bits
|
|
|
-
|
|
|
|
|
- mov rdi, rsp
|
|
|
|
|
call dameVector
|
|
call dameVector
|
|
|
|
|
|
|
|
mov rsp, r15 ;aca tenia mi rsp despues de los push
|
|
mov rsp, r15 ;aca tenia mi rsp despues de los push
|
|
|
-
|
|
|
|
|
- add rsp, 8 ;des "alineo"
|
|
|
|
|
pop r15
|
|
pop r15
|
|
|
pop rbp
|
|
pop rbp
|
|
|
ret
|
|
ret
|