📄 disassembler.pas.bakup
字号:
3 : begin
result:='error';
end;
end;
end;
$0e : begin
result:='ESI+ECX';
last:=sibbyte+1;
end;
$0f : begin
result:='EDI+ECX';
last:=sibbyte+1;
end;
//10-17
$10 : begin
result:='EAX+EDX';
last:=sibbyte+1;
end;
$11 : begin
result:='ECX+EDX';
last:=sibbyte+1;
end;
$12 : begin
result:='EDX+EDX';
last:=sibbyte+1;
end;
$13 : begin
result:='EBX+EDX';
last:=sibbyte+1;
end;
$14 : begin
result:='ESP+EDX';
last:=sibbyte+1;
end;
$15 : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='EDX+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+EDX';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+EDX';
end;
3 : begin
result:='error';
end;
end;
end;
$16 : begin
result:='ESI+EDX';
last:=sibbyte+1;
end;
$17 : begin
result:='EDI+EDX';
last:=sibbyte+1;
end;
//18-1F
$18 : begin
result:='EAX+EBX';
last:=sibbyte+1;
end;
$19 : begin
result:='ECX+EBX';
last:=sibbyte+1;
end;
$1a : begin
result:='EDX+EBX';
last:=sibbyte+1;
end;
$1b : begin
result:='EBX+EBX';
last:=sibbyte+1;
end;
$1c : begin
result:='ESP+EBX';
last:=sibbyte+1;
end;
$1d : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='EBX+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+EBX';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+EBX';
end;
3 : begin
result:='error';
end;
end;
end;
$1e : begin
result:='ESI+EBX';
last:=sibbyte+1;
end;
$1f : begin
result:='EDI+EBX';
last:=sibbyte+1;
end;
//20-27 []
$20,$60,$a0,$e0 : begin
result:='EAX';
last:=sibbyte+1;
end;
$21,$61,$a1,$e1 : begin
result:='ECX';
last:=sibbyte+1;
end;
$22,$62,$a2,$e2 : begin
result:='EDX';
last:=sibbyte+1;
end;
$23,$63,$a3,$e3 : begin
result:='EBX';
last:=sibbyte+1;
end;
$24,$64,$A4,$e4 : begin
result:='ESP';
last:=sibbyte+1;
end;
$25,$65,$a5,$e5 : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:=IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+$'+IntToHex(dwordptr^,8);
end;
2 : begin
last:=sibbyte+1;
result:='EBP';
end;
3 : begin
result:='error';
end;
end;
end;
$26,$66,$a6,$e6 : begin
result:='ESI';
last:=sibbyte+1;
end;
$27,$67,$a7,$e7 : begin
result:='EDI';
last:=sibbyte+1;
end;
//28-2F
$28 : begin
result:='EAX+EBP';
last:=sibbyte+1;
end;
$29 : begin
result:='ECX+EBP';
last:=sibbyte+1;
end;
$2a : begin
result:='EDX+EBP';
last:=sibbyte+1;
end;
$2b : begin
result:='EBX+EBP';
last:=sibbyte+1;
end;
$2c : begin
result:='ESP+EBP';
last:=sibbyte+1;
end;
$2d : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='EBP+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+EBP';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+EBP';
end;
3 : begin
result:='error';
end;
end;
end;
$2e : begin
result:='ESI+EBP';
last:=sibbyte+1;
end;
$2f : begin
result:='EDI+EBP';
last:=sibbyte+1;
end;
$30 : begin
result:='EAX+ESI';
last:=sibbyte+1;
end;
$31 : begin
result:='ECX+ESI';
last:=sibbyte+1;
end;
$32 : begin
result:='EDX+ESI';
last:=sibbyte+1;
end;
$33 : begin
result:='EBX+ESI';
last:=sibbyte+1;
end;
$34 : begin
result:='ESP+ESI';
last:=sibbyte+1;
end;
$35 : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='ESI+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+ESI';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+ESI';
end;
3 : begin
result:='error';
end;
end;
end;
$36 : begin
result:='ESI+ESI';
last:=sibbyte+1;
end;
$37 : begin
result:='EDI+ESI';
last:=sibbyte+1;
end;
//38-3F
$38 : begin
result:='EAX+EDI';
last:=sibbyte+1;
end;
$39 : begin
result:='ECX+EDI';
last:=sibbyte+1;
end;
$3a : begin
result:='EDX+EDI';
last:=sibbyte+1;
end;
$3b : begin
result:='EBX+EDI';
last:=sibbyte+1;
end;
$3c : begin
result:='ESP+EDI';
last:=sibbyte+1;
end;
$3d : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='EDI+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+EDI';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+EDI';
end;
3 : begin
result:='error';
end;
end;
end;
$3e : begin
result:='ESI+EDI';
last:=sibbyte+1;
end;
$3f : begin
result:='EDI+EDI';
last:=sibbyte+1;
end;
//*2
//40-47
$40 : begin
result:='EAX+EAX*2';
last:=sibbyte+1;
end;
$41 : begin
result:='ECX+EAX*2';
last:=sibbyte+1;
end;
$42 : begin
result:='EDX+EAX*2';
last:=sibbyte+1;
end;
$43 : begin
result:='EBX+EAX*2';
last:=sibbyte+1;
end;
$44 : begin
result:='ESP+EAX*2';
last:=sibbyte+1;
end;
$45 : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='EAX*2+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+1;
result:='EBP+EAX*2';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+EAX*2';
end;
3 : begin
result:='error';
end;
end;
end;
$46 : begin
result:='ESI+EAX*2';
last:=sibbyte+1;
end;
$47 : begin
result:='EDI+EAX*2';
last:=sibbyte+1;
end;
//48-4f
$48 : begin
result:='EAX+ECX*2';
last:=sibbyte+1;
end;
$49 : begin
result:='ECX+ECX*2';
last:=sibbyte+1;
end;
$4a : begin
result:='EDX+ECX*2';
last:=sibbyte+1;
end;
$4b : begin
result:='EBX+ECX*2';
last:=sibbyte+1;
end;
$4c : begin
result:='ESP+ECX*2';
last:=sibbyte+1;
end;
$4d : begin
dwordptr:=@memory[sibbyte+1];
case getmod(memory[sibbyte-1]) of
0 : begin
last:=sibbyte+1;
result:='ECX*2+$'+IntToHex(dwordptr^,8);
end;
1 : begin
last:=sibbyte+2;
result:='EBP+ECX*2';
end;
2 : begin
last:=sibbyte+1;
result:='EBP+ECX*2';
end;
3 : begin
result:='error';
end;
end;
end;
$4e : begin
result:='ESI+ECX*2';
last:=sibbyte+1;
end;
$4f : begin
result:='EDI+ECX*2';
last:=sibbyte+1;
end;
//50-57
$50 : begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -