Hi guys,
Can anyone give me a few reasons to learn assembly?
If I write code for a particular pc, to run code on another i'm going to have to rewrite it?
Also, how should i start Assembly on a AMD X64 System?
Thanks!
32 replies to this topic
#1
Posted 22 February 2011 - 07:25 AM
|
|
|
#2
Posted 22 February 2011 - 09:25 AM
You should read the first chapter of the book "The Art of Assembly Language" by Peter Kitson. It explains why you should learn the assembly lanaguage, and contradict the reasons for not learning it. It also teaches you the assembly lanauge. =D
#3
Posted 22 February 2011 - 02:43 PM
Why? For the basically the same reason one chooses manual transmission over automatic.. Full control and speed. Even the best compilers cannot beat a program written in Assembly by someone that knows what they are doing. If you want small apps, then Asm is the way to go... Full control... You know why and how the processor is doing something... Sure, it takes a bit more time to write a program in Asm, but when it is done, it feels good knowing you wrote a program that not many others can.... Kinda "Elite" ;) I taught myself Assembly over 10 years ago and don't know anything else...
If you write a windows app, then you will have to rewrite it to run on *nix... DOS programs are almost dead... so don't learn for DOS or 16bit... Start with 32bit x86 code to grasp all the concepts before you dive into x64... Code written for INTEL cpus will run on AMD and vise versa.... there are some instructions that 1 has that the other doesn't... once you get the hang of 32bit code... and for nostalgia, you can learn 16bit code :-)
Oh, forgot... if you know another language.... and you learn Assembly... then that knowledge you gain will help you write better code in your language...
If you write a windows app, then you will have to rewrite it to run on *nix... DOS programs are almost dead... so don't learn for DOS or 16bit... Start with 32bit x86 code to grasp all the concepts before you dive into x64... Code written for INTEL cpus will run on AMD and vise versa.... there are some instructions that 1 has that the other doesn't... once you get the hang of 32bit code... and for nostalgia, you can learn 16bit code :-)
Oh, forgot... if you know another language.... and you learn Assembly... then that knowledge you gain will help you write better code in your language...
#4
Posted 22 February 2011 - 06:16 PM
And also to build an operating system or executive or anything of that type you need to use assembly language.
The other thing that I think about assembly language is that it's easy (in a way). As long as you know what the instructions you're using do you know exactly what's going on. The hard part about it is that you would probably need to type more. Other than that I don't really know other big hardnesses about assembly language.
The other thing that I think about assembly language is that it's easy (in a way). As long as you know what the instructions you're using do you know exactly what's going on. The hard part about it is that you would probably need to type more. Other than that I don't really know other big hardnesses about assembly language.
#5
Posted 22 February 2011 - 06:22 PM
RhetoricalRuvim said:
The hard part about it is that you would probably need to type more. Other than that I don't really know other big hardnesses about assembly language.
Yes, but you become a really fast typer :cool: Well, COM in ASM is a bit hair pulling at first!
#6
Posted 23 February 2011 - 12:37 PM
Thanks for all the responses guys!
#7
Posted 25 February 2011 - 11:58 AM
I think that everybody must have a idea about assembly.Because assembly is a base for programmers.If you really know assembly,it means you know everything about PC.
#8
Posted 25 February 2011 - 05:00 PM
@NewProgrammer: No, not really. In that case you'd still have to learn about caching, address spaces, virtual memory, VGA and derivatives, port IO...
sudo rm -rf /
#9
Posted 26 February 2011 - 04:44 AM
@dargueta;
Your saying are true.I couldn't tell what i think.
If you really know assembly,you will be an really advanced programmer.
Your saying are true.I couldn't tell what i think.
If you really know assembly,you will be an really advanced programmer.
#10
Posted 26 February 2011 - 05:44 AM
Maybe if you gain enough experience with assembly language (just knowledge alone is not enough; or is it?).
#11
Posted 26 February 2011 - 10:33 AM
Dam, I wish I knew Assembly. What about Binary? How the heck would someone learn a language full of 1s and 0s?!
#12
Posted 26 February 2011 - 10:50 AM
By reading the Intel manuals, probably; the Intel instruction set manual has an opcode map in the appendix. But then again you would either have to or would end up learning at least some assembly language.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users


Sign In
Create Account

Back to top









