.hla ファイルをコンパイルしようとしたときに変換エラーが発生しました

.hla ファイルをコンパイルしようとしたときに変換エラーが発生しました

私は最近、Randall Hyde の著書「The Art Of Assembler Language」でアセンブラの学習を始めました。彼はまた、初心者がアセンブラを学習しやすくするために HLA (High Level Assembly) 言語を開発しました。

作成した.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 では、ファイル パス内のスペースは許可されません。

ディレクトリの 1 つにスペースが含まれていると、次のようなエラーが発生します。私自身、原因を突き止めるのにしばらく時間がかかりました。

ところで

ディレクトリの名前を変更する場合は、環境パス変数が壊れていないことを確認してください。これらも修正する必要があるかもしれません。

関連情報