📄 ex3main.pas
字号:
unit Ex3Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
StatusBar1: TStatusBar;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//第1种花指令
procedure TForm1.Button1Click(Sender: TObject);
var
a,b:Integer;
begin
a:=20;b:=10;
asm
jb @label
jnb @label
db $E8
@label:
end;
if a>b then
Messagebox(Handle,'a>b','info',MB_OK);
end;
//第2种花指令
procedure TForm1.Button2Click(Sender: TObject);
var
a,b:Integer;
begin
a:=20;b:=10;
asm
je @label
jne @label
db $E8
@label:
end;
if a>b then
Messagebox(Handle,'a>b','info',MB_OK);
end;
//第3种花指令
procedure TForm1.Button3Click(Sender: TObject);
var
a,b:Integer;
begin
a:=20;b:=10;
asm
jbe @label
ja @label
db $E8
@label:
end;
if a>b then
Messagebox(Handle,'a>b','info',MB_OK);
end;
//第4种花指令
procedure TForm1.Button4Click(Sender: TObject);
var
a,b:Integer;
begin
a:=20;b:=10;
asm
js @label
jns @label
db $E8
@label:
end;
if a>b then
Messagebox(Handle,'a>b','info',MB_OK);
end;
//第5种花指令
procedure TForm1.Button5Click(Sender: TObject);
var
a,b:Integer;
begin
a:=20;b:=10;
asm
jpe @label
jpo @label
db $E8
@label:
end;
if a>b then
Messagebox(Handle,'a>b','info',MB_OK);
end;
//第6种花指令
procedure TForm1.Button6Click(Sender: TObject);
var
a,b:Integer;
begin
a:=20;b:=10;
asm
jl @label
jge @label
db $E8
@label:
end;
if a>b then
Messagebox(Handle,'a>b','info',MB_OK);
end;
//第7种花指令
procedure TForm1.Button7Click(Sender: TObject);
var
a,b:Integer;
begin
a:=20;b:=10;
asm
jle @label
jg @label
db $E8
@label:
end;
if a>b then
Messagebox(Handle,'a>b','info',MB_OK);
end;
//第8种花指令
procedure TForm1.Button8Click(Sender: TObject);
var
a,b:Integer;
begin
a:=20;b:=10;
asm
jz @label
jnz @label
db $E8
@label:
end;
if a>b then
Messagebox(Handle,'a>b','info',MB_OK);
end;
//第9种花指令
procedure TForm1.Button9Click(Sender: TObject);
var
a,b:Integer;
begin
a:=20;b:=10;
asm
push ecx
xor ecx,ecx
jcxz @label
db $E8
@label:
pop ecx
end;
if a>b then
Messagebox(Handle,'a>b','info',MB_OK);
end;
//第10种花指令
procedure TForm1.Button10Click(Sender: TObject);
var
a,b:Integer;
begin
a:=20;b:=10;
asm
jl @label1
@label2:
jmp @label3
db $E8
@label1:
jz @label2
@label3:
end;
if a>b then
Messagebox(Handle,'a>b','info',MB_OK);
end;
//第11种花指令
procedure TForm1.Button11Click(Sender: TObject);
var
a,b:Integer;
begin
a:=20;b:=10;
asm
call @label1
db $E8
jmp @label2
db $E8
@label1:
pop eax
jmp @label3
db $E8,$E8,$E8
@label3:
inc eax
jmp @label4
db $E8,$E8,$E8
@label4:
jmp eax
db $E8
@label2:
end;
if a>b then
Messagebox(Handle,'a>b','info',MB_OK);
end;
//第12种花指令
procedure TForm1.Button12Click(Sender: TObject);
var
a,b:Integer;
begin
a:=20;b:=10;
asm
call @label1
db $E8,$E8
jmp @label4
@label1:
pop eax
jmp @label2
db $E8,$E8
@label2:
add eax,2
jmp @label3
db $E8
@label3:
push eax
ret
db $E8
@label4:
end;
if a>b then
Messagebox(Handle,'a>b','info',MB_OK);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -