ULTRAVIOLET Ultraviolet is a 2-pass assembler written specially for the Sinclair ZX Spectrum. It is supplied in two different versions for use in either 16K or 48K machines. Please make sure that you are using the correct version for your machine. The 48K version of Ultraviolet can be used at the same time as the 48K version of Infrared, the complementary disassembler program from ACS Software. In this case, please note that Ultraviolet should be loaded before Infrared. To load Ultraviolet, simply use LOAD””. (The 16K version loads in three sections, so be patient.) To prepare the assembler for use, press any key to clear the screen and low memory. The assembler will remain in high memory ready for use. It is not possible here to provide an account of how to program in Z80 machine code. If you want to learn, we would suggest that you acquire a copy of “Understanding Your ZX81 ROM” by Dr. Ian Logan, published by Melbourne House Publishers Ltd. Writing machine code programs with Ultraviolet To use Ultraviolet, first reserve space for the machine code that it will produce. This is probably best done by putting a dummy REM statement at the beginning of the program. The REM statement should contain enough space to take the machine code. In this case, the first address available to accept machine code will normally be 23760. Normal Z80 m