📄 disassembler.pas.bakup
字号:
result:='EAX+EDX*2';
last:=sibbyte+1;
end;
$51 : begin
result:='ECX+EDX*2';
last:=sibbyte+1;
end;
$52 : begin
result:='EDX+EDX*2';
last:=sibbyte+1;
end;
$53 : begin
result:='EBX+EDX*2';
last:=sibbyte+1;
end;
$54 : begin
result:='ESP+EDX*2';
last:=sibbyte+1;
end;
$55 : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='EDX*2+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+EDX*2';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+EDX*2';
end;
3 : begin
result:='error';
end;
end;
end;
$56 : begin
result:='ESI+EDX*2';
last:=sibbyte+1;
end;
$57 : begin
result:='EDI+EDX*2';
last:=sibbyte+1;
end;
//58-5f
$58 : begin
result:='EAX+EBX*2';
last:=sibbyte+1;
end;
$59 : begin
result:='ECX+EBX*2';
last:=sibbyte+1;
end;
$5a : begin
result:='EDX+EBX*2';
last:=sibbyte+1;
end;
$5b : begin
result:='EBX+EBX*2';
last:=sibbyte+1;
end;
$5c : begin
result:='ESP+EBX*2';
last:=sibbyte+1;
end;
$5d : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='EBX*2+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+EBX*2';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+EBX*2';
end;
3 : begin
result:='error';
end;
end;
end;
$5e : begin
result:='ESI+EBX*2';
last:=sibbyte+1;
end;
$5f : begin
result:='EDI+EBX*2';
last:=sibbyte+1;
end;
//60-67 see 20-27
//68-6f
$68 : begin
result:='EAX+EBP*2';
last:=sibbyte+1;
end;
$69 : begin
result:='ECX+EBP*2';
last:=sibbyte+1;
end;
$6a : begin
result:='EDX+EBP*2';
last:=sibbyte+1;
end;
$6b : begin
result:='EBX+EBP*2';
last:=sibbyte+1;
end;
$6c : begin
result:='ESP+EBP*2';
last:=sibbyte+1;
end;
$6d : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='EBP*2+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+EBP*2';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+EBP*2';
end;
3 : begin
result:='error';
end;
end;
end;
$6e : begin
result:='ESI+EBP*2';
last:=sibbyte+1;
end;
$6f : begin
result:='EDI+EBP*2';
last:=sibbyte+1;
end;
//70-77
$70 : begin
result:='EAX+ESI*2';
last:=sibbyte+1;
end;
$71 : begin
result:='ECX+ESI*2';
last:=sibbyte+1;
end;
$72 : begin
result:='EDX+ESI*2';
last:=sibbyte+1;
end;
$73 : begin
result:='EBX+ESI*2';
last:=sibbyte+1;
end;
$74 : begin
result:='ESP+ESI*2';
last:=sibbyte+1;
end;
$75 : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='ESI*2+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+ESI*2';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+ESI*2';
end;
3 : begin
result:='error';
end;
end;
end;
$76 : begin
result:='ESI+ESI*2';
last:=sibbyte+1;
end;
$77 : begin
result:='EDI+ESI*2';
last:=sibbyte+1;
end;
//78-7f
$78 : begin
result:='EAX+EDI*2';
last:=sibbyte+1;
end;
$79 : begin
result:='ECX+EDI*2';
last:=sibbyte+1;
end;
$7a : begin
result:='EDX+EDI*2';
last:=sibbyte+1;
end;
$7b : begin
result:='EBX+EDI*2';
last:=sibbyte+1;
end;
$7c : begin
result:='ESP+EDI*2';
last:=sibbyte+1;
end;
$7d : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='EDI*2+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+EDI*2';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+EDI*2';
end;
3 : begin
result:='error';
end;
end;
end;
$7e : begin
result:='ESI+EDI*2';
last:=sibbyte+1;
end;
$7f : begin
result:='EDI+EDI*2';
last:=sibbyte+1;
end;
//-----------------
//------*4---------
//-----------------
//80-BF (COPY PASTE FROM 40-7F) but now replace *2 wih *4 (hope it doesn't cause bugs)
$80 : begin
result:='EAX+EAX*4';
last:=sibbyte+1;
end;
$81 : begin
result:='ECX+EAX*4';
last:=sibbyte+1;
end;
$82 : begin
result:='EDX+EAX*4';
last:=sibbyte+1;
end;
$83 : begin
result:='EBX+EAX*4';
last:=sibbyte+1;
end;
$84 : begin
result:='ESP+EAX*4';
last:=sibbyte+1;
end;
$85 : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='EAX*4+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+EAX*4';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+EAX*4';
end;
3 : begin
result:='error';
end;
end;
end;
$86 : begin
result:='ESI+EAX*4';
last:=sibbyte+1;
end;
$87 : begin
result:='EDI+EAX*4';
last:=sibbyte+1;
end;
//88-8f
$88 : begin
result:='EAX+ECX*4';
last:=sibbyte+1;
end;
$89 : begin
result:='ECX+ECX*4';
last:=sibbyte+1;
end;
$8a : begin
result:='EDX+ECX*4';
last:=sibbyte+1;
end;
$8b : begin
result:='EBX+ECX*4';
last:=sibbyte+1;
end;
$8c : begin
result:='ESP+ECX*4';
last:=sibbyte+1;
end;
$8d : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='ECX*4+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+ECX*4';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+ECX*4';
end;
3 : begin
result:='error';
end;
end;
end;
$8e : begin
result:='ESI+ECX*4';
last:=sibbyte+1;
end;
$8f : begin
result:='EDI+ECX*4';
last:=sibbyte+1;
end;
//90-97
$90 : begin
result:='EAX+EDX*4';
last:=sibbyte+1;
end;
$91 : begin
result:='ECX+EDX*4';
last:=sibbyte+1;
end;
$92 : begin
result:='EDX+EDX*4';
last:=sibbyte+1;
end;
$93 : begin
result:='EBX+EDX*4';
last:=sibbyte+1;
end;
$94 : begin
result:='ESP+EDX*4';
last:=sibbyte+1;
end;
$95 : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='EDX*4+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+EDX*4';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+EDX*4';
end;
3 : begin
result:='error';
end;
end;
end;
$96 : begin
result:='ESI+EDX*4';
last:=sibbyte+1;
end;
$97 : begin
result:='EDI+EDX*4';
last:=sibbyte+1;
end;
//98-9f
$98 : begin
result:='EAX+EBX*4';
last:=sibbyte+1;
end;
$99 : begin
result:='ECX+EBX*4';
last:=sibbyte+1;
end;
$9a : begin
result:='EDX+EBX*4';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -