Computer Forums

Member Login

Remember Me? Sign Up! | Forgot Password
 
Slogan
 
Closed Thread
Old 12-24-2005, 01:28 PM   #1 (permalink)
 
Newb Techie

Join Date: Dec 2005

Posts: 8

eugensth

Default hla

Hi,


I was thinking to start learning assembly language, and I found a link on the web to an ebook that teaches assembly by using hla, "the high level assembler".
I wonder if it is the best choice (I ask the people who already worked with hla before and know what it can do for a beginner in assembly).
eugensth is offline  
Old 12-24-2005, 04:31 PM   #2 (permalink)
 
Ultra Techie

Join Date: Jul 2005

Posts: 530

TheHeadFL

Send a message via AIM to TheHeadFL
Default

Is there any particular reason you want to learn assembly?

I've done quite a bit of assembly programming, and I wouldn't do it unless you are writing very low level stuff, like operating system stuff.

The main reason I say this because the 'assembly language' depends on the hardware you are running on.

I, for instance, have written assembly for the MIPS processor, but I do not know how to write x86 assembly. You'd probably do best to learn x86 assembly, however it is fairly complicated compared to MIPS assembly or others.
__________________
Desktop machine: 2 x Opteron 246, Asus K8N-DL, 2GB PC3200 ECC Reg., XFX GeForce 6600GT, 74gb WD Raptor, 2 x 19\" LCDs, Windows XP x64
Server machine: Intel P4 3.0GHz 2MB EM64T, ECS i865pe, 1GB PC3200, 36gb WD Raptor, Windows Server 2003
Laptop: Dell Inspiron 9100 (Intel P4 3.2GHz 1MB Prescott, i865pe, 512MB PC3200, Mobility Radeon 9700, DVD+R/DL Burner), Windows XP
Linux: P3 450Mhz, 386MB ram, Slackware 10.1 (Running mySQL/Apache)
TheHeadFL is offline  
Old 12-24-2005, 06:49 PM   #3 (permalink)
Chankama's Avatar
 
Monster Techie

Join Date: Jan 2005

Location: Canada

Posts: 1,522

Chankama will become famous soon enough

Default

Assembly is a good thing to learn for sure. Assembly is quite specific to the hardware you run on. I was meaning to find an online hardware emulator that can help with assembly programming - but haven't had a chance to look yet.

Whatever "flavour" it is, learn it if you have a good teaching resource. Once you have the fundamentals down, it shouldn't be too difficult to learn other instruction sets. I remember back in undergrad, my prof gave us an assembly specification, and told us to implement the hardware to execute all the primitives..

As powerful as "C" is, assembly comes in handy in various scenarios. As mentioned already, OS programming is one of them.
Chankama is offline  
Old 12-25-2005, 05:26 AM   #4 (permalink)
 
Newb Techie

Join Date: Dec 2005

Posts: 8

eugensth

Default

I don't write OS'es, but I started learning high level languages like C and C++ and I feel like I need to know what's behind those
h.l. instructions, so that my code becomes more efficient.

Hla was designed for 80x86, accepts high level features like conditional structures and while loops and standard assembly language instructions too, also has several IDEs and a nice debugger develloped for it.

http://webster.cs.ucr.edu

I was wondering if it isn't better to learn simply "pure" assembly language, with no high level features.
eugensth is offline  
Old 12-25-2005, 05:33 AM   #5 (permalink)
 
Newb Techie

Join Date: Dec 2005

Posts: 8

eugensth

Default

I don't write OS'es, but I started learning high level languages like C and C++ and I feel like I need to know what's behind those
h.l. instructions, so that my code becomes more efficient.

Hla accepts high level features like conditional structures and while loops and standard assembly language instructions too, also has several IDEs and a nice debugger develloped for it.

I was wondering if it isn't better to learn simply "pure" assembly language, with no high level features.
eugensth is offline  
Old 12-25-2005, 10:48 PM   #6 (permalink)
 
Ultra Techie

Join Date: Jul 2005

Posts: 530

TheHeadFL

Send a message via AIM to TheHeadFL
Default

Its good to have a little knowledge of insofar as they make computer science students take classes in detailed hardware architecture stuff. It just helps you understand a little bit of whats going on and why.

But as far as practical usefulness, I'd say unless you are doing very low level routines or OS programming, its not of a whole lot of practical value.
__________________
Desktop machine: 2 x Opteron 246, Asus K8N-DL, 2GB PC3200 ECC Reg., XFX GeForce 6600GT, 74gb WD Raptor, 2 x 19\" LCDs, Windows XP x64
Server machine: Intel P4 3.0GHz 2MB EM64T, ECS i865pe, 1GB PC3200, 36gb WD Raptor, Windows Server 2003
Laptop: Dell Inspiron 9100 (Intel P4 3.2GHz 1MB Prescott, i865pe, 512MB PC3200, Mobility Radeon 9700, DVD+R/DL Burner), Windows XP
Linux: P3 450Mhz, 386MB ram, Slackware 10.1 (Running mySQL/Apache)
TheHeadFL is offline  
 
Closed Thread

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On