|  |
12-24-2005, 01:28 PM
|
#1 (permalink)
|
Newb Techie Join Date: Dec 2005 Posts: 8
| 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). |
| |
12-24-2005, 04:31 PM
|
#2 (permalink)
|
Ultra Techie Join Date: Jul 2005 Posts: 530
| 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) |
| |
12-24-2005, 06:49 PM
|
#3 (permalink)
|
Monster Techie Join Date: Jan 2005 Location: Canada Posts: 1,522
| 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. |
| |
12-25-2005, 05:26 AM
|
#4 (permalink)
|
Newb Techie Join Date: Dec 2005 Posts: 8
| 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. |
| |
12-25-2005, 05:33 AM
|
#5 (permalink)
|
Newb Techie Join Date: Dec 2005 Posts: 8
| 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. |
| |
12-25-2005, 10:48 PM
|
#6 (permalink)
|
Ultra Techie Join Date: Jul 2005 Posts: 530
| 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) |
| |  | | Thread Tools | | | | Display Modes | Linear Mode |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | | |