The developers chose the 8088 over the 8086 because, while the 8088 worked on a 16-bit basis internally, it only communicated with the outside world using an 8-bit data bus. Since the 8-bit DataMaster data bus already existed, the 8088 was the obvious choice. This bus connects the motherboard of the PC, where the processor and its support chips are resident, to the memory and the expansion boards, which are plugged into the expansion slots. | System Programming Basics In the first part of this book we ll discuss the basics of system programming. We ll talk about the purpose of system programming and the methods and tools used in system programming. We ll also explain the PC s basic structure and the interaction between hardware BIOS and DOS. What Is System Programming Some users regardless if they re beginners or experienced programmers believe system programming is a programming technique that converts a problem into a finished program. Others think system programming means developing programs for one particular computer system. Application programming versus system programming Although both answers are incorrect the second is more accurate than the first. The most accurate description of system programming can be derived from the term application programming. This type of programming refers to information management and presentation within a program. This involves arranging this information into lists etc. and processing this information. The algorithms used for this are system independent and can be defined for almost any computer. The way this information is passed to a program and the way the information is displayed or printed are system dependent. System programming controls any hardware that sends information to or receives information from the computer. However since this information must be processed developing programs for PCs requires both application programming and system programming. Programming hardware requires the interaction of system programming DOS and the ROM-BIOS more on this later . The Three-Layer Model One of the most important tasks of system programming involves accessing the PC hardware. However the access doesn t have to occur immediately with the program turning directly to the hardware which is similar to accessing the processor on a video card. Instead the program can use the ROM-BIOS and DOS to negotiate hardware access. The ROM-BIOS and DOS are software interfaces .