
Recentemente comecei a aprender assembler com o livro "The Art Of Assembler Language" de Randall Hyde. Ele também desenvolveu a linguagem HLA (High Level Assembly) para facilitar o aprendizado de assembler para iniciantes.
Para compilar seus programas .hla criados, você pode baixar um .exe emaqui, para instalar todas as configurações necessárias. Você pode simplesmente compilar seu programa alterando o diretório para /hla e digitando na linha de comando: hla PROGRAM.hla
.
Meu problema: No começo o compilador funcionava bem, mas agora quando quero compilar um programa, recebo um erro. O programa fica assim:
program helloWorld;
#include ("stdlib.hhf");
begin helloWorld;
stdout.put("Hello, World of Assembly Language", nl);
end helloWorld;
Agora, quando digito hla helloWorld.hla
na linha de comando, uma janela aparece com umerro de conversão.
Além disso, este erro aparece na linha de comando:
POLINK: fatal error: File not found: 'Level.OBJ'.
Error returned by POLINK = 1
E o compilador apenas cria um arquivo .link parecido com este:
-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
Eu tentei com este comando: hla -v helloWorld.hla
e obtive a seguinte saída:
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
Reiniciei meu sistema, reinstalei o .exe e também tentei programas diferentes, mas não sou qualificado para resolver esse problema.
Qualquer ajuda será apreciada.
Responder1
HLA NÃO gosta de espaços no caminho do arquivo.
Se um de seus diretórios tiver espaço, você receberá um erro como este. Levei um tempo para descobrir sozinho.
por falar nisso
Se você renomear o diretório, certifique-se de não quebrar as variáveis do caminho do ambiente. Talvez você precise consertar isso também.