x86 汇编/HLA 语法
外观
< X86 汇编
HLA 接受使用高级格式编写的汇编代码,并将其转换为另一种格式(通常为 MASM 或 GAS)。
例如,在 MASM 中,我们可以编写以下代码
mov EAX, 0x05
在 HLA 中,这段代码将变为
mov(0x05, EAX);
HLA 使用与 GAS 语法相同的运算顺序,但不需要任何 GAS 的名称修饰。此外,HLA 使用括号表示法来调用指令。HLA 使用分号来结束其行,类似于 C 或 Pascal。
有些人批评 HLA 因为它“不够底层”。这是错误的,因为 HLA 可以像 MASM 或 GAS 一样底层,但它也提供了一些高级抽象的选项。例如,HLA 可以使用以下语法将 eax 作为参数传递给 Function1 函数
push(eax); call(Function1);
但 HLA 也允许程序员简化流程,如果他们愿意
Function1(eax);
这被称为函数调用的“括号表示法”。
HLA 还包含许多不同的循环(do-while、for、until 等)和控制结构(if-then-else、switch-case),程序员可以使用它们。但是,这些高级结构有一个缺点:使用它们可能很简单,但它们会被转换为 MASM 代码指令。通常,手动实现循环速度更快。