尝试编译 .hla 文件时发生转换错误

尝试编译 .hla 文件时发生转换错误

我最近开始学习汇编语言,阅读 Randall Hyde 的《汇编语言的艺术》。他还开发了 HLA(高级汇编语言),让初学者更容易学习汇编语言。

要编译你创建的 .hla 程序,你可以从以下位置下载 .exe这里,安装所有必需的设置。您只需将目录更改为 /hla 并在命令行中输入以下内容即可编译程序:hla PROGRAM.hla

我的问题:一开始编译器运行正常,但现在当我想编译程序时,会出现错误。程序如下所示:

program helloWorld;
#include ("stdlib.hhf");

begin helloWorld;

    stdout.put("Hello, World of Assembly Language", nl);

end helloWorld;

现在,当我在命令行中输入时hla helloWorld.hla,会弹出一个窗口转换错误

命令行中也出现此错误:

POLINK: fatal error: File not found: 'Level.OBJ'.
Error returned by POLINK = 1

编译器只会创建一个如下所示的 .link 文件:

-heap:0x1000000,0x1000000
-stack:0x1000000,0x1000000
-base:0x4000000
-entry:HLAMain
-section:.text,ER
-section:.data,RW
-section:.bss,RW
kernel32.lib
user32.lib
gdi32.lib

我尝试使用此命令:hla -v helloWorld.hla并得到以下输出:

    HLA (High Level Assembler)
    Use '-license' to see licensing information.
    Version 2.16 build 4413 (prototype)
    Win32 COFF output
    OBJ output using HLA Back Engine
    -test active

    HLA Lib Path:     C:\hla\hlalib\hlalib.lib
    HLA include path: C:\hla\include
    HLA temp path:
    Linker Lib Path:  ;D:\hla\hlalib;D:\hla\hlalib;C:\hla\hlalib;C:\hla\hlalib;D:\hla\hlalib;C:\hla\hlalib;C:\hla\hlalib

    Compiling 'helloWorld.hla' to 'helloWorld.obj'
    using command line:
    [hlaparse -WIN32 -level=high  -v -test "helloWorld.hla"]

    ----------------------
    HLA (High Level Assembler) Parser
    use '-license' to view license information
    Version 2.16 build 4413 (prototype)
    -test active
    Output Path: ""
    hlainc Path: "C:\hla\include"
    hlaauxinc Path: ""
    Compiler generating code for Windows OS
    Back-end assembler: HLABE
    Language Level: high

    Assembling "helloWorld.hla" to "helloWorld.obj"
    HLAPARSE assembly complete, 40963 lines,   0.058 seconds,  705043 lines/second
    ------------
    HLA Back Engine Object code formatter
----------------------
Linking via [polink @"helloWorld.link._.link"]
POLINK: fatal error: File not found: 'Level.OBJ'.
Error returned by POLINK = 1

重新启动了我的系统,重新安装了.exe并尝试了不同的程序,但我太不熟练,无法解决这个问题。

任何帮助将不胜感激。

答案1

HLA 不喜欢文件路径中有空格。

如果你的某个目录中有空格,你就会得到这样的错误。我花了一段时间才自己弄清楚。

顺便提一句

如果重命名目录,请确保没有破坏环境路径变量。您可能还必须修复这些问题。

相关内容