程序中使用花指令(Delphi源码)

更新时间:2023-03-08 17:40:03 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

程序中使用花指令(Delphi源码)

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.

本文来源:https://www.bwwdw.com/article/4c26.html

Top