Microprocessor-Based Systems: Hardware and Interfacing p. 1 Microprocessors, Microcomputers, and Assembly Language p. 3 Microprocessors p. 4 Microprocessor Instruction Set and Computer Languages p. 13 From Large Computers to Single Chip Microcontrollers p. 20 Application: Microprocessor-Controlled Temperature System (MCTS) p. 24 Introduction to 8085 Assembly Language Programming p. 31 The 8085 Programming Model p. 32 Instruction Classification p. 34 Instruction, Data Format, and Storage p. 37 How to Write, Assemble, and Execute a Simple Program p. 42 Overview of the 8085 Instruction Set p. 46 Writing and Hand Assembling a Program p. 50 Microprocessor Architecture and Microcomputer Systems p. 57 Microprocessor Architecture and Its Operations p. 58 Memory p. 63 Input and Output (I/O) Devices p. 80 Example of a Microcomputer System p. 81 Review: Logic Devices for Interfacing p. 83 Microprocessor-Based System Application: MCTS p. 90 8085 Microprocessor Architecture and Memory Interfacing p. 95 The 8085 MPU p. 96 Example of an 8085-Based Microcomputer p. 109 Memory Interfacing p. 116 Interfacing the 8155 Memory Segment p. 123 Illustrative Example: Designing Memory for the MCTS Project p. 126 Testing and Troubleshooting Memory Interfacing Circuits p. 129 How Does an 8085-Based Single-Board Microcomputer Work? p. 132 Interfacing I/O Devices p. 139 Basic Interfacing Concepts p. 140 Interfacing Output Displays p. 150 Interfacing Input Devices p. 155 Memory-Mapped I/O p. 157 Testing and Troubleshooting I/O Interfacing Circuits p. 163 Some Questions and Answers p. 164 Programming the 8085 p. 173 Introduction to 8085 Instructions p. 175 Data Transfer (Copy) Operations p. 176 Arithmetic Operations p. 86 Logic Operations p. 96 Branch Operations p. 204 Writing Assembly Language Programs p. 210 Debugging a Program p. 215 Some Puzzling Questions and Their Answers p. 215 Programming Techniques with Additional Instructions p. 227 Programming Techniques: Looping, Counting, and Indexing p. 228 Additional Data Transfer and 16-Bit Arithmetic Instructions p. 232 Arithmetic Operations Related to Memory p. 241 Logic Operations: Rotate p. 247 Logic Operations: Compare p. 254 Dynamic Debugging p. 261 Counters and Time Delays p. 275 Counters and Time Delays p. 276 Illustrative Program: Hexadecimal Counter p. 282 Illustrative Program: Zero-to-Nine (Modulo Ten) Counter p. 285 Illustrative Program: Generating Pulse Waveforms p. 288 Debugging Counter and Time-Delay Programs p. 290 Stack and Subroutines p. 295 Stack p. 296 Subroutine p. 305 Restart, Conditional Call, and Return Instructions p. 315 Advanced Subroutine Concepts p. 316 Code Conversion, BCD Arithmetic, and 16-Bit Data Operations p. 323 BCD-to-Binary Conversion p. 324 Binary-to-BCD Conversion p. 327 BCD-to-Seven-Segment-LED Code Conversion p. 329 Binary-to-ASCII and ASCII-to-Binary Code Conversion p. 332 BCD Addition p. 334 BCD Subtraction p. 337 Introduction to Advanced Instructions and Applications p. 338 Multiplication p. 342 Subtraction with Carry p. 344 Software Development Systems and Assemblers p. 351 Microprocessor-Based Software Development Systems p. 352 Operating Systems and Programming Tools p. 354 Assemblers and Cross-Assembers p. 359 Writing Programs Using a Cross-Assembler p. 363 Interfacing Peripherals (I/Os) and Applications p. 371 Interrupts p. 375 The 8085 Interrupt p. 376 8085 Vectored Interrupts p. 385 Restart as Software Instructions p. 393 Additional I/O Concepts and Processes p. 395 Interfacing Data Converters p. 403 Digital-to-Analog (D/A) Converters p. 404 Analog-to-Digital (A/D) Converters p. 414 Programmable Interface Devices: 8155 I/O and Timer; 8279 Keyboard/Display Interface p. 425 Basic Concepts in Programmable Devices p. 426 The 8155: Multipurpose Programmable Device p. 432 The 8279 Programmable Keyboard/Display Interface p. 450 General-Purpose Programmable Peripheral Devices p. 459 The 8255A Programmable Peripheral Interface p. 460 Illustration: Interfacing Keyboard and Seven-Segment Display p. 479 Illustration: Bidirectional Data Transfer Between Two Microcomputers p. 488 The 8254 (8253) Programmable Interval Timer p. 494 The 8259A Programmable Interrupt Controller p. 505 Direct Memory Access (DMA) and the 8237 DMA Controller p. 514 Serial I/O and Data Communication p. 523 Basic Concepts in Serial I/O p. 524 Software-Controlled Asynchronous Serial I/O p. 534 The 8085--Serial I/O Lines: SOD and SID p. 537 Hardware-Controlled Serial I/O Using Programmable Chips p. 540 Microprocessor Applications p. 563 Interfacing Scanned Multiplexed Displays and Liquid Crystal Displays p. 464 Interfacing a Matrix Keyboard p. 573 Memory Design p. 581 MPU Design p. 589 Designing a System: Single-Board Microcomputer p. 592 Software Design p. 597 Development and Troubleshooting Tools p. 603 Extending 8-Bit Microprocessor Concepts to Higher-Level Processors and Microcontrollers p. 607 8-Bit Microprocessors Contemporary to the 8085 p. 608 Review of Microprocessor Concepts p. 611 16-Bit Microprocessors p. 612 High-End-High-Performance Processors p. 626 Single-Chip Microcontrollers p. 633 Number Systems p. 637 Introduction to the EMAC Primer p. 645 Pin Configuration of Selected Logic and Display Devices p. 659 Specifications: Data Converters and Peripheral Devices p. 669 American Standard Code for Information Interchange: ASCII Codes p. 735 8085 Instruction Set p. 737 Solutions to Selected Questions, Problems, and Programming Assignments p. 785 Introduction to 8085 Assemblers and Simulators p. 801 Index p. 815 Table of Contents provided by Blackwell's Book Services and R.R. Bowker. Used with permission.