 Advanced ladder logic functions allow PLCs to perform calculations, make decisions, and other complex tasks. They rely upon data stored in the memory of the PLC that is divided into two broad categories – data files and program files. Program files are the part of the processor memory that stores the user ladder logic program and accounts for most of the total memory in a PLC system. File zero system functions contain system-related information and user-programmed information such as processor type, processor file name, and password. File one, reserved, is not accessible to the user and is reserved for the processor. File two, user-program, contains the instructions defined by the user to create the ladder logic program. Files three through two-fifty-five are user-created subroutine programs. The processor can store and execute one program at a time. The main program will always be in user-program file two and program files three through two-fifty-five will be subroutines. Data files store information needed to carry out the user program and is accessed through the ladder logic program. Organization is defined by the type of data they contain and are assigned a file number. Files zero and one are input and output data files assigned to a physical location of a rack and slot providing an interface to real-world input output. Files three through eight store the processor status, numerical data, and status of various bits. The remaining data files nine through two-fifty-five are user-defined based on the requirements of the program or instructions used and may be configured for bit, timer, counter, or others. To summarize, the memory of the CPU stores the program files while also holding the status of the input output and data values.