.In .NH INTRODUCTION .NH 2 Why an EM backend for SPARC processors? .PP With the introduction of SPARC-based computers like the Sun-4, a whole new range of fast computers became readily available to the general public. The power of large mainframes had been captured into a small desk-top computer at only a fraction of the cost. .PP In the older days, a new computer used to be very hard to integrate into the existing environment, but due to standardization in the software world incompatibility in hardware no longer means incompatibility in software. Programs that are written for computer A can often be run on computer B without major modifications. Unfortunately this is not true for all software. .PP There will always be programs that rely on the specific hardware of a certain computer for many different reasons. They can be categorized as: .IP - poorly written programs .IP - programs to directly control hardware (device drivers) .IP - code that requires efficiency (time-critical I/O drivers) .IP - programs to generate code to run on the hardware (compilers) .LP This project for instance, the design and implementation of an EM backend for SPARC processors, comes in the last category. .PP We have designed and implemented an algorithm to convert EM programs to code that will run directly on the SPARC hardware. Henceforth, both the algorithm and the implementation will be referred to as the EM-to-SPARC backend, or simply: the backend. .NH 2 Why has nobody done this before? .PP Since EM was designed around 1981 and even SPARC has been around for some years now, one may wonder why nobody has ever written an EM to SPARC backend before. The reason is twofold. In the first place, there are some non-trivial problems to be solved in the design phase, and secondly, the SPARC-design combined with the lack of documentation, would surely cost a lot of blood, sweat and tears. The absence of clues to any of the design problems, combined with the \(em at first glance \(em inhuman SPARC instruction set did not make this a very attractive project. .PP On the other hand, these were exactly the reasons which made us take on this particular project: it would require design skills, as well as some hard work; a golden combination for a successful project. .bp