嘗試編譯 .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 不喜歡檔案路徑中存在空格。

如果您的目錄之一中有空格,您將收到類似這樣的錯誤。我花了一段時間才自己弄清楚。

順便提一句

如果重新命名目錄,請確保沒有破壞環境路徑變數。您可能還需要修復這些問題。

相關內容