|
|
35鱼币
MOV EAX,DWORD PTR DS:[ECX] // 取出根结点
MOV DL,BYTE PTR DS:[EAX+15]
if( dl==0)
{
MOV EDX,DWORD PTR DS:[EAX+8] 取右结结点
PUSH EBX
MOV BL,BYTE PTR DS:[EDX+15]
if ( bl==0)
{
MOV EAX,DWORD PTR DS:[EDX]
MOV BL,BYTE PTR DS:[EAX+15]
if(bl==0)
{
LEA ECX,DWORD PTR DS:[ECX]
do{
MOV EDX,EAX
MOV EAX,DWORD PTR DS:[EDX] 遍历左子树;
MOV BL,BYTE PTR DS:[EAX+15]
} while(bl==0)
}
MOV DWORD PTR DS:[ECX],EDX
POP EBX
RETN
}
MOV EAX,DWORD PTR DS:[EAX+4] 返回父结点
MOV DL,BYTE PTR DS:[EAX+15]
if(dl==0)
{
do{
MOV EDX,DWORD PTR DS:[ECX]
if( EDX!=DWORD PTR DS:[EAX+8])
break;
MOV DWORD PTR DS:[ECX],EAX
MOV EAX,DWORD PTR DS:[EAX+4]
MOV DL,BYTE PTR DS:[EAX+15]
} while(dl==0)
MOV DWORD PTR DS:[ECX],EAX 写入结点结构;
POP EBX
}
RETN
最近在练习反汇编...
|
|