• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

初学Delphi嵌入汇编[6]-&操作符

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
//在汇编中访问 Delphi 的变量可以使用 & 操作符
procedure Proc(str1,str2: string);
var
  s1,s2: string;
begin
  asm
    mov ecx, &str1  {}
    mov edx, &str2

    mov &s1, ecx   {}
    mov &s2, edx
  end;

  ShowMessage(s1 + s2);
end;
{在没有歧义的情况下, 操作符 & 是可以省略的, 譬如上面的例子就可以省略}

//测试
procedure TForm1.Button1Click(Sender: TObject);
begin
  Proc('我是', '万一'); {显示: 我是万一}
end;

//在什么情况下不能省略呢? 例如: procedure TForm1.Button2Click(Sender: TObject); var ecx: Integer; {这个变量和其中一个寄存器重名了} begin ecx := 99; asm mov ecx, &ecx {现在 ecx 是寄存器; &ecx 是变量} add ecx, 1 mov &ecx, ecx end; ShowMessage(IntToStr(ecx)); {100} end;
{现在也得知: 其实这之前的例子, 只要是在汇编中使用的本地变量都可以加 & }

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
RGB颜色矩提取算法——Matlab发布时间:2022-07-18
下一篇:
拓端tecdat|matlab如何滤除低频尖峰脉冲发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap