home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.asm.x86      Ahh, the lost art of x86 assembly      4,675 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 4,301 of 4,675   
   Anton Ertl to George Neuner   
   Re: beginner assembler for windows?   
   24 Jan 21 16:39:12   
   
   From: anton@nospicedham.mips.complang.tuwien.ac.at   
      
   George Neuner  writes:   
   >The problem is that a noob can't sensibly write anything in assembler   
   >for a modern 64-bit chip.   
      
   I teach about 70 noobs every year to write something in assembler for   
   a modern 64-bit chip, so I obviously disagree.   
      
   >Whether or not you care to admit it, LOTS   
   >of things have changed since the old days.  You say you learned IBM   
   >assembler (700? 360?) ... if you remember any of it that is a good   
   >start, but a modern x86 has a vastly larger instruction set.   
      
   So what?  You don't need to know every instruction to sensibly write   
   something in assembler.  And I expect that nearly all of these   
   instructions also work in 16-bit mode; conversely, if you want to   
   pretend that the 64-bit CPU you use is only an 8086, you can just as   
   well pretend that this CPU has no 80387, no MMX, no SSE, no AVX and   
   later extensions, and you end up with a similar number of instructions   
   as the 8086, and probably fewer that you really want to use (on the   
   8086 you wanted to use instructions like XLAT and LODS, you normally   
   don't on a modern CPU).   
      
   >You really do need to start with something simpler and work up.  There   
   >are plenty of good guides for 8086 assembler.  Set up a virtual   
   >machine running DOS or an old version of Windows[*] and learn on that.   
   >Once you get reasonably good at 8086, then tackle 80386.   
      
   I don't think that's a good approach.  If you can write a program for   
   a task for the 8086, it's easier and better to write it for IA-32 or   
   AMD64 (the 32-bit and 64-bit descendant architectures; the 8086 is   
   quite different from them, while they are relatively similar to each   
   other), and you don't need more different instructions for it, rather   
   on the contrary, see above.   
      
   There may be fewer good guides; but using a search engine ("assembler   
   guide"), I find on the first page two IA-32 guides, one AMD64 guide,   
   some for other architectures, none for 8086.  When looking for AMD64   
   guides, note that this architecture is also known as x86-64, x86_64,   
   x64, and Intel 64.   
      
   - anton   
   --   
   M. Anton Ertl                    Some things have to be seen to be believed   
   anton@mips.complang.tuwien.ac.at Most things have to be believed to be seen   
   http://www.complang.tuwien.ac.at/anton/home.html   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca