QUESTION: What specific programming tasks in Pathfinder were done in assembly, and why why wasn't C used instead? Was the assembly used within C programs or in separate assembly-only programs? ANSWER from Steve Stolper on October 28, 1997: Assembly language still has utility. The majority of the "boot" code was written in assembly language because (very simplified): 1. Performance is VERY important. If the spacecraft were to take a reset while plunging through the atmosphere at 17,000 MPH, it is vital that the computer system boot up extremely quickly. 2. Assembly language is compact. A variety of technical reasons dictated that the boot code occupy as little EEPROM as possible. These reasons included vulnerability to corruption, desireability of redundancy, and lack of EEPROM. 3. Assembly language is powerful. The boot process configures the flight computer to run. This includes a lot of low-level "housekeeping" required to place the computer into a state that can execute the flight code. In addition, assembly code was used whenever its performance/power was warranted. Knowledge of assembly language programming was vital for debugging the working system. Insidious bugs demanded that the developer understand EXACTLY what the processor was doing. The assembly language files were kept separate from the "C" language files. This modularity aided our development effort. Steve