Sign in to follow this  
Pelikaruga

I have always wanted to learn assembly programming.

Recommended Posts

I am a C++ (plusses don't show up in the preview at all? I tried to use them in different situations but could not get them to show up in the preview. No problems with the actual post though :)) game programmer, but when talking about computer related things, learning to program assembly has been always my most wanted thing. I have used hours browsing through stuff, but a place to start is a bit hard to find. All guides are extremely wrong, and I wouldn't want to start with anything that is not "the best", as after months of studying I would feel stupid if I would hear that I should have learned from a better source instead. One thing that has confused me much about x86 programming is that even though Intel has long documentation for it and how to program it, I have never seen an "official" assembler made by Intel or anything; all assemblers available are assemblers like nasm, masm, tasm or others, that don't follow the Intel style completely. The basics are the same, but you can't still program based on the Intel documentation with them. It would seem stupid to create an assembly language but not an assembler that actually understands it, so I guess I have just missed something. To be honest, I have only programmed for Windows and a bit for the GBA, so I am not experienced at all about system programming or just giving instructions to the processor, and thus I might sound funny with my questions. Sure, I understand how just programming the processor would work, with registers and values in memory, but programming for an excisting operating system with assembly seems odd, as you can't just take over the whole processor... so I am not totally clear about these things. Sure, I would just like to program a processor and use something to see the results and practice this way, but I think that the only way to start practicing would be to program for Windows or Linux with assembly. So, if I want to be the assembly king of the world, who can write everything from operating systems to program a game for the Nintendo DS (yes, I know that different processors (x86/IA-32 and ARM here) have different assembly languages and that I just got to learn the logic of assembly programming before I can learn different assembly languages), where should I start? What is The Guide to x86 assembly programmings that makes all this clear to me and makes me understand how everything works? Thanks much!

Share this post


Link to post
Share on other sites
Quote:
Original post by load_bitmap_file
Someone else asked a while ago and posted a link to The Art of Assembly Language Programming. I haven't checked it too much myself, but there were a bunch of people who recommended it.


Yeah, that is the guide most of the sites have been recommending that I saw during my one week holiday to France that I used basically just to sit inside and study Assembly, processor architechture and OS programming, so I guess it should be the best.


EDIT:

I started reading that again from start now, and noticed that the link you gave me had a lot of whitespace errors likethis, that the one I read back then did not have, so I searched for a version without those flaws:

http://maven.smith.edu/~thiebaut/ArtOfAssembly/artofasm.html

Share this post


Link to post
Share on other sites
I don't know any Assembly whatsoever, but I do know this:

Assembly usually runs only on the processor you compile it for, unless you use an assembler called NASM. It's cross platform, unlike the Intel one (have a guess to see what the target processor is :P ).

Share this post


Link to post
Share on other sites
Quote:
Original post by ukdeveloper
I don't know any Assembly whatsoever, but I do know this:

Assembly usually runs only on the processor you compile it for, unless you use an assembler called NASM. It's cross platform, unlike the Intel one (have a guess to see what the target processor is :P ).



Yes, assembly is unportable, as all processor architechtures have their own assemlby language.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this