Linked by Thom Holwerda on Thu 30th Jun 2005 12:26 UTC
General Development For Linux users, HLA is a strong programming tool that allows them to create powerful programs on a variety of different levels. As HLA becomes more feature-rich, additional applications will be written using HLA under Linux. With HLA and Linux, programmers can develop new and exciting applications anyone can use. Read more.
Permalink for comment
To read all comments associated with this story, please click here.
From the Developer #1
by Randall Hyde on Thu 30th Jun 2005 17:07 UTC

Some comments and answers to various posts in this thread:

Andy Ross:>>>>>>>>>>
I'm not sure by what criteria he considers his creation to be assembly language. Looking at the example in the article it looked more like a variant of BASIC meets C/C++. I don't mean to denigrate his considerable efforts, but it does appear to be a problem looking for a solution.
<<<<<<<<<<<<<<<<<&l t;<<

No doubt about it, a high-level assembler like HLA (and there are others, including Microsoft's MASM) can allow you to write code that doesn't look anything at all like traditional assembly. This statement is true of *any* assembler that allows one to write decent macros. Paul's example is extreme insofar as almost all of the code is either standard library calls or macro invocations -- you don't get to see much "real" assembly language in there. However, rest assured that this isn't the only "programming paradigm" that HLA is capable of. As for what "problem" this product is trying to "solve", just note that HLA is designed as an educational tool for classroom use, to get students up to speed in assembly language programming as rapidly as possible (e.g., within a 10-week quarter). This is a *difficult* problem when using traditional assemblers.

BTW, if you want to see some additional examples of HLA source files, that better typify what's possible with HLA, check this out:
http://webster.cs.ucr.edu/AsmTools/HLA/hla_examples/index.html


tbf wrote:>>>>>>>>>>>>>>>> >>>
Pardon, but there is only one high-level assembler, and it is called "ANSI C".
<<<<<<<<<<<<<<<<<&l t;<<<<<<<<<<<
There are many "high-level assemblers" available since the 1960s, and none of them are called ANSI-C. A true assembly language (which HLA is) provides direct access to all the CPU's features, including registers, flags, and machine instructions. ANSI-C provides none of these.

BTW, lest some people belive that HLA is a radical departure from existing assemblers, just note that Microsoft's MASM and Borland's TASM are also high-level assemblers, possessing many of the same features as HLA. So those who attempt to claim that HLA is "not assembly language" will have to deal with the fact that their opinions apply directly to two of the most popular assemblers of all time.

Brian Feeney wrote:>>>>>>>>
Bar the preprocessor declarations, the syntax is heavily derived from Pascal.
<<<<<<<<<<<<<<<<<&l t;<<<<<<<<<
Actually, it would be safer to say "Modula-2" or "Ada", or simply say "from the Algol-language branch." In fact, HLA's syntax for declarations and HLLs was an attempt to select some of the better features from various imperative languages in an attempt to produce source code that is highly readable. Readability was the ultimate goal (which is why HLA favors the Algol branch rather than the C branch). Of course, with all the parentheses in HLA, one could argue that I stole some syntax from LISP, too! :-)

AtariCheck Wrote:>>>>>>>>>>
But, then you're stuck on just one platform( x86 ) and one OS because the librarys are tied to the os.
<<<<<<<<<<<<<<<<<&l t;<<<<<<<<<<
Not true at all. The HLA Standard Library is currently portable between Win32 and Linux. Well-written programs compile and run under either OS with no changes to the source file. For HLA v2.0 (currently under development), plans are to support Win32, Linux, Mac OSX86, BSD, QNX, and Solaris.

Clearly, portability is limited to the x86 platform, but with the recent announcement of Apple's move to the x86, there really is no need to support other CPUs for personal computer applications.

Interested parties who actually want to *learn* more about HLA might want to check out the following articles:

What is HLA all about?
http://webster.cs.ucr.edu/AsmTools/HLA/HLADoc/HTMLDoc/WhatIsHLA.htm...

Teaching Assembly Language Using HLA
http://webster.cs.ucr.edu/AsmTools/HLA/HLADoc/HTMLDoc/teachingASM.h...

The Art of Assembly Language
http://webster.cs.ucr.edu/AoA/index.html

The main HLA web page
http://webster.cs.ucr.edu/AsmTools/HLA/index.html

Cheers,
Randy Hyde