views:

1091

answers:

6
+4  Q: 

SPARC assembly

I've been curious in the past few months in trying my hand at doing some assembly for the SPARC processor (either V8 or V9). My question is this, I have no access to a SPARC machine, is there an emulator & assembler/linker for SPARC running on an x86(Linux)? I've looked at QEMU but Im not too sure as this is what I need/

+1  A: 

Looks like QEMU does enough emulation for you to install a SPARC Linux on: http://www.bellard.org/qemu/status.html

In which case, just grab a SPARC distribution (e.g., Debian), and you're all set!

Chris Jester-Young
+3  A: 

Ok, here it is:

  • qemu is emulating user code, not system
  • tkisem is graphically displaying cpu internals
  • Also, there is a thing called "ISEM" (Instructional Sparc Emulator)

Maybe googling will help you with detailed information. My opinion - qemu is good enough for that.

Alexey Shatygin
+2  A: 

SimICS emulates a Sparc platform. Academic and personal licenses are free.

Edit: I didn't do SimICS justice in my initial response, it is a very useful tool for Sparc-based development. You can instrument, profile, and explore the behavior or code in both user space and kernel space. I first became aware of it about 10 years ago, when it was released by the Swedish Institute of Computer Science (SICS). They later spun it out as a commercial product.

DGentry
Details: The most solid Sparc V9 simulator is Virtutech Simics, at http://www.virtutech.com/academic . Free for academic usage, and has a very solid Sparc server model of the US-II and US-III/III+/IV+ generations (as well as a simple Niagara). Runs Solaris 7 to 10, and Linux.
jakobengblom2
A: 

polarhome offers shell access to a Solaris system (which appears to be a Sun Sparc system, not x86). It costs 10 local currency units (dollars, euros, etc) or $2 US, whichever is greater.

DGentry
+2  A: 

In addition to complete system emulation, QEMU can also emulate SPARC at the user-space level, so that you can write a program in SPARC assembly and use standard Linux system calls and it will call the standard x86 kernel versions... works pretty well!!

If you aren't sure you want to learn SPARC assembly specifically, you might look into MIPS instead. Most wireless routers are based on MIPS processors and can run Linux. It is similar to SPARC, of a similar vintage, and along with SPARC it's one of the two original RISC architectures... in my opinion MIPS is actually a little bit more of a clean and elegant architecture than SPARC, but they're both great.

Dan
Great idea - if one is interested in learning RISCy stuff, they are of very similar vein.
Toybuilder
+1  A: 

As an aside, you can get older secondhand Sun workstations off Ebay for about 3/4 of buggerall.

ConcernedOfTunbridgeWells