unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
ByteNum: byte;
begin
// 右移 shr
asm
mov al, 10000000B { 128 }
shr al, 1 { shr 10000000 一次会得到 01000000 }
mov ByteNum, al
end;
ShowMessage(IntToStr(ByteNum)); { 64; shr 相当于 ÷2 }
end;
end.
上面是DELPHI +ASM代码的一个小示例。
今天我确实写的这个代码。