flat assembler
Message board for the users of flat assembler.

Index > Main > What book would you recommend for learning Assembly.

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
mattst88



Joined: 12 May 2006
Posts: 260
Location: South Carolina
mattst88 16 Dec 2008, 16:37
revolution wrote:
mattst88: Except that most people will only ever get the chance to program for the x86 platform. So learning another CPU is not an option in that case.


While this is certainly true, it makes it seem as if obtaining a computer with a RISC processor is very difficult, which is certainly not the case.

Modern MIPS systems should be available. See Loongson. MIPS based SGI systems are plentiful as well.

SPARC systems can be obtained cheaply and easily from eBay.

POWER/PowerPC systems can be obtained cheaply and easily.

Alpha systems can be obtained, cheaply if you're patient.

I don't classify PA-RISC as a real RISC processor, so we'll ignore it.

Anyway, you're right when you imply that knowledge of x86 assembly is more practical. Honestly though, I can't remember the last time I thought to myself "I'll learn X because it will help be get a job." I know I'm stretching it, but you get my point.

I learn things because they interest me. If they happen to be useful, great. Otherwise, it's just another thing I'm experienced with that will help me to understand future concepts.

LocoDelAssembly: I'd personally recommend Alpha, but they're kind of difficult to get. MIPS seems to be the de facto teaching platform. Each architecture is interesting in its own right.

For instance,

o SPARC has Register Windows
o PowerPC has AltiVec, what SSE5 is modelled after
o MIPS has probably the most intuitive instuction set

If I'm getting too off topic, feel free to break this into a separate thread.

_________________
My x86 Instruction Reference -- includes SSE, SSE2, SSE3, SSSE3, SSE4 instructions.
Assembly Programmer's Journal
Post 16 Dec 2008, 16:37
View user's profile Send private message Visit poster's website Reply with quote
JoeCoder1



Joined: 13 Jun 2011
Posts: 62
JoeCoder1 18 Jun 2011, 20:24
The best assembler to learn is MVS. You have two choices now, use MVS from 1974 on Hercules or www.z390.org. The architecture is simple, has many registers (16) so you can write efficient code and the operating system is actually written in assembler and supports assembler, unlike almost any other OS, which are usually written in C. So you don't have to convert syscalls or header files, everything is already in assembler! Laughing

It's not very practical but if you want to learn you can have fun and learn alot. But be careful or you will hate X86 and Linux/UNIX/Windows after that. Trust me Sad
Post 18 Jun 2011, 20:24
View user's profile Send private message Reply with quote
JoeCoder1



Joined: 13 Jun 2011
Posts: 62
JoeCoder1 04 Jul 2011, 08:14
Looking at Sparc a little, it is weird. I mean WEIRD!!! I thought RISC would be simple and Sparc does have a few simple things like instructions all being the same length but other stuff like register windows and delay slots and three operand instructions are not going to help anybody with general assembler programming concepts. I still say z390.org is a good bet if you want to understand assembler concepts. Intel is much more complicated!
Post 04 Jul 2011, 08:14
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 04 Jul 2011, 14:45
Three-operand instructions would've been nice on x86 - but so would more registers, not having some instructions that are faster to implement with multiple simpler instruction, etc Smile
Post 04 Jul 2011, 14:45
View user's profile Send private message Visit poster's website Reply with quote
JoeCoder1



Joined: 13 Jun 2011
Posts: 62
JoeCoder1 04 Jul 2011, 16:08
Agree with you on the register issue. We had 16 gprs since the first release of OS/360 back in the 1960s and none of the gprs have implied uses like stack pointer, etc. You really get 16! Getting used to Intel is hard for me...anyway AMD64 improved the situation a little.

We actually do have three operand instructions, but not for stuff like adding two registers. At some point I think a little restraint is better than adding tons of instructions. I mean the point is supposed to be reduced complexity, not just fewer opcodes. I think they are trying to call it RISC while jamming all the possible CISC functions into a few opcodes! That gets away from simplicity.
Post 04 Jul 2011, 16:08
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.