The MASM Forum Archive 2004 to 2012

Project Support Forums => HLA Forum => Topic started by: Daos on April 03, 2005, 08:36:08 PM

Title: Strange error message
Post by: Daos on April 03, 2005, 08:36:08 PM
Hi i'm very new to HLA and i was wondering why when i compile this short code(this was bigger but i stripped it so i highlight the error)


program testGetxy;

#include( "stdlib.hhf" );
#include( "console.hhf" );



var

    x:uns32;

    y:uns32;



begin testGetxy;



   

   

    console.getX();

    mov( eax, x );//line 24

end testGetxy;




error on line 24  expected : encountered ( 
Possible undefined ID .getX

ThX a lot!
Title: Re: Strange error message
Post by: Sevag.K on April 03, 2005, 09:37:08 PM
Okay, a few things you need:

This function you use are Windows specific so they are not included in the standard hlalib.lib (to maintain compatibility with Linux.

If you want these, you have to link with wincons.lib
The one that ships with hla may not be complete, so use the attached wincons.lib

Another problem is including console.hhf... you have to include "win32cons.hhf" and doing so, you may not also include "stdlib.hhf" or "console.hhf" both of which will exclude "win32cons.hhf"


program testGetxy;

/*

compile:
hla testGetxy wincons.lib

*/

#include( "win32cons.hhf" );

var

    x:uns32;

    y:uns32;



begin testGetxy;


    win32cons.getX();

    mov( eax, x );//line 24

end testGetxy;




[attachment deleted by admin]
Title: Re: Strange error message
Post by: Sevag.K on April 03, 2005, 10:07:00 PM
Slight correction to my statement above.

If you want to use "stdlib.hhf" you may include it on a line *after* "win32cons.hhf"
eg:

#include ("win32cons.hhf")
#include ("stdlib.hhf")

Title: Re: Strange error message
Post by: Sultan on September 28, 2005, 02:58:28 AM
Quote from: Sevag.K on April 03, 2005, 10:07:00 PM
Slight correction to my statement above.

If you want to use "stdlib.hhf" you may include it on a line *after* "win32cons.hhf"
eg:

#include ("win32cons.hhf")
#include ("stdlib.hhf")



Where can I get Win32cons.hhf ?

I just have win32.hhf
and console.hhf

I ´m also in the same sirtuation exposed at the beginning of this post and several errors in files from pages 193 to 198

Thanks in advance for your kind of attention.

Sultan :U
Title: Re: Strange error message
Post by: Sevag.K on September 28, 2005, 04:07:33 AM
Quote from: Sultan on September 28, 2005, 02:58:28 AM
Quote from: Sevag.K on April 03, 2005, 10:07:00 PM
Slight correction to my statement above.

If you want to use "stdlib.hhf" you may include it on a line *after* "win32cons.hhf"
eg:

#include ("win32cons.hhf")
#include ("stdlib.hhf")



Where can I get Win32cons.hhf ?

I just have win32.hhf
and console.hhf

I ´m also in the same sirtuation exposed at the beginning of this post and several errors in files from pages 193 to 198

Thanks in advance for your kind of attention.

Sultan :U


The win32cons.hhf and library come with the "hlaexamples" archive on webster

http://webster.cs.ucr.edu/AsmTools/HLA/dnld.html

(scroll down past half way).  Note that I've had some problems with this before and had to recompile the library to make it work.

A working library and header file are also included with my HIDE (HLA IDE) package
http://www.geocities.com/kahlinor/HIDE.html

HIDE includes all the programs you need (including HLA), and runs with no setup right out of its own folder.  Of course, it probably won't work on your system if you have Win2000 (HIDE has been tested on Win98se, WinME and winXP).

Also don't forget, since "win32cons.hhf" sets a global compile-time variable, it needs to be included before "stdlib.hhf" in your source code.
Title: Re: Strange error message
Post by: indiocolifa on September 28, 2005, 02:25:16 PM
Why HIDE does not work under Windows 2000?
Title: Re: Strange error message
Post by: Sevag.K on September 28, 2005, 08:17:36 PM
Quote from: indiocolifa on September 28, 2005, 02:25:16 PM
Why HIDE does not work under Windows 2000?

I have no idea.  I don't have a 2000 box to debug it on.

Title: Re: Strange error message
Post by: Sultan on September 29, 2005, 02:58:43 PM
Sevag.k:

Is win32cons.hhf the only one I have to copy or there is some more ( .hhf .lib etc. ) to get ?

Sultan :U
Title: Re: Strange error message
Post by: Sevag.K on September 29, 2005, 11:54:07 PM
Quote from: Sultan on September 29, 2005, 02:58:43 PM
Sevag.k:

Is win32cons.hhf the only one I have to copy or there is some more ( .hhf .lib etc. ) to get ?

Sultan :U

You also need to copy the library and link it with your code.  The library is either wincons.lib or win32cons.lib

Title: Re: Strange error message
Post by: Sultan on October 01, 2005, 03:43:35 AM
OPS !

I´m still at the same position my friend !

I did copy of everything what you stated and before to do that, I actualized the newest version of HLA, then copy the files from HIDE, but at the end, nothing happen.

By the way, I decided to show what the errors are, so, you can see better what is happening here.

As the matter of fact here they are:

File TestGotoxy       Page 193 & 194 

C\hla\projects\TestGo>hla testgo~1.hla
Error in file "testgo~1.hla" at line 48 [errid:4792/codegen.c]:
Parameter type mismatch (X).
Near << , >>
Error in file "testgo~1.hla" at line 48 [errid:4792/codegen.c]:
Near: << ) >>
Assembling: testgo~1.asm


File: testSetOutputAttr   Page 196 & 197

C:\hla>hla testse~1.hla
Error in file "testse~1.hla" at line 13 [errid:54740/hlaparse.bsn]:
Expected ´:´, encountered ´( ´
(Possible undefined ID 'console' ).
Near: << . >>

Assembling: testse~1.asm
testse~1.asm(78) : fatal error A1010: unmatched block nesting : _HLAMain
LINK : fatal error LNK1181: cannot open input file "testse~1.obj"


File testGetxy:      Page 194 & 195


C:\hla\projects\testGetxy>hla testge~1.hla
Error in file "testge~1.hla" at line 47 [errid:4799/codegen.c]:
Parameter type mismatch (x)
Near: << , >>

Error in file "testge~1.hla" at line 47 [errid:4799/codegen.c]:
Parameter type mismatch   (y)
Near: << ) >>

Assembling: testge~1.asm
Testge~1.asm(77) : error A2008: syntax error :.
Testge~1.asm(80) : error A2008: syntax error :.
LINK : fatal error LNK1181: cannot open input file "testge~1.obj"


File: Test FillRect:    Page 197 & 198

C:\hla>hla testfi~1.hla
Error in file "testfi~1.hla" at line 11 [errid:54740/llaparse.bsn]:
Expected ´:´, encountered ´(
<Possible undefined ID ´.setOutputAttr´ ).
Near: << ( >>

Assembling: testfi~1.asm
Testfi~1.asm(80) : fatal error A1010: unmatched block nesting : _HLAMain
LINK : fatal error LNK1181: cannot open input file "testfi~1.obj"

Thanks in advance again bud

Sultan


Title: Re: Strange error message
Post by: Sevag.K on October 01, 2005, 04:27:23 AM
Which document are you getting these examples from?
Title: Re: Strange error message
Post by: Sultan on October 01, 2005, 02:19:09 PM
The Art of Assembly Lenguage
Title: Re: Strange error message
Post by: Sevag.K on October 01, 2005, 10:27:55 PM
I can't find you page references on either the printed or the online version.  Mind sending me a copy of the soucres?
Title: Re: Strange error message
Post by: Sultan on October 02, 2005, 04:19:48 AM
OK Sevag.K

First of all thanks for the quick reply and for to be in touch posting over this matter.

My problem is that I cannot compile or make the .exe in the samples that come indeed the Art of Assembly Lenguage book at pages 194 to 198 like I set in a post before this one.

By the way they are located Volume II Chapter 11 mean 2.11.2, 2.11.3, 2.11.4 from pages 294 to 298 of that book

Hope this help, otherwise I copy the sample and send it to you in a word file.

Regards.
Title: Re: Strange error message
Post by: Sevag.K on October 02, 2005, 05:44:33 AM
Quote from: Sultan on October 02, 2005, 04:19:48 AM
OK Sevag.K

First of all thanks for the quick reply and for to be in touch posting over this matter.

My problem is that I cannot compile or make the .exe in the samples that come indeed the Art of Assembly Lenguage book at pages 194 to 198 like I set in a post before this one.

By the way they are located Volume II Chapter 11 mean 2.11.2, 2.11.3, 2.11.4 from pages 294 to 298 of that book

Hope this help, otherwise I copy the sample and send it to you in a word file.

Regards.

That won't be necessary, thanks.  I found them.

Here is what you need:

win32cons.hhf
wincons.lib
change occurences of console namespace to win32cons namespace:

Eg:

console.gotoxy (5, 10);  becomes:
win32cons.gotoxy (5, 10);

Here is one sample:


// testGotoxy.hla
// build with:
// hla testGotoxy wincons.lib

program testGotoxy;

#include( "win32cons.hhf") // include win32cons.hhf here
#include( "stdlib.hhf" )

// instead of consle.xxx
// use win32cons.xxx

var

    x:int16;

    y:int16;



begin testGotoxy;



    // Throw up some text to prove that

    // this program really clears the screen:



    stdout.put

    (

        nl,

        "HLA console.gotoxy() Test Routine", nl,

        "---------------------------------", nl,

        nl,

        "This routine will clear the screen then demonstrate the use", nl,

        "of the gotoxy routine to position the cursor at various", nl,

        "points on the screen.",nl,

        nl,

        "Press the Enter key to continue:"

    );



    // Make the user hit Enter to continue.  This is so that they

    // can control when they see the effect of console.gotoxy.



    stdin.readLn();



    // Okay, clear the screen:



    win32cons.cls();





    // Now demonstrate the gotoxy routine:



    win32cons.gotoxy( 5,10 );

    stdout.put( "(5,10)" );



    win32cons.gotoxy( 10, 5 );

    stdout.put( "(10,5)" );



    mov( 20, x );

    for( mov( 0,y ); y<20; inc(y)) do



        win32cons.gotoxy( y, x );

        stdout.put( "(", x, ",", y, ")" );

        inc( x );



    endfor;



end testGotoxy;


Title: Re: Strange error message
Post by: Sultan on October 05, 2005, 01:36:12 AM
I couldn´t get the exe yet !!!!!!!!!1

That´s what got me as a result:

C:\hla>hla testgo~1.hla
Assembling: testgo~1.asm
Testgo~1.obj : error LNK2001: unresolved external symbol WIN32CONS_cls
Testgo~1.obj : error LNK2001: unresolved external symbol WIN32CONS_GOTOXY
Testgo~1.exe : fatal error lnk1120: 2 unresolved externals.

I did everythig what you wrote above so ?

Regards.

Thanks a million for your patient.
Title: Re: Strange error message
Post by: Sevag.K on October 05, 2005, 03:03:08 AM
Okay, try these files in the attachment.

Make sure you link with wincons.lib

hla file.hla wincons.lib



[attachment deleted by admin]
Title: Re: Strange error message
Post by: Sultan on October 06, 2005, 01:58:02 AM
Now I´m very confuse !

I download the file and place it onto the correspondent folder but result was pretty much the same.

When you set that I have to make sure that I´m linking with wincons.lib is where the confusion comes to me.

How can I link in that way ?

I supposed  to follow all instructions to install HLA correctly so  I ´m feel  confused.
Title: Re: Strange error message
Post by: Sevag.K on October 06, 2005, 03:37:12 AM
If your program is called cons.hla then you compile and link like this:

hla cons.hla wincons.lib

Make sure wincons.lib is either in the same directory or in the hlalib folder.
Title: Re: Strange error message
Post by: MickD on January 16, 2006, 05:53:41 AM
I'm having problems with the same library with the same example app from AoA.
I get a linking error (see below). I'm using HIDE and the lib's and headers are all there.
I tried my own code and copied/pasted in the code above, both produced the same errors.

Quote
Linking:
polink @"C:\HIDE\temp\testCls.link"
POLINK: error: Unresolved external symbol 'WIN32CONS_CLS'.
POLINK: error: Unresolved external symbol 'WIN32CONS_GOTOXY'.
POLINK: fatal error: 2 unresolved external(s).

Aside from that, do we use the win32cons in place of the stdlib for all console functionalty from now on?

Cheers,
Mick.
Title: Re: Strange error message
Post by: MickD on January 16, 2006, 10:14:47 AM
Doh!

I wasn't linking to the library properly, fixed that and all's fine.
I found another thread that mentioned the win32cons lib was to replace the old console lib so that's answered my other question.

Cheers,
Mick.