好像是不行
因为当你这样写时
procedure TPort.WriteByte(b:byte);
var
tempPort:word;
begin
tempPort:=port;
asm
mov dx,tempPort
mov al,c
out dx,al
end;
end;
编译器会为你产生Self: TPort,好像是这样子
TempPort := Port
其实是
TempPort := Self.Port;
而在asm..end中则不会,我是这么认为的
如果你这样写应该行
MOV DX,[EAX + OFFSET PORT] 这是我自己瞎试的,其中EAX即为当前实例的指针
因为当你这样写时
procedure TPort.WriteByte(b:byte);
var
tempPort:word;
begin
tempPort:=port;
asm
mov dx,tempPort
mov al,c
out dx,al
end;
end;
编译器会为你产生Self: TPort,好像是这样子
TempPort := Port
其实是
TempPort := Self.Port;
而在asm..end中则不会,我是这么认为的
如果你这样写应该行
MOV DX,[EAX + OFFSET PORT] 这是我自己瞎试的,其中EAX即为当前实例的指针
解决方案 »
- WM运行一段时间之后 图片不能加载
- 怎样判断adoconnection的连接是否正常
- 为什么我的信誉分在我每次结帖之后都会变少?why?
- 请帮忙看一下,我的这个重载constructor create为何不成功?
- GotoBookmark(pointer(FzhDBGrid1.SelectedRows.Items[j]))问题
- 求助:我的下拉框所要显示的内容比下拉框本身大,我该如何设置什么属性的,让它所有部分
- 客户端用浏览器,服务端用delphi开发语言,怎么实现??
- 能和一个DELPHI的大虾聊聊!
- 向各位求助!若答案有效马上给100分!要源代码。其实不难,只是我初学,有很多都不会,书上也没写。
- 两个时间之差怎么求?(单位:毫秒)
- 用鼠标在图象上拉矩形框(如PhotoShop中有这项功能),怎么实现
- 动态建立菜单项
在看TObject的源码中发现在asm..end要这么引用类变量:[EAX].Port