Hello,
How often do you update your libraries? They are pretty old and don't include a lot of stuff. I wonder when are you going to update it?

And another question how about windows examples except conversion of icz tutorials?


thanx for HLA
Posted on 2003-03-25 09:02:02 by Duker

Hello,
How often do you update your libraries? They are pretty old and don't include a lot of stuff. I wonder when are you going to update it?

And another question how about windows examples except conversion of icz tutorials?


thanx for HLA


I update the libraries whenever I have too... :-)

Seriously,
I've added most of the functions *I* need to the HLA standard library. Therefore, I only add new functions when I feel there is a need for some new, generic, function. For example, a couple of versions (of HLA) ago, I added a bunch of zero-terminated string functions to the library. One thing that has been missing from the very beginning is a "stderr" library module (just like stdout, but sends its output to stderr rather than stdout, obviously).
At some point or another I need to completely redo the console library module (to have something that is somewhat compatible with Linux).

Also, it would be nice to spend some time *optmizing* the routines in the library (except for some of the string functions, very little care was taken to write the code as efficiently as possible).

I'll always welcome suggestions for additions to the library (and I especially welcome submissions, as long as you're willing to release your code to the public domain).
Do you have any ideas for some routines that are sufficiently generic to add to the
standard library? Do keep in mind, that I prefer to put code in the Standard Library
that I can support under Windows *and* Linux, so Windows-specific ideas, while they would be okay for a Windows library, would probably not wind up in the Standard Library
(that is not to say, however, that I would be adverse to starting a Windows-specific library or a Linux-specific library).

As for Windows examples, that's my next priority once I finish my current book project ("Write Great Code"). I'll be doing a "Programming Windows in Assembly" book and it
will teach the fundamentals of Windows assembly programming. Someday, I'll get around to porting more of the Iczelion tutorials as well, but "Programming Windows..." is a higher
priority.


Cheers,
Randy Hyde
P.S. Thanks for kind words.
Posted on 2003-03-25 20:56:29 by rhyde
Side note: I bought the used book "The Microsoft Macro Assembler Bible" from Amazon a few weeks ago, and the seller sent me the 1st edition. I love this book so much (plus I learned that you had coauthored the second edition) that I went and bought the 2nd edition for conciderably more (I received it in the mail yesterday).

I read up to the 8th chapter in the first edition but will be starting from the beginning of the 2nd. Looking forward to learning from your MASM 6.0 updates of this book! And your upcoming "The Art Of Assembly Language" will definitely be on my future reading list.
Posted on 2003-03-26 04:42:04 by Masmer
Sorry Randy
Couldn't you post your version of the includes? Or they are same as ones on the site?
Posted on 2003-03-26 10:49:12 by Duker

Sorry Randy
Couldn't you post your version of the includes? Or they are same as ones on the site?


Includes for what? The HLA Standard Library? Win32 APIs?

In either case, the include files that come with the HLA v1.45 executable package
are the latest and greatest. The Windows includes will morph a bit over the next
few months as I get started on "Programming Windows in Assembly", but the stuff
in the HLA v1.45 release package is the latest *I've* got. I do know that some
people out there have made some serious extension to the .HHF header files
for Windows, but I don't have contact info (and if anyone who is reading this
has made some improvements, feel free to send them to me and I'll add the
additions to the next release of HLA).
Cheers,
Randy Hyde
Posted on 2003-03-27 00:23:56 by rhyde
Hey Randy,
Thanx it at least compiles the sources now ;)
Posted on 2003-03-27 09:08:13 by Duker


the include files that come with the HLA v1.45 executable package
are the latest and greatest



I haven't downloaded HLA v1.45 as yet so I don't know if any thing has changed but when I try to compile a win32 app with the includes I get millions of errors.



I do know that some
people out there have made some serious extension to the .HHF header files
for Windows, but I don't have contact info (and if anyone who is reading this
has made some improvements, feel free to send them to me and I'll add the
additions to the next release of HLA.



I did not make inprovements. I made replacements :grin:
Posted on 2003-03-27 14:48:04 by Odyssey

Hello,
How often do you update your libraries? They are pretty old and don't include a lot of stuff. I wonder when are you going to update it?

And another question how about windows examples except conversion of icz tutorials?


thanx for HLA


Actually, I am thinking about doing a memory-mapped file library module for HLA.
Linux and Windows both support memory mapped files (and memory mapped files are generally more efficient than regular, buffered, files; and this is something I've been wanting to have for some time.
Probably as soon as I get AoA out of the way (working on the CD right now), I'll jump
right on this.
Randy Hyde
Posted on 2003-03-28 01:56:36 by rhyde
Hey Randy
If you work so hard in your HLA it will become a really High Level programming=)
Posted on 2003-03-29 09:08:51 by Duker
I think it is High Level enough already.
Posted on 2003-03-29 09:18:16 by Odyssey
Yes, but I think it's possible to make it object oriented:)
Posted on 2003-03-29 09:35:33 by Duker
HLA has some support for OOP but I haven't read that chapter of AOA yet so I don't know much about it. You know It is interesting HLA is lower level and Higher level than C at the same time.
Posted on 2003-03-29 09:40:45 by Odyssey
Yes, but what if to create a lot of macros for ListView TextBox button and so on and the only refer(include them) to them. I think it'll make it easier to work how do you think?

Btw Odyssey do you have some win examples on HLA? I've only dos examples by Randy but I have no win examples only KetilO's=( May be you'll share with me?

I also have an offer to help Randy and to convert some MASM examples how do you think?
I think we'll atract a lot of peaple by this.
Posted on 2003-03-29 10:13:35 by Duker
I think macros for some of the more difficult to use controls like the TreeView, Listview and toolbar controls would be nice.

About the win32 examples I don't have much except for the one I am working on right now. It is PE viewer. I could send it to you if you like.



I also have an offer to help Randy and to convert some MASM examples how do you think?
I think we'll atract a lot of peaple by this.


I actually thought about doing this myself. I would be glad to help. Since masm is very similar to HLA converting would not be difficult.
Posted on 2003-03-29 10:35:02 by Odyssey
Send it plz to emadan@hotbox.ru .
It'll help to see how to declare some things, PROTO's for example.
Posted on 2003-03-29 12:42:34 by Duker

Hey Randy
If you work so hard in your HLA it will become a really High Level programming=)


The *one thing* that keeps HLA from being a true HLL, IMHO, is the
fact that it doesn't support generic arithmetic expressions. That is, you
can't have a HLL-like assignment statement and you can't have arbitrary
boolean expressions (e.g., in IF and WHILE statements).

This is where I draw the line between a *true* HLL and an assembly language.
After all, one of the very first HLLs (FORTRAN) was specifically written to do
FORmula TRANslations. To me, anyway, this is the *real* difference between
a HLL and an assembly language: are you forced to use machine instructions
to do the arithmetic your program requires.

BTW, one of the main reasons I won't ever add generic arithmetic expressions
to HLA is because I like to stick to the concept that HLA doesn't trash registers
behind the programmer's back; something that's not possible to avoid if you're
going to compile generic arithmetic expressions into assembly language.
There are a few places where I violate this rule (class method calls, for example).
But they are well-documented and there are very few cases where I do this
(of course, we'll ignore the fact that EBP gets "trashed" upon entry into a procedure
when HLA emits code to set up the stack frame, but this is something people
generally expect to happen, and you *can* turn it off if it annoys you).
Cheers,
Randy Hyde
Posted on 2003-03-29 22:39:35 by rhyde

Yes, but I think it's possible to make it object oriented:)


HLA most certainly is object-oriented (and does a better job of it than
TASM, which is the only other object-oriented x86 assembler I'm aware of).

Though HLA doesn't support some of the information-hiding features found
in C++ and other OOP languages (e.g., no "private" and "public" sections in
classes), a C++ or Delphi programmer who knows assembly
should find themselves right at home in HLA.

All of the cool things you can do with objects in HLLs can be done in HLA
fairly easily. For example, other than it's a *lot* of grunt work, it should be possible
to create the equivalent of Microsoft's MFC or Borland's OWL within HLA (AFC?).
When I finish off the "Programming Windows in Assembly" book that I've just
started, I'm going to play around a bit with developing object-oriented libraries
for Windows programming, specifically to complement the RadASM package
(however, that's a long ways off at this point, so don't wait for it...)
Cheers,
Randy Hyde
Posted on 2003-03-29 22:46:12 by rhyde

Yes, but what if to create a lot of macros for ListView TextBox button and so on and the only refer(include them) to them. I think it'll make it easier to work how do you think?

Btw Odyssey do you have some win examples on HLA? I've only dos examples by Randy but I have no win examples only KetilO's=( May be you'll share with me?

I also have an offer to help Randy and to convert some MASM examples how do you think?
I think we'll atract a lot of peaple by this.


Note that I have translated the first 10 or 12 Iczelion tutorials from MASM32 to HLA.
*Some day* I'll get around to doing some more of them.
I am working on "Programming Windows in Assembly Language" which, of course,
will answer most of what you're asking for. However, that book's easily a year away
from publication at this point. OTOH, as I get a few more chapters under the belt,
I'll probably post a message here asking for some beta testers. So check back in
a couple of months.
Cheers,
Randy Hyde
Posted on 2003-03-29 22:48:45 by rhyde
Hey Randy,
Thanx for all your replies, that would be cool if you play with the libraries.
You told about the Icz tutorials you translated, are they that are on the site?
If not post them plz.


Btw, I get an error during compiling of the 3-rd and the rest tutorials(sources)=(
It can't load Icon.... tell me what to do plz.

P.S.
Odyssey thanx for the source!!
Posted on 2003-04-01 09:16:09 by Duker

Hey Randy,
Thanx for all your replies, that would be cool if you play with the libraries.
You told about the Icz tutorials you translated, are they that are on the site?
If not post them plz.


Btw, I get an error during compiling of the 3-rd and the rest tutorials(sources)=(
It can't load Icon.... tell me what to do plz.

P.S.
Odyssey thanx for the source!!


Still hammering away on HLA v1.47 (and, ultimately, later versions)
that may very well have an impact on conversion of ICZELION code.
But I'll clean those puppies up as soon as I get HLA stablized again.

On another note, I've been busy working on "Windows Programming in
Assembly Language" and I'm starting to write a bit of code to support
the text now. Once I get HLA under control, I'll post those sources,
too.
Cheers,
Randy Hyde
Posted on 2003-04-23 22:05:43 by rhyde