git » orga2-tp1.git » commit 1030094

Mejorar comentarios y retoques menores

author Rodrigo Campos
2011-04-10 06:10:29 UTC
committer Rodrigo Campos
2011-04-10 06:10:29 UTC
parent 4a64f65b0db7f00cfe20930f8fabc6df4126a2e7

Mejorar comentarios y retoques menores

bintree.asm +14 -15

diff --git a/bintree.asm b/bintree.asm
index eaa9a1b..301a51e 100644
--- a/bintree.asm
+++ b/bintree.asm
@@ -10,10 +10,6 @@
 
 extern malloc, free
 
-section .data
-msg: db 'hola', 0
-
-
 section .text
 global insertar, eliminar, destruirArbol, imprimir
 
@@ -156,18 +152,20 @@ eliminar:
 	je .fin
 
 	; pusheo los registros usados que no se protegen por la C calling convention
-	; XX: si bien uso cx, pusheo ecx porque sino el push pushea solo dos bytes y desalinea la pila
+	; XX: si bien uso cx, pusheo ecx porque sino el push pushea solo dos
+	; bytes y desalinea la pila
 	push ecx
 	; pusheo los parametros
 	push ecx
 	push dword .raiz
 	call buscar_por_id
 	add esp, 8
-	; como pushe ecx por el tema de la alineacion, pop ecx. Pero solo me interesa lo de cx
+	; como pushe ecx (por el tema de la alineacion) pop ecx. Pero solo me
+	; interesa lo de cx
 	pop ecx
 
-	; en eax nos quedamos con el puntero al nodo si existe, 0 si no existe
-	; Si no esta el nodo, no tenemos nada para hacer tampoco
+	; En eax queda el puntero al nodo si existe, 0 si no existe
+	; Si no esta el nodo, no tenemos nada para eliminar
 	cmp eax, 0
 	je .fin
 
@@ -225,7 +223,7 @@ eliminar:
 	push edx
 	push edi
 
-	; nos llamamos recursivamente
+	; nos llamamos recursivamente con el *minimo* del subarbol *derecho*
 	push ecx ; id 
 	push ebx ; nodo **arbol
 	call eliminar
@@ -342,6 +340,8 @@ eliminar_0_hijos:
 	ret
 
 ; void eliminar_1_hijo(nodo **raiz, nodo *nodo, nodo *padre);
+; Elimina nodo asumiendo que tiene un solo hijo. Si padre == NULL entonces el
+; nodo a borrar es la raiz
 eliminar_1_hijo:
 	push ebp
 	mov ebp, esp
@@ -384,15 +384,13 @@ eliminar_1_hijo:
 	mov .pDer, ecx
 	jmp .fin
 
-
-	jmp .fin
-
 .borrarRaiz:
-	; Tengo que eliminar la raiz, y esta tiene un hijo. Asique el hijo va a ser la raiz ahora
-	
+	; Tengo que eliminar la raiz, y esta tiene un hijo. Asique el hijo va a
+	; ser la raiz ahora
+
 	; pongo mi hijo (izq o derecho, el que sea) como raiz
 	mov ecx, .nIzq
-	add ecx, .nDer ; XXX: este add funciona siempre bien, no ?
+	add ecx, .nDer
 	mov [eax], ecx
 
 	; hago el free y termino
@@ -469,6 +467,7 @@ destruirArbol:
 	pop ebp
 	ret
 
+; void imprimir(nodo *arbol, char *archivo);
 imprimir:
 	push ebp
 	mov ebp, esp