![]() |
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Programmer
|
http://webster.cs.ucr.edu/AsmTools/HLA/index.html
Has anyone tried HLA? I like it more. Compare these two pieces of code (first can be assembled with debug (Windows utility), and the second is HLA code): mov dx, 10b mov ah, 9 int 21 mov ah, 4c int 21 db "Hello world!",0d, 0a, '$' program hello;
#include("stdlib.hhf")
begin hello;
stdout.put("Hello world!",nl);
end hello;I think it's much easier to code, and plan on using this often. |
|
|
|
|
|
#2 |
|
I eat cake for breakfast.
![]() ![]() ![]() ![]() Join Date: Jul 2004
Location: In my box.
Posts: 4,434
Rep Power: 9
![]() |
But does it amount to the same thing, or does using HLA add more bloat? If so, what's the advantage over a higher-level language such as C?
|
|
|
|
|
|
#3 |
|
Resident Grouch
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jun 2005
Posts: 6,453
Rep Power: 10
![]() |
I have some prime Florida beachfront property....
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code. Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers |
|
|
|
|
|
#4 | |
|
Programmer
|
Quote:
|
|
|
|
|
|
|
#5 |
|
Programmer
Join Date: Jul 2005
Location: Germany
Posts: 69
Rep Power: 4
![]() |
Hi,
@OP, yeah quite some time ago i digged a bit into it, consumed the manual and tried some stuff. But i never did anything productive with it. I kept more information about microprocessor-architectures and the way things work inside in memory than syntax. I'm definitely not an assembler-expert so i cannot tell whether this is sth good or not, but i found it usefull as u also have the possibility to issue basic instructions thus falling back to the basics. I don't know how much it has evolved now, i can only speak of round about 4 years ago but i never heard of it again until now. So my guess is, that it's not that important or brilliant, though interessting for me as a c++-programm wanting to get a little inside assembler.
__________________
-= C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do succeed, you will blow away your whole leg. =- Bjarne Stroustrup |
|
|
|
|
|
#6 | |
|
I eat cake for breakfast.
![]() ![]() ![]() ![]() Join Date: Jul 2004
Location: In my box.
Posts: 4,434
Rep Power: 9
![]() |
Quote:
|
|
|
|
|
|
|
#7 |
|
Newbie
Join Date: Mar 2005
Posts: 11
Rep Power: 0
![]() |
The only thing that is Assembly, in "HLA", is the name. If you take a quick look, inside the Package, you will see "FASM.exe", that is the real Assembler, which you can find at:
< http://flatassembler.net/ > All HLA does, is obsfucating the real job of the Back-End Assembler, tranforming a Source written in HLA Syntax into a Source written in Assembly Syntax, and the only differences will be that you will be writting HLL, while believing that you are writting Assembly, that the Compilation time will be multipled by, at least 20, and that the debugging will be made 20 times more difficult. You will also notice that, in the couple of cases when you will see something close to Asm, in an HLA Source, the HLA notation has been, on purpose, made as different as possible from real Assembly, for example by reversing, the Instructions Members order, to deliberately make it as difficult as possible to switch to a real Assembler after having fallen into the HLA traps. If you wish to make use of a mix of HLL and Assembler, better is to use an HLL enabling with a decent Inline Assembly, or to use an Assembler with a powerfull Macros System, enabling HLLs Constructs by User defined Macros. Betov. < http://rosasm.org > |
|
|
|
|
|
#8 |
|
Resident Grouch
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jun 2005
Posts: 6,453
Rep Power: 10
![]() |
Nice post, Betov. The method of using macros to achieve a level of abstraction and to ensure consistency of usage of shared code was very common in the days before high-level languages such as C were widely available in the micro world. Even as they became available, we often couldn't afford the resources to use them. That is rarely the case nowadays. I can't imagine that enough effort would be put into a "high-level assembler" to make it truly effective, given the complexities of our current machines and the specialized knowledge needed to make the run at peak speeds/efficiencies.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code. Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers |
|
|
|
|
|
#9 | |
|
Professional Programmer
Join Date: May 2005
Location: Bad Nauheim, Germany
Posts: 436
Rep Power: 4
![]() |
Quote:
__________________
-Steven "Is this a piece of your brain?" - Basil Fawlty |
|
|
|
|
|
|
#10 |
|
Resident Grouch
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jun 2005
Posts: 6,453
Rep Power: 10
![]() |
I sold the Arizona property to some tourist that had apparently spent too much time in Germany
.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code. Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers |
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|