The SPARCBench package consists of a SPARCTM cross-assembler (sasm), user-code simulator (ssim), and a disassembler (dis), all of which run under MSDOS. These tools are based upon Version 7 of the SPARC Architecture Manual.
Ssim attempts to simulate the user-code instruction set of the SPARC cpu as run under SunOS. It makes no effort to simulate privleged (kernel mode) instructions. It also functions completely within the limits of MSDOS. This means that many system calls (particularly those dealing with multiprocessing and networking) either return ENOSYS (not implemented) or EINVAL (invalid).
Ssim is not intended as a vehicle to simulate large SPARC binaries. First, the performance would be miserable. On a 10Mhz 8086 laptop, between 1000 and 2000 SPARC instructions per second are simulated. Secondly, the missing system call functionality mentioned previously precludes running just about any large (and many small) SPARC binaries.
So, what good is ssim? It is mainly intended for those wishing to learn the SPARC instruction set as an assembly language. The SPARC instruction set is small, regular and has other RISC-like properties. SPARC hardware provides the best method for learning the instruction set. Ssim allows MSDOS hardware to function as a substitute. It also has a rudimentary tracing capability to record addresses of code execution and data read/write.
A cross assembler (sasm) is included so you can write your own SPARC assembler programs and execute them using ssim. There is no linker. Since ssim is targeted for small hand-written programs, sasm assembles entire complete programs directly into NMAGIC (to save disk space) SPARC executables. Ssim can handle ZMAGIC format binaries also, as long as they are less than 64k total text and data size :-). The output of sasm will indeed run on actual SPARC hardware.
Ssim contains a simple interactive debug environment for stepping through SPARC code execution. Its user interface is modelled after a subset of the GNU debugger gdb.