hello all, i'm a beginner with assembly. i'm a c++ developer. and i need to start learning assembly, how can i download a compiler for assembly language? and which environment to start the program at? and is there is any available resources i can start with?
| |
|
Welcome to KnowledgeSutra - Dear Guest | |
How 2 Download An Assembler?
Started by m_rahman, Feb 24 2005 01:39 AM
28 replies to this topic
#2
Posted 24 February 2005 - 11:26 AM
First question first, I'd recommend TASM or NASM over MASM. To get TASM jsut search for a TASM download or purchase Borland C++. I wouldn't get TASM version 3 or less, just 4 or 5. For NASM go to http://sourceforge.n...p?group_id=6208 and download the proper version for your OS. Be sure to get the DOS-32 version if you have windows. Your second question is kind of vague, if you mean OS, just make sure you have a PC instead of an Apple. If you have Linux, you need NASM. Just do a search for Assembly Tutorials, there are millions of them out there. Art of Assembly is a very good one. Early next week I plan on putting the first in a series of assembly tutorials in the tutorials section here, so let me ask you a question. Do you understand binary and hexadecimal. Because whether or not you do will determine how I start the tutorial. Last but not least, welcome to the world of assembly program, where few except the brave dare to trod.
#3
Posted 24 February 2005 - 11:01 PM
I also recommend FASM http://flatassembler.net/ fasm demands less cryptic assembler syntax and you can virtually just compile code you see on the Art of Assembly tutorials online into it.
#4
Posted 25 February 2005 - 01:11 AM
Thanks man, it was very helpful, ok yes i understand binaries and Hex. and this is a PC with Windows installed. what i still wondering is why did yo say "few except the brave dare to trod"? is it harmful when mistaken ? so i forget about the bugs, debugging and that luxury from now on?
you may start your torurial with consideration that no one will think of learning assembly unless those are perfect with high level programming language, so i know what is a function parameter, a memory address, a byte and so on.
you may start your torurial with consideration that no one will think of learning assembly unless those are perfect with high level programming language, so i know what is a function parameter, a memory address, a byte and so on.
#5
Posted 25 February 2005 - 01:49 AM
Actually, it's not that bad. Anything you do in Windows can't access system critical files because Windows runs in protected mode. People don't like using assembly because they see no reason not to use a higher level language, and your assembly program won't work right if even one simple statement is wrong. It is also hard to debug assmebly programs by doing a step by step trace, but TASM has a debugger that allows you to do that. Mostly people just feel assembly is archaic.
#6
Posted 26 February 2005 - 02:46 AM
Quote
you may start your torurial with consideration that no one will think of learning assembly unless those are perfect with high level programming language, so i know what is a function parameter, a memory address, a byte and so on.
Also, function parameter is not what you're used to. Instead of doing say func(a,b,c), you do a -> register 1, b -> register 2, c -> register 3, call func(). Might seem like it takes more time, but it's probably less than the high level equivalent in real code. If you ever want to write an OS (like me) I suggest you pick up FASM now as well as NASM. I haven't heard of too many respectable programs in TASM except for the ti calculators
#7
Posted 26 February 2005 - 03:22 AM
Osknockout raises a good point. TASM really is used more for writing programs for TI calculators, which is why I picked it up. I agree that for OS writing you will definitely need NASM and FASM. TASM probably isn't one of the best choices actually, although I still stand by my claim that MASM is worse. And osknockout, if you'd let me, I'd love to take a look at a compiled form of your OS. I'm working on one off and on now, but haven't delved very far into protected mode, so it doesn't really do anything yet. The lack of parameters, by the way m_rahman, is because variables don't really exist in assembly, registers are small data storage and manipulation units inside the processor.
#8
Posted 26 February 2005 - 03:33 AM
osknockout i'm confused now because of the leading character to ASM for each one (NASM TASM MASM the worse) i will download NASM because i don't know about the other too, and in fact i don't know what is that N before ASM? 
well ppl it's getting clear everytime a new post arrives. i thought that assembly is now used in museums , i was wrong.
well ppl it's getting clear everytime a new post arrives. i thought that assembly is now used in museums , i was wrong.
#9
Posted 26 February 2005 - 04:01 AM
To sum up the different assemblers, the ASM in each is just short for assembler. TASM is Turbo assembler produced by Borland, NASM is Netwide assembler, MASM is Microsoft assembler, and FASM is Flat assembler, which (osknockout will have to correct me if i'm wrong here) I believe is because its primary form of compilation is to flat binary, which means without a header to designate it as a certain kind of file. Also in the works is an assembler I am working on, but that's going to take a while. Unfortunately, too many people feel assembler is archaic, which means new languages are being written in old languages and unoptimized code is being compunded. Assembler is still used in the world of operating systems, so all of the joke sites that have "Windows source code" in a C style language are way out of touch. Assembler is also used whenever maximum optimization is needed, so the government uses it heavily, or at least should.
#10
Posted 26 February 2005 - 01:34 PM
Actually I picked up TASM for programming TI-83's and then quit in 2 weeks... not worth it. I'm barely an intermediate at assembly (1 year experience) and I just made a "Hello World!" floppy-os. Yes, go on laughing. I haven't even ventured into protected mode, but then again, I have little free time. Yep, but I seriously thought that the Win programmers did program their OS in C, like Linux.
By the way m_rahman, you should read a few optimization articles after you get the gist of assembly: how to get the most operations in the smallest number of clock cycles, how to make a program smaller & more efficient, etc. I suggest you look at my x86 clocking topic.
Quote
Assembler is still used in the world of operating systems, so all of the joke sites that have "Windows source code" in a C style language are way out of touch. Assembler is also used whenever maximum optimization is needed, so the government uses it heavily, or at least should.
By the way m_rahman, you should read a few optimization articles after you get the gist of assembly: how to get the most operations in the smallest number of clock cycles, how to make a program smaller & more efficient, etc. I suggest you look at my x86 clocking topic.
Reply to this topic

1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users













