954,479 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

will it be useful to learn x86 assembly when there are 64 processors everywhere?

why?

silvercats
Posting Whiz in Training
233 posts since Apr 2011
Reputation Points: 9
Solved Threads: 1
 

I assume you mean 64-bit processors. The answer is yes because they are still in the x86 family of processors. Intel didn't completly replace the 32 and 16-bit processors, they added to them. 64 and 32 bit processors still use the 16 and 8 bit processor instruction set.

Ancient Dragon
Retired & Loving It
Team Colleague
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
 

sure?because some book said that x32 and x64 are totally different when it comes to assembly programming

silvercats
Posting Whiz in Training
233 posts since Apr 2011
Reputation Points: 9
Solved Threads: 1
 

Which book, and in what context? Are you certain it wasn't discussing Itanium processors (IA-64, Intel's first attempt at a 64-bit successor to the IA-32 line - better known as x86), rather than x86-64 processors? The former are indeed very different from the x86 series CPUs, but they never gained a real foothold for precisely that reason (among other things). The x86-64 design, which was developed by AMD and only adopted by Intel much later when it looked like they would be knocked out of their own market, is a derivative of the x86 line, and while there are significant differences, they are still based on the x86 architecture.

Schol-R-LEA
Posting Pro
556 posts since Oct 2010
Reputation Points: 254
Solved Threads: 85
 

Assembly Language Step-by-Step Programming with DOS and Linux by Jeff duntamen.It is an old book.Like around 2000 !

silvercats
Posting Whiz in Training
233 posts since Apr 2011
Reputation Points: 9
Solved Threads: 1
 

because I wanted to understand how do computers actually work,I started learning assembly.Like how memory,processor work etc.. .It is good to know those before learning a High level language...

silvercats
Posting Whiz in Training
233 posts since Apr 2011
Reputation Points: 9
Solved Threads: 1
 
Assembly Language Step-by-Step Programming with DOS and Linux by Jeff duntamen.It is an old book.Like around 2000 !


Ah, that explains it. It's an excellent textbook, but that edition came out before the x86-64 line was introduced; it was talking about Itanium, which was brand-new at the time.because I wanted to understand how do computers actually work,I started learning assembly.Like how memory,processor work etc.. .It is good to know those before learning a High level language...
Yes and no... every programmer is different, and what some people find helpful others might not. If it works for you, though, I would stick with it. Keep in mind that much of what he talks about in that version of the book is specific to real mode, which isn't very relevant to most modern programming even in assembly.

Schol-R-LEA
Posting Pro
556 posts since Oct 2010
Reputation Points: 254
Solved Threads: 85
 

as long as I would be able to create programs using his books for modern computers ,It doesn't matter. Will I be able to do that with his book?then learn 64bit from another book(thinking there is no BIG difference between modern x64 and x32))?

silvercats
Posting Whiz in Training
233 posts since Apr 2011
Reputation Points: 9
Solved Threads: 1
 

Someone will still need to program buttons on calculators where each button will be at least as powerful as the 8086 processor.

LOL

thines01
Postaholic
Team Colleague
2,424 posts since Oct 2009
Reputation Points: 445
Solved Threads: 402
 

Yes there IS a really BIG difference writing 64bit Assembly code verses 32bit code. Especially when it comes to Windows Programming (I am sure Linux is the same). You have a different calling convention, "shadow space", more memory addresses, more registers, stack should be/has to be aligned.

Learn 32bit first to get a firm understanding of how memory, cpu, program flow works. Then lean 64bit, skip 16bit it is dead.

GunnerInc
xor eax, eax
Team Colleague
79 posts since Jan 2011
Reputation Points: 38
Solved Threads: 13
 
skip 16bit it is dead

I wouldn't be so definite. 16-bit is very well around (and, ugh, 8-bit too). Their niches are very specific indeed, but really, 8-bit is the only area where assembly programming skills still have value.

nezachem
Posting Shark
903 posts since Dec 2009
Reputation Points: 719
Solved Threads: 194
 

Yes, and also when writing an OS/boot loader. Unless a newbie is going to write an OS, they are better off at the beginning to skip 16bit unless they really need it, it is a PITA to learn verses 32bit.

GunnerInc
xor eax, eax
Team Colleague
79 posts since Jan 2011
Reputation Points: 38
Solved Threads: 13
 

Ok thanks everyone! :)

silvercats
Posting Whiz in Training
233 posts since Apr 2011
Reputation Points: 9
Solved Threads: 1
 

>>skip 16bit it is dead

Skip 16-bit programs yes, but you still have to know about 8 and 16 bit assembly instructions because they are still relevant in 32 and 64-bit programs, especially the string instructions.

Ancient Dragon
Retired & Loving It
Team Colleague
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
 

cool.thanks

silvercats
Posting Whiz in Training
233 posts since Apr 2011
Reputation Points: 9
Solved Threads: 1
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You