Konvertierungsfehler beim Versuch, eine .hla-Datei zu kompilieren

Konvertierungsfehler beim Versuch, eine .hla-Datei zu kompilieren

Ich habe vor kurzem mit dem Erlernen von Assembler begonnen, und zwar mit dem Buch „The Art Of Assembler Language“ von Randall Hyde. Er hat auch die Sprache HLA (High Level Assembly) entwickelt, um Anfängern das Erlernen von Assembler zu erleichtern.

Um Ihre erstellten .hla-Programme zu kompilieren, können Sie eine .exe herunterladen vonHier, um alle erforderlichen Einstellungen zu installieren. Sie können Ihr Programm einfach kompilieren, indem Sie das Verzeichnis in /hla ändern und in die Befehlszeile eingeben: hla PROGRAM.hla.

Mein Problem: Am Anfang hat der Compiler einwandfrei funktioniert, aber jetzt erhalte ich eine Fehlermeldung, wenn ich ein Programm kompilieren möchte. Das Programm sieht dann so aus:

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

begin helloWorld;

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

end helloWorld;

Wenn ich nun in die Kommandozeile eingebe hla helloWorld.hla, erscheint ein Fenster mit einemKonvertierungsfehler.

Außerdem erscheint dieser Fehler in der Befehlszeile:

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

Und der Compiler erstellt einfach eine .link-Datei, die so aussieht:

-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

Ich habe es mit diesem Befehl versucht: hla -v helloWorld.hlaund erhalte die folgende Ausgabe:

    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

Habe mein System neugestartet, die EXE-Datei neu installiert und auch verschiedene Programme ausprobiert, bin aber zu unerfahren, um dieses Problem zu lösen.

Jede Hilfe wird geschätzt.

Antwort1

HLA mag KEINE Leerzeichen im Dateipfad.

Wenn eines Ihrer Verzeichnisse ein Leerzeichen enthält, wird ein Fehler wie dieser angezeigt. Ich habe eine Weile gebraucht, um das selbst herauszufinden.

übrigens

Wenn Sie das Verzeichnis umbenennen, stellen Sie sicher, dass Sie Ihre Umgebungspfadvariablen nicht beschädigt haben. Möglicherweise müssen Sie diese ebenfalls korrigieren.

verwandte Informationen