معرفی کتاب «The Intel microprocessors : 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Pentium Pro Processor, Pentium II, Pentium III, and Pentium 4, and Core2 with 64-bit extensions : architecture, programming, and interfacing» نوشتهٔ Brey, Barry B.، منتشرشده توسط نشر Pearson : Prentice Hall در سال 2019. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
This is the eBook of the printed book and may not include any media, website access codes, or print supplements that may come packaged with the bound book. For introductory-level Microprocessor courses in the departments of Electronic Engineering Technology, Computer Science, or Electrical Engineering. The INTEL Microprocessors: 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Pentium Pro Processor, Pentium II, Pentium III, Pentium 4, and Core2 with 64-bit Extensions, 8e provides a comprehensive view of programming and interfacing of the Intel family of Microprocessors from the 8088 through the latest Pentium 4 and Core2 microprocessors. The text is written for students who need to learn about the programming and interfacing of Intel microprocessors, which have gained wide and at times exclusive application in many areas of electronics, communications, and control systems, particularly in desktop computer systems. A major new feature of this eighth edition is an explanation of how to interface C/C++ using Visual C++ Express (a free download from Microsoft) with assembly language for both the older DOS and the Windows environments. Many applications include Visual C++ as a basis for learning assembly language using the inline assembler. Updated sections that detail new events in the fields of microprocessors and microprocessor interfacing have been added. Organized in an orderly and manageable format, this text offers more than 200 programming examples using the Microsoft Macro Assembler program and provides a thorough description of each of the Intel family members, memory systems, and various I/O systems. Cover......Page 1 CONTENTS......Page 12 Introduction/Chapter Objectives......Page 20 The Electrical Age......Page 21 Programming Advancements......Page 23 The Microprocessor Age......Page 24 The Modern Microprocessor......Page 26 The Memory and I/O System......Page 36 The Microprocessor......Page 44 Digits......Page 48 Positional Notation......Page 49 Conversion to Decimal......Page 50 Conversion from Decimal......Page 51 Binary-Coded Hexadecimal......Page 52 ASCII and Unicode Data......Page 54 BCD (Binary-Coded Decimal) Data......Page 56 Byte-Sized Data......Page 57 Word-Sized Data......Page 59 Doubleword-Sized Data......Page 60 Real Numbers......Page 62 1–5 Summary......Page 64 1–6 Questions and Problems......Page 65 2–1 Internal Microprocessor Architecture......Page 70 The Programming Model......Page 71 Multipurpose Registers......Page 73 Segments and Offsets......Page 77 Segment and Offset Addressing Scheme Allows Relocation......Page 79 Selectors and Descriptors......Page 82 Program-Invisible Registers......Page 86 2–4 Memory Paging......Page 87 Paging Registers......Page 88 The Page Directory and Page Table......Page 89 2–5 Flat Mode Memory......Page 91 2–6 Summary......Page 92 2–7 Questions and Problems......Page 93 Introduction/Chapter Objectives......Page 96 3–1 Data-Addressing Modes......Page 97 Register Addressing......Page 100 Immediate Addressing......Page 102 Direct Data Addressing......Page 105 Register Indirect Addressing......Page 107 Base-Plus-Index Addressing......Page 110 Register Relative Addressing......Page 112 Base Relative-Plus-Index Addressing......Page 115 Scaled-Index Addressing......Page 117 Data Structures......Page 118 Direct Program Memory Addressing......Page 119 Indirect Program Memory Addressing......Page 120 3–3 Stack Memory-Addressing Modes......Page 121 3–4 Summary......Page 124 3–5 Questions and Problems......Page 126 Introduction/Chapter Objectives......Page 130 Machine Language......Page 131 The 64-Bit Mode for the Pentium 4 and Core2......Page 139 PUSH......Page 141 Initializing the Stack......Page 143 LEA......Page 146 LDS, LES, LFS, LGS, and LSS......Page 147 LODS......Page 149 STOS......Page 150 MOVS......Page 152 INS......Page 154 OUTS......Page 155 LANF and SAHF......Page 156 IN and OUT......Page 157 BSWAP......Page 159 CMOV......Page 160 4–7 Assembler Detail......Page 161 Directives......Page 162 Memory Organization......Page 166 A Sample Program......Page 169 4–8 Summary......Page 170 4–9 Questions and Problems......Page 173 5–1 Addition, Subtraction, and Comparison......Page 175 Addition......Page 176 Subtraction......Page 181 Comparison......Page 184 Multiplication......Page 185 Division......Page 188 BCD Arithmetic......Page 191 ASCII Arithmetic......Page 192 AND......Page 194 OR......Page 195 Test and Bit Test Instructions......Page 199 NOT and NEG......Page 200 Shift......Page 201 Rotate......Page 203 Bit Scan Instructions......Page 204 SCAS......Page 205 5–7 Summary......Page 206 5–8 Questions and Problems......Page 208 6–1 The Jump Group......Page 211 Unconditional Jump (JMP)......Page 212 Conditional Jumps and Conditional Sets......Page 217 LOOP......Page 220 6–2 Controlling the Flow of the Program......Page 221 WHILE Loops......Page 224 REPEAT-UNTIL Loops......Page 225 6–3 Procedures......Page 227 CALL......Page 228 RET......Page 230 Interrupt Vectors......Page 232 Interrupt Instructions......Page 233 Interrupt Control......Page 234 64-Bit Mode Interrupts......Page 235 NOP......Page 236 ENTER and LEAVE......Page 237 6–6 Summary......Page 238 6–7 Questions and Problems......Page 240 Introduction/Chapter Objectives......Page 242 Basic Rules and Simple Programs......Page 243 Using Character Strings......Page 245 Using Data Structures......Page 246 An Example of a Mixed-Language Program......Page 248 An Example that Uses Console I/O to Access the Keyboard and Display......Page 250 Directly Addressing I/O Ports......Page 252 Developing a Visual C++ Application for Windows......Page 253 Linking Assembly Language with Visual C++......Page 261 7–4 Summary......Page 266 7–5 Questions and Problems......Page 267 Introduction/Chapter Objectives......Page 269 The Assembler and Linker......Page 270 PUBLIC and EXTRN......Page 272 Libraries......Page 273 Macros......Page 276 Reading the Keyboard......Page 278 Using the Video Display......Page 284 Using a Timer in a Program......Page 286 The Mouse......Page 288 8–3 Data Conversions......Page 290 Converting from Binary to ASCII......Page 291 Displaying and Reading Hexadecimal Data......Page 293 Using Lookup Tables for Data Conversions......Page 295 An Example Program Using a Lookup Table......Page 297 Disk Organization......Page 299 File Names......Page 300 Sequential Access Files......Page 301 Random Access Files......Page 310 Time/Date Display Program......Page 313 Numeric Sort Program......Page 314 Data Encryption......Page 316 8–6 Summary......Page 318 8–7 Questions and Problems......Page 319 9–1 Pin-Outs and the Pin Functions......Page 321 DC Characteristics......Page 322 Pin Connections......Page 323 The 8284A Clock Generator......Page 326 Operation of the 8284A......Page 328 Demultiplexing the Buses......Page 329 The Buffered System......Page 331 Timing in General......Page 334 Read Timing......Page 335 Write Timing......Page 338 RDY and the 8284A......Page 339 Maximum Mode Operation......Page 342 The 8288 Bus Controller......Page 343 9–7 Summary......Page 344 9–8 Questions and Problems......Page 345 10–1 Memory Devices......Page 347 Memory Pin Connections......Page 348 ROM Memory......Page 349 Static RAM (SRAM) Devices......Page 351 Dynamic RAM (DRAM) Memory......Page 352 Why Decode Memory?......Page 359 Simple NAND Gate Decoder......Page 360 The 3-to-8 Line Decoder (74LS138)......Page 361 PLD Programmable Decoders......Page 363 Basic 8088/80188 Memory Interface......Page 368 Interfacing Flash Memory......Page 370 Error Correction......Page 372 16-Bit Bus Control......Page 375 Memory Banks......Page 382 32-Bit Memory Interface......Page 383 64-Bit Memory Interface......Page 385 DRAM Revisited......Page 389 SDRAM......Page 390 10–8 Summary......Page 392 10–9 Questions and Problems......Page 394 11–1 Introduction to I/O Interface......Page 396 The I/O Instructions......Page 397 Isolated and Memory-Mapped I/O......Page 398 Basic Input and Output Interfaces......Page 399 Handshaking......Page 401 Notes about Interfacing Circuitry......Page 402 Decoding 8-Bit I/O Port Addresses......Page 406 Decoding 16-Bit I/O Port Addresses......Page 407 8- and 16-Bit-Wide I/O Ports......Page 408 32-Bit-Wide I/O Ports......Page 411 Basic Description of the 82C55......Page 414 Programming the 82C55......Page 416 Mode 0 Operation......Page 417 An LCD Display, Interfaced to the 82C55......Page 422 Signal Definitions for Mode 1 Strobed Input......Page 433 Signal Definitions for Mode 1 Strobed Output......Page 435 Signal Definitions for Bidirectional Mode 2......Page 437 82C55 Mode Summary......Page 439 The Serial EEPROM Interface......Page 440 8254 Functional Description......Page 442 Programming the 8254......Page 443 DC Motor Speed and Direction Control......Page 448 16550 Functional Description......Page 452 16550 Pin Functions......Page 453 Programming the 16550......Page 454 The DAC0830 Digital-to-Analog Converter......Page 459 The ADC080X Analog-to-Digital Converter......Page 461 Using the ADC0804 and the DAC0830......Page 464 11–7 Summary......Page 465 11–8 Questions and Problems......Page 467 The Purpose of Interrupts......Page 470 Interrupts......Page 471 The Operation of a Real Mode Interrupt......Page 474 Operation of a Protected Mode Interrupt......Page 475 Interrupt Flag Bits......Page 476 Storing an Interrupt Vector in the Vector Table......Page 477 12–2 Hardware Interrupts......Page 478 INTR and INTA......Page 480 The 82C55 Keyboard Interrupt......Page 481 Using the 74ALS244 to Expand Interrupts......Page 484 Daisy-Chained Interrupt......Page 485 General Description of the 8259A......Page 487 Programming the 8259A......Page 488 8259A Programming Example......Page 494 12–5 Interrupt Examples......Page 500 Real-Time Clock......Page 501 Interrupt-Processed Keyboard......Page 503 12–6 Summary......Page 506 12–7 Questions and Problems......Page 507 13–1 Basic DMA Operation......Page 509 Basic DMA Definitions......Page 510 Pin Definitions......Page 511 Internal Registers......Page 513 Software Commands......Page 516 The 8237 Connected to the 80X86 Microprocessor......Page 517 Memory-to-Memory Transfer with the 8237......Page 518 DMA-Processed Printer Interface......Page 523 13–3 Shared-Bus Operation......Page 525 Types of Buses Defined......Page 526 Pin Definitions......Page 528 Floppy Disk Memory......Page 532 Pen Drives......Page 536 Hard Disk Memory......Page 537 Optical Disk Memory......Page 540 Video Signals......Page 541 The TTL RGB Monitor......Page 542 The Analog RGB Monitor......Page 543 13–7 Questions and Problems......Page 548 Introduction/Chapter Objectives......Page 550 Signed Integers......Page 551 Floating-Point......Page 552 Internal Structure of the 80X87......Page 555 Data Transfer Instructions......Page 560 Arithmetic Instructions......Page 562 Comparison Instructions......Page 563 Transcendental Operations......Page 564 Coprocessor Control Instructions......Page 565 Coprocessor Instructions......Page 567 Calculating the Area of a Circle......Page 584 Finding the Roots Using the Quadratic Equation......Page 585 Using a Memory Array to Store Results......Page 586 Converting a Single-Precision Floating-Point Number to a String......Page 587 Data Types......Page 589 Instruction Set......Page 590 14–6 Introduction to SSE Technology......Page 600 Floating-Point Data......Page 601 The Instruction Set......Page 602 Programming Examples......Page 603 14–7 Summary......Page 606 14–8 Questions and Problems......Page 608 15–1 The ISA Bus......Page 611 The 8-Bit ISA Bus Output Interface......Page 612 The 8-Bit ISA Bus Input Interface......Page 617 The 16-Bit ISA Bus......Page 620 15–2 The Peripheral Component Interconnect (PCI) Bus......Page 621 The PCI Address/Data Connections......Page 622 Configuration Space......Page 624 BIOS for PCI......Page 626 PCI Express Bus......Page 629 Port Details......Page 631 15–4 The Serial COM Ports......Page 633 Communication Control......Page 634 USB Data......Page 636 USB Commands......Page 637 The USB Bus Node......Page 639 Software for the USBN9604/3......Page 640 15–6 Accelerated Graphics Port (AGP)......Page 642 15–7 Summary......Page 643 15–8 Questions and Problems......Page 644 16–1 80186/80188 Architecture......Page 646 80186 Basic Block Diagram......Page 647 80186/80188 Basic Features......Page 648 Pin-Out......Page 650 80186/80188 Timing......Page 653 Peripheral Control Block......Page 656 Interrupt Controller......Page 657 Timers......Page 662 DMA Controller......Page 668 Chip Selection Unit......Page 670 16–3 80C188EB Example Interface......Page 674 What Is a Real-Time Operating System (RTOS)?......Page 681 An Example System......Page 682 A Threaded System......Page 685 Hardware Features......Page 689 Additional Instructions......Page 691 16–6 Summary......Page 693 16–7 Questions and Problems......Page 694 Introduction/Chapter Objectives......Page 696 17–1 Introduction to the 80386 Microprocessor......Page 697 The Memory System......Page 700 The Input/Output System......Page 706 Memory and I/O Control Signals......Page 707 Timing......Page 708 Wait States......Page 710 Control Registers......Page 711 Debug and Test Registers......Page 712 Descriptors and Selectors......Page 714 Descriptor Tables......Page 717 The Task State Segment (TSS)......Page 719 17–4 Moving to Protected Mode......Page 721 17–5 Virtual 8086 Mode......Page 731 17–6 The Memory Paging Mechanism......Page 732 The Page Directory......Page 733 The Page Table......Page 734 Pin Definitions......Page 737 Basic 80486 Architecture......Page 741 80486 Memory System......Page 742 17–8 Summary......Page 745 17–9 Questions and Problems......Page 746 Introduction/Chapter Objectives......Page 748 18–1 Introduction to the Pentium Microprocessor......Page 749 The Memory System......Page 753 System Timing......Page 754 Control Registers......Page 757 EFLAG Register......Page 758 Memory-Management Mode......Page 759 18–4 New Pentium Instructions......Page 761 18–5 Introduction to the Pentium Pro Microprocessor......Page 766 Internal Structure of the Pentium Pro......Page 767 Pin Connections......Page 769 The Memory System......Page 773 System Timing......Page 774 Control Register......Page 775 18–7 Summary......Page 776 18–8 Questions and Problems......Page 777 Introduction/Chapter Objectives......Page 778 19–1 Introduction to the Pentium II Microprocessor......Page 779 The Memory System......Page 784 Input/Output System......Page 786 CPUID Instruction......Page 787 SYSENTER and SYSEXIT Instructions......Page 788 Chip Sets......Page 789 19–4 The Pentium 4 and Core2......Page 790 Memory Interface......Page 791 Register Set......Page 792 Hyper-Threading Technology......Page 794 CPUID......Page 795 Model-Specific Registers......Page 798 64-Bit Extension Technology......Page 799 19–5 Summary......Page 801 19–6 Questions and Problems......Page 802 The Assembler......Page 804 Assembler Memory Models......Page 805 Selected DOS Function Calls......Page 806 Using Visual C++......Page 809 Create a Dialog Application......Page 810 APPENDIX B: INSTRUCTION SET SUMMARY......Page 813 Instruction Set Summary......Page 817 SIMD Instruction Set Summary......Page 900 Data Movement Instructions......Page 902 Arithmetic Instructions......Page 904 Logic Instructions......Page 910 Comparison Instructions......Page 911 Data Conversion Instructions......Page 913 APPENDIX C: FLAG-BIT CHANGES......Page 914 APPENDIX D: ANSWERS TO SELECTED EVEN-NUMBERED QUESTIONS AND PROBLEMS......Page 916 INDEX......Page 934 A......Page 935 C......Page 936 D......Page 937 G......Page 938 L......Page 939 M......Page 940 P......Page 941 R......Page 942 T......Page 943 Z......Page 944
knowledge Of Intel Microprocessors, Found In Most Computer Systems And In Many Areas Of Electronic Communications And Control Systems, Is Essential For A Career In Electronics, Computer Science, Or Any Field That Relies On Computer Systems. Now In Its Eighth Edition, the Intel Microprocessors Provides Updated Comprehensive Coverage Of The Latest Developments In The Field Of Microprocessors. This New Edition Is A Powerful Reference And Instructional Tool To:
- explain How To Program The Pentium Core 2 And Its New 64-bit Architecture
- illustrate Concepts For Students With 200 Relevant Programming Examples, Many Written In Visual C++ With Embedded Assembly Language Code
- develop Software To Control Application Interfaces To The Microprocessor
- program The Microprocessor Using The Popular Microsoft Visual C Programming Environment With Embedded Assembly Language To Control Personal Computers
- develop Software To Control The Keyboard, Video Display, And Various Other Components In The Computer System
- program The Numeric Coprocessor, The Mmx, And Sse Units To Solve Complex Equations
- explain The Differences Between Family Members And Highlight The Features Of Each Member
- describe The Use Of Real Mode (dos) And Protected Mode (windows) Of The Microprocessor
- explain The Operation Of The Memory Manager To Control The Protected Mode And Paging Unit To Allocate Memory
- interface Memory And I/o Systems To The Microprocessor
- develop Software To Drive Hardware Interfaces And Applications
- explain The Operation Of A Real-time Operating System (rtos) In An Embedded Environment
- explain The Operation Of The Disk And Video Systems
- interface Small Systems To The Isa, Pci, Parallel And Serial Ports, And Usb Of A Personal Computer System
- detail The 64-bit Extension (emt-64) Of The Pentium 4 Microprocessor
"Knowledge of Intel microprocessors, found in most computer systems and in many areas of electronic communications and control systems, is essential for a career in electronics, computer science, or any field that relies on computer systems. Now in its eighth edition, The Intel Microprocessors provides updated comprehensive coverage of the latest developments in the field of microprocessors."--Jacket