通常会有任何语言的路线,但你需要faff约一两天,因为这些东西并不总是被记录在内
声明一个全局内存操作空间在你的味道HLL。 DIM LABELNAME1(0)
然后搜索这使地址到EAX
mov eax, ^LABELNAME(0)
mov eax, dword [_lablename]
mov eax, ^_lablename
etc etc etc
然后弹出它在ASM
你不会找到pop [^
对谷歌的任何地方ASM语法,但它是一个,这在某些工作高级语言
push eax
pop [^LABELNAME1(0)]
现在你HLL和ASM可以聊天对方,只要你喜欢
所以这是非常值得搞清楚
Undefined symbol _labelname
Probbly需要在程序
._labelname
mov dword [_lablename], 0
最开始的声明,并通过ASM作为标签
以后使用正如我所说,你不得不瞎搞,为你的特定HLL味道而拼命,并且全球化似乎最有效果
您还需要弄清楚如何申报单独的内存区储存ASM动态变量和运行操作码,否则你会得到缓存覆盖,这将削弱ASM
一个小程序,我写的速度优势不分离这些区域需要20个小时才能运行。随着分离它耗时1小时
mov ax, OFFSET _labelname
这是16位的东西,(DOS等,与愚蠢的记忆规则)不是你做的32位东西你HLL ???
除非这一切都在一个段发生的事情,你需要一个双存储操作数找到_labelname
,dx:ax
等,如前面提到的,你20年太晚
jmp cs:_labelname
作品在同一网段,但对于更大的程序,CS部分需要是特定的段覆盖和远程跳转/返回
此外,如果您的动态asm变量插入到您的asm代码段中,那么用于最大化asm速度的基本规则已被破坏
来源
2013-06-22 08:38:19
ady
您是否尝试在实际的_asm块中设置标签? – Cyclonecode
问了20年太晚了。请更新您的编译器。 –
@Krister是的,试图在asm块中定义;它仍然不起作用。 – Mikael