A microprocessor controlled data acquisition system for pulse height analysis and multichannel scaling is described. A 4K×24 bit static memory is used to obtain a fast data acquisition rate. The system can store 12 bit ADC or TDC data within 150 ns. Operating commands can be entered via a small keyboard or by a RS-232-C interface. An oscilloscope is used to display a spectrum. The display of a spectrum or the transmission of spectrum data to an external computer causes only a short interruption of a measurement in progress and is accomplished by using a DMA circuit. The program is writtenin Modular Pascal and is divided into 15 modules. These implement 9 parallel processes which are synchronized by using semaphores. Hardware interrupts from the data acquisition, DMA, keyboard and RS-232-C circuits are used to signal these processes.