Conversion error when trying to complie .hla-file

0

I recently started learning assembler with the book "The Art Of Assembler Language" from Randall Hyde. He also developed the language HLA (High Level Assembly) to make it easier for beginners to learn assembler.

To compile your created .hla programs you can download an .exe from here, to install all required settings. You can simply compile your program by changing the directory to /hla and typing into the commandline: hla PROGRAM.hla.

My problem: At the beginning the compiler worked fine, but now when I want to compile a program, I'll get an error. The program looks like this:

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

begin helloWorld;

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

end helloWorld;

Now when I type in hla helloWorld.hla into the commandline, a window pops up with a conversion error.

Also this error appears in the commandline:

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

And the compiler just creates a .link file which looks like this:

-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

I tried it with this command: hla -v helloWorld.hla and I get the following output:

    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

Rebooted my system, reinstalled the .exe and also tried different programs, but I am too unskilled to solve this problem.

Any help will be appreciated.

rla

Posted 2019-08-13T09:13:23.923

Reputation: 1

Answers

0

HLA does NOT like spaces in the file path.

If one of your directories has a space in it you will get an error like this. Took me a while to figure it out myself.

btw

If you rename the directory make sure you haven't broken your environment path variables. You may have to fix these as well.

Flashheart

Posted 2019-08-13T09:13:23.923

Reputation: 1