Chapter 1Fundamentals of Computer 1.1Number System 1.1.1Basic Number Systems 1.1.2Conversions between Different Number Systems 1.1.3Common Data Units 1.2Logic Algebra and Logic Gates 1.2.1"OR" Operation and "OR" Gate 1.2.2"AND" Operation and "AND" Gate 1.2.3"NOT" Operation and the NOT-Inverter 1.2.4Basic Rules of Boolean Algebra 1.3Binary Numbers and Binary Addition/Subtraction 1.3.1 Negative Binary Numbers 1.3.2Binary Addition 1.3.3Binary Subtraction 1.3.4Adder Circuits 1.3.5Switchable Inverter and Binary Addition/Subtraction Circuit 1.4Computer Data Formats 1.4.1ACSII Code 1.4.2BCD ( Binary-Coded Decimal) Format 1.5Logic Circuit 1.5.1Logic Gates 1.5.2Flip-Flops 1.5.3Registers 1.5.4Tri-state Gate and BUS Structure Tips Exercise Chapter 2System Organization of Microcomputer 2.1The Basic System Components 2.1.1CPU (Central Processing Unit) 2.1.2The System Bus 2.1.3The Memory Subsystem 2.1.4The I/O Subsystem 2.2A Simple Computer 2.2.1Introduction 2.2.2Architecture of the Simple Computer 2.2.3Instruction Set of the Simple Computer 2.2.4Encoding Instructions 2.2.5Organization of the Control Unit 2.2.6Step-by-Step Instruction Execution Tips Exercise Chapter 3Intel 8086 Microprocessor 3.1The History of Intel Microprocessor Family 3.28086 CPU Architecture 3.2.1Execution Unit and Bus Interface Unit 3.2.2Organization of Execution Unit 3.2.3Organization of Bus Interface Unit (BIU) 3.3Internal Memory 3.3.1Addressing Data in Memory 3.3.2Memory Segment 3.3.3Segment Boundary 3.3.4Segment Offset 3.3.5About Stack Segment 3.4System Timing 3.4.1The System Clock 3.4.2Memory Access Time 3.4.3Wait States 3.4.4Bus Cycle 3.58086 Pin Assignments and Working Modes 3.5.1Pins and Their Function Descriptions 3.5.2Working Modes 3.6Basic Operations of 8086/8088 3.6.1Reset Operation 3.6.2Input and Output for 8086 Minimum Mode 3.6.3Bus Request and Bus Grant Timing in Minimum Mode 3.6.4Interrupt Operation 3.6.5Interrupt Operations in Maximum Mode Tips Exercise Chapter48086 Address Mode and Assembly Instructions 4.18086 Assembly Instruction Format 4.28086 Addressing Modes 4.2.1Immediate Addressing 4.2.2Direct Addressing 4.2.3Register Addressing 4.2.4Register Indirect Addressing 4.2.5Register Relative Addressing 4.2.6Base-plus-Index Addressing 4.2.7Base Relative-plus-Index Addressing 4.3Data Movement Instructions 4.3.1MOV Instruction 4.3.2PUSH and POP 4.3.3XCHG Instruction 4.3.4XLAT Instruction 4.3.5LEA Instruction 4.3.6LDSandLES 4.3.7Flags Register Movement Instruction 4.3.8IN and OUT 4.4Arithmetic Instructions and Logic Instructions 4.4.1ADD and SUB Function 4.4.2INC and DEC Function 4.4.3NEG and CMP Function 4.4.4MUL and DIV Function 4.4.5Type Conversion Functions 4.4.6BCD Conversion Functions 4.4.7Boolean Operations 4.4.8Shifting and Rotation 4.5String Instructions 4.5.1The Direction Flag 4.5.2String Data Transfers 4.5.3String Comparisons 4.6Program Control Instructions 4.6.1Program Flow Control Instructions 4.6.2Machine Control and Miscellaneous Instructions 4.7The Symbolic Instruction Set Tips Exercise Chapter5Directives and Macro Processing 5.1The Format of the Directives 5.2Operators and Expression 5.3Directives 5.3.1Data Definition and Storage Allocation 5.3.2EQU Directive 5.3.3Segment Definition Directive 5.3.4Assume Directive 5.3.5PROC Directive 5.3.6END Directive 5.3.7ORG Directive 5.3.8Structures 5.3.9Records 5.3.10The PAGE and TITLE Listing Directives 5.3.11EXTRN/EXTERN Directive 5.3.12GROUP Directive 5.3.13INCLUDE Directive 5.3.14LABEL Directive 5.4Macro Processing 5.4.1Macro Definition 5.4.2Macro Sequence and Procedure Calling 5.4.3Macro Directives 5.5DOS Function Calls 5.5.1The IBM PCBIOS 5.5.2An Introduction to MS-DOS' Services 5.5.3MS-DOS Calling Sequence 5.5.4Frequently Used MS-DOS Functions 5.6Assembling, Linking and Executing a Program 5.6.1The Assembler and Linker 5.6.2Assembling a Source Program 5.6.3Linking an Object Program 5.6.4Executing a Program 5.6.5Using the DEBUG Program 5.6.6DEBUG Commands Exercise Tips Exercise Chapter 6Programming with Assembly Language 6.1Design of Assembly Program 6.2Simple Procedures Designing 6.3Branch and Looping Procedures 6.4Procedure Call and Return 6.5Programming Examples Tips Exercise Chapter 7Memory System 7.1 Overview of the Memory 7.1.1Non-Volatile Memory 7.1.2Volatile Memory 7.1.3Performance Index of Memory System 7.2Memory Devices 7.2.1SRAM 6264 7.2.2SRAM6116 7.2.3DRAM 2164A 7.2.4EPROM 2764A 7.3Memory Module Design 7.3.1 Memory Pin Connections 7.3.2Memory Module Design 7.3.3Memory Expansion Examples Tips Exercise Chapter 8I/O Interfaces 8.1L/O Instructions 8.2L/O Interfacing Methods 8.3Serial Interface and Serial Communication 8.3.1Serial Interface 8.3.2Basic Serial Transmission Lines 8.3.3Asynchronous and Synchronous Communication 8.48251A Programmable Communication Interface 8.4.1The Architecture of the 8251A 8.4.2The Application of the 8251 A 8.4.3The Initialization of the 8251A 8.5Parallel Communication Interface 8.68255A Programmable Peripheral Interface 8.6.1The Architecture of the 8255A 8.6.2The Function Description of the 8255A 8.6.3The Communication Mode of 8255A 8.6.4The Initialization and Programming of 8255A 8.7Programmable Timer and Event Counter 8.8Intel's 8253 Programmable Timer/Counter 8.8.1The Architecture of 8253 8.8.2The Operation Mode Definition of 8253 8.8.3Examples of 8253 Timer/Counter Tips Exercise Appendix A8086/8088 Instruction Set Summary Appendix BVocabulary and Terms Reference