2012-2-23 18:15
砖家叫兽
闲得无聊做的一个排名
哈哈 如图
[attach]119190[/attach]
004D7E00 55 PUSH EBP
004D7E01 8BEC MOV EBP,ESP
004D7E03 51 PUSH ECX
004D7E04 52 PUSH EDX
004D7E05 E8 F616F3FF CALL Ekd5.00409500
004D7E0A 50 PUSH EAX
004D7E0B 3D 00040000 CMP EAX,400
004D7E10 73 2A JNB SHORT Ekd5.004D7E3C
人物是否超过
004D7E12 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
004D7E15 E8 6E0D0000 CALL Ekd5.004D8B88
004D7E1A 50 PUSH EAX
004D7E1B 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
004D7E1E E8 F90D0000 CALL Ekd5.004D8C1C
004D7E23 50 PUSH EAX
004D7E24 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004D7E27 50 PUSH EAX
004D7E28 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
004D7E2B E8 20000000 CALL Ekd5.004D7E50
004D7E30 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
004D7E33 50 PUSH EAX
004D7E34 E8 770B0000 CALL Ekd5.004D89B0
004D7E39 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
004D7E3C 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004D7E3F C600 00 MOV BYTE PTR DS:[EAX],0
补上结尾的0
004D7E42 8BE5 MOV ESP,EBP
004D7E44 5D POP EBP
004D7E45 C3 RETN
[color=Silver][[i] 本帖最后由 砖家叫兽 于 2012-2-23 18:17 编辑 [/i]][/color]
2012-2-23 18:17
砖家叫兽
004D8B88 55 PUSH EBP
004D8B89 8BEC MOV EBP,ESP
004D8B8B 51 PUSH ECX
004D8B8C 33D2 XOR EDX,EDX
004D8B8E 0FB741 11 MOVZX EAX,WORD PTR DS:[ECX+11]
004D8B92 6BC0 05 IMUL EAX,EAX,5
004D8B95 03D0 ADD EDX,EAX
004D8B97 0FB741 13 MOVZX EAX,WORD PTR DS:[ECX+13]
004D8B9B 6BC0 04 IMUL EAX,EAX,4
004D8B9E 03D0 ADD EDX,EAX
004D8BA0 0FB741 15 MOVZX EAX,WORD PTR DS:[ECX+15]
004D8BA4 6BC0 04 IMUL EAX,EAX,4
004D8BA7 03D0 ADD EDX,EAX
004D8BA9 0FB741 17 MOVZX EAX,WORD PTR DS:[ECX+17]
004D8BAD 6BC0 03 IMUL EAX,EAX,3
004D8BB0 03D0 ADD EDX,EAX
004D8BB2 0FB741 19 MOVZX EAX,WORD PTR DS:[ECX+19]
004D8BB6 6BC0 03 IMUL EAX,EAX,3
004D8BB9 03D0 ADD EDX,EAX
004D8BBB 8B41 1C MOV EAX,DWORD PTR DS:[ECX+1C]
004D8BBE 6BC0 02 IMUL EAX,EAX,2
004D8BC1 03D0 ADD EDX,EAX
004D8BC3 0FB641 20 MOVZX EAX,BYTE PTR DS:[ECX+20]
004D8BC7 6BC0 06 IMUL EAX,EAX,6
004D8BCA 03D0 ADD EDX,EAX
004D8BCC 0FB641 21 MOVZX EAX,BYTE PTR DS:[ECX+21]
004D8BD0 6BC0 05 IMUL EAX,EAX,5
004D8BD3 03D0 ADD EDX,EAX
004D8BD5 0FB641 22 MOVZX EAX,BYTE PTR DS:[ECX+22]
004D8BD9 6BC0 05 IMUL EAX,EAX,5
004D8BDC 03D0 ADD EDX,EAX
004D8BDE 0FB641 23 MOVZX EAX,BYTE PTR DS:[ECX+23]
004D8BE2 6BC0 05 IMUL EAX,EAX,5
004D8BE5 03D0 ADD EDX,EAX
004D8BE7 0FB641 24 MOVZX EAX,BYTE PTR DS:[ECX+24]
004D8BEB 6BC0 05 IMUL EAX,EAX,5
004D8BEE 03D0 ADD EDX,EAX
004D8BF0 0FB641 25 MOVZX EAX,BYTE PTR DS:[ECX+25]
004D8BF4 6BC0 05 IMUL EAX,EAX,5
004D8BF7 03D0 ADD EDX,EAX
004D8BF9 0FB641 2C MOVZX EAX,BYTE PTR DS:[ECX+2C]
004D8BFD 3C 14 CMP AL,14
004D8BFF 73 06 JNB SHORT Ekd5.004D8C07
004D8C01 6BD2 03 IMUL EDX,EDX,3
004D8C04 C1EA 02 SHR EDX,2
004D8C07 3C 1E CMP AL,1E
004D8C09 73 06 JNB SHORT Ekd5.004D8C11
004D8C0B 6BD2 03 IMUL EDX,EDX,3
004D8C0E C1EA 02 SHR EDX,2
004D8C11 8BC2 MOV EAX,EDX
004D8C13 8BE5 MOV ESP,EBP
004D8C15 5D POP EBP
004D8C16 C3 RETN
战斗力的计算 大家对照地址看看就知道是怎么算的
2012-2-23 19:20
砖家叫兽
004D8CA0 55 PUSH EBP
004D8CA1 8BEC MOV EBP,ESP
004D8CA3 6A 01 PUSH 1
004D8CA5 53 PUSH EBX
004D8CA6 33DB XOR EBX,EBX
004D8CA8 81FB 00040000 CMP EBX,400
004D8CAE 73 16 JNB SHORT Ekd5.004D8CC6
循环终止条件
004D8CB0 53 PUSH EBX
004D8CB1 E8 2ED5F2FF CALL Ekd5.004061E4
004D8CB6 E8 CDFEFFFF CALL Ekd5.004D8B88
获取战斗力
004D8CBB 3B45 08 CMP EAX,DWORD PTR SS:[EBP+8]
004D8CBE 76 03 JBE SHORT Ekd5.004D8CC3
这里是排名+1 落后一名 否则保持 注意是从第一名开始加上去的
004D8CC0 FF45 FC INC DWORD PTR SS:[EBP-4]
004D8CC3 43 INC EBX
004D8CC4 ^ EB E2 JMP SHORT Ekd5.004D8CA8
004D8CC6 5B POP EBX
004D8CC7 58 POP EAX
004D8CC8 8BE5 MOV ESP,EBP
004D8CCA 5D POP EBP
004D8CCB C2 0400 RETN 4
利用循环 搜索每个人
[color=Silver][[i] 本帖最后由 砖家叫兽 于 2012-2-23 22:55 编辑 [/i]][/color]