知识大全 Delphi的位操作以及嵌入式汇编[3]
Posted 知
篇首语:你不能左右天气,但你能转变你的心情。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Delphi的位操作以及嵌入式汇编[3]相关的知识,希望对你有一定的参考价值。
Delphi的位操作以及嵌入式汇编[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
一个把字符转化为大写的函数例子
function _UpCase( ch : Char ) : Char;
asm
CMP AL `a
JB @@exit
CMP AL `z
JA @@exit
SUB AL `a -`A
@@exit:
end;
值得注意的是第二个例子中 没有象第一个那样把参数用语句放到寄存器中 这是由于Delphi中默认的把Byte(Char)类型放在AL中 不需要用Mov语句 但是这种函数不能是类的成员 否则结果会出错
.在汇编中调用其它过程
汇编语句中的Call语句 可以用于调用其它过程 既可以是其它汇编程序段也可以是Delphi中的标准过程
例如 假设新建一个窗体并在上面加了一个按钮 在Click事件中写入以下代码
procedure TForm Button Click(Sender: TObject);
begin
showmessage(`ok );
end;
再写一个过程_X
function TForm _x(var i:smallint):integer;
asm
call button click
end;
执行_x的结果就可以显示消息框
* 汇编的调试
Delphi嵌入式汇编一例
用delphi写的程序 把x指针指向的 个字节次序颠倒过来
function toulong(x: pchar): longword;begin result := (longword(x^) shl ) or (longword((x + )^) shl ) or (longword((x + )^) shl ) or (longword((x + )^));end;以下是用delphi的嵌入式汇编写法
function toulong(x: pchar): longword;asm mov esi eax mov ax [esi] xchg ah al shl eax mov ax [esi+ ] xchg ah alend;说明 默认情况下 delphi使用 register 方式 若参数在 个已内 将分别使用eax edx和ecx 超过 个参数部分将使用堆栈 返回参数的存放视长度而定 例如 位用al返回 位用ax 位用eax 位用用两个 位寄存器edx:eax 其中eax是低位
效率 本例asm大约比delphi或c快 %
cha138/Article/program/Delphi/201311/24899相关参考
Delphi的位操作以及嵌入式汇编[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! *Del
Delphi开发嵌入式IE浏览器监控程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!引言 随着
DELPHI基础教程:对象链接与嵌入(一)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DELPHI基础教程:对象链接与嵌入(二)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Linux用作嵌入式操作系统 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! LinuxasanE
嵌入式操作系统Symbian简介 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!SymbianOS是
DELPHI基础教程:对象链接与嵌入(一)[5] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DELPHI基础教程:对象链接与嵌入(一)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DELPHI基础教程:对象链接与嵌入(一)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
DELPHI基础教程:对象链接与嵌入(二)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!