The and Microprocessors: Programming, Interfacing, Software, Hardware, and. Applications: Including the , , , and Pentium Processors, Walter A. Triebel, Avtar. Singh, Prentice-Hall caite.info .pdf. The and Microprocessors Walter A. Triebel. Designers of microprocessor-based electronic equipment need a systems-level صيغة الكتاب: pdf. and Microprocessors: Programming, Interfacing, Software, Hardware, and Applications. by Walter A Triebel; Avtar Singh. eBook: Document. English.
|Language:||English, Spanish, Japanese|
|Genre:||Business & Career|
|ePub File Size:||21.86 MB|
|PDF File Size:||10.14 MB|
|Distribution:||Free* [*Regsitration Required]|
Specification for The and Microprocessors by Walter A. Tri The & Microprocessors 4th Ed. by Triebel & Singh net. Triebel, Avtar Singh-The Lab Manual for and Microprocessors_ Programming, Interfacing, Software, Hardware, And Applications, 4th Edition. The and microprocessors programming interfacing · software hardware and applications Author(S) Walter A. Triebel Avtar Singh. Publication . Data. The and Microprocessors and their Memo. ry DOWNLOAD PDF Fourth Edition Walter A. Triebel Fairliegh Dickinson University Avtar Singh San.
Hardware interrupts, software interrupts, internal interrupts and exceptions, software interrupts, and reset. Parallel Computer Architectures: Mainframe computer, minicomputer, and microcomputer. Operands tell where the data to be processed resides and how it is to be accessed. Task switched.
Pointers to interrupt service routines. Instructions of the program can be stored anywhere in the general -use part of the memory address space. Control transfer to the reset power -up initialization software routine.
The instruction pointer is the offset address of the next instruction to be fetched by the relative to the current value in CS. The instruction is fetched from memory; decoded within the ; op erands are read from memory or internal registers; the operation specified by the instruction is performed on the data; and results are written back to either memory or an internal register.
IP is incremented such that it points to the next sequenti al word of instruction code. Accumulator A register, base B register, count C register, and data D register. DH and DL. Count for string operations and count for loop ope rations. Offset address of a memory location relative to a segment base address. Base pointer BP and stack pointer SP.
SS DS Source index register; destination index register. The address in SI is the o ffset to a source operand and DI contains the offset to a destination operand.
Else it is 0. Instructions can be used to test the state of these flags and, based on their setting, modify the sequence in which instructions of the program are executed.
Trap flag DF Instructions are provided that can load the complete register or modify specific flag bits. Offset and segment base. A The stack is the area of memory used to temporarily store informat ion parameters to be passed to subroutines and other information such as the contents of IP and CS that is needed to return from a called subroutine to the main part of the program.
CFF Page 0. Operating system. The data that is to be processed during execution of an ins truction; source operand and destination operand. An assembler is a program that is used to convert an assembly language source program to its equivalent program in machine code. A compiler is a program that converts a program written in a high -level language to equivalent machine code.
Programs written is assembly language or high level language statements are called source code. The machine code output of an assembler or compiler is called object code. It takes up less memory and executes faster. A real-time application is one in which the tasks required by the application must be completed before any other input to the program occurs that can alter its operation. Floppy disk subsystem control and communicat ions to a printer; code translation and table sort routines.
Section 3. Application specification.
Algorithm; software specification. A flowchart is a pictorial representation that outlines the software solution to a problem. MAP Section 3. Data transfer instructions, arithmetic instructions, logic instructions, string manipulation instructions, control transfer instructions, and processor control instructions. Execution of the move instruction transfers a byte or a word of data from a source location to a destination location. An addressing mode means the method by which an operand can be specified in a register or a memory location.
Register operand addressing mode Immediate operand addressing mode Memory operand addressing modes Base, index, and displacement.
Direct addressing mode Register indirect addressing mode Based addressing mode Indexed addressing mode Based-indexed addressing mode Section 4. The DEBUG program allows us to enter a program into the PC's memory, execute i t under control, view its operation, and modify it to fix errors. The values displayed may not be those shown but will be identical to those displayed with the DUMP command. Input command and output command. Contents of the byte-wide input port at address 16 is input and displayed on the screen.
The sum and difference of two hexadecimal numbers. A syntax error is an error in the rules of coding the program. On the other hand, an execution error is an error in the logic of the planned solution for the problem. Debugging the program.
Destination operand CL is specified as a byte, and source operand AX is specified as a word. Both must be specified with the same size.
Section 5. The double word product that results is produced in DX,AX. The new contents of AX are the 2's complement of its old contents. That is, if the original value of B 3 equals logic 0, it is switched to 1 or if it is logic 1 it is switched to 0.
Finally, the byte of flag information is written back to memory. This instruction sequence can be used to selectively complement one or more bits of the control flag byte. SHL CX,1 The original contents of AX must have the four most significant bits equal to 0. The first instruction reads the byte of control flags into AL. Then all but the flag in the most significant bit location B 7 are masked off. Finally, the flag in B 7 is shifted to the left and into the carry flag.
When the shift takes place, B 7 is shifted into CF; all other bits in AL move one bit position to the left, and the LSB locations are filled with zeros.
Therefore, the contents of AL become 00H. Assume that all numbers are small enough so that shifting to the left does no t generate an overflow. Further we will accept the truncation error due to shifts to the right. Executing the first instruction causes the contents of the status register to be copied into AH. The second instruction copies the value in AH to the status register. CLI 5.
Both instructions subtract the operands and change the flags as per the result. In a compare instruction, the result of the subtraction does not affect either operand.
However, in a subtract instruction, the result of the subtraction is saved in the destination operand. When an unconditional jump instruction is executed, the jump always takes place. On the other hand, when a conditional jump instruction is executed, the jump takes place only if the specified condition is satisfied. Load these counters so that the JNZ ;instruction is encou ntered times. A group of instructions that perform a special operation and can be called from any point in a program; Procedure The call instruction saves the value in the instruction pointer, or in both the instruction pointer and code segment register, in addition to performing the jump operation.
The intersegment call provides the ability to call a subroutine in either the current code segment or a different code segment.
On the other hand, the intrasegment call only allows calling of a subroutine in the current code segment. At the end of the subroutine a RET instruction is used to return control to the main calling program.
It does this by popping IP from the stack in the case of an intrasegment call and both CS and IP for an intersegment call. When the contents of the flags must be preserved for the instruction that follows the subroutine. Macroassembler 2. Assembly language statements and directive statements 3. Assembly language instructions tell the MPU what operations to perform. Directives give the macroassembler directions about how to assemble the source program. Label, opcode, operand s , and comment s 6.
Opcode 7. A label gives a symbo lic name to an assembly language statement that can be referenced by other instructions. Identifies the operation that must be performed. Operands tell where the data to be processed resides and how it is to be accessed. Document what is done by the instruction or a group of instructions; the assembler ignores comments. There is always machine code generated for an assembly language statement.
MOV AX,0. Section 7. Data directives, conditional directives, macro directives, listing directives. Define values for constants, variables, and labels. A section of program that performs a specific function and can be called for execution from other modules. An ORG statement specifies where the machine code generated by the assembler for subsequent instructions will reside in memory. ORG H Menu driven text editor Move, copy, delete, find, and find and replace.
File, Edit, Search, and Options. Source module Object module: Source listing: Looking at Fig. In Fig.
No, the output of the assembler is not executable by the in the PC: Object modules Run module: Link map: LST Object Modules[. OBJ Section 7. Section 8. Logic 1 puts the MPU in minimum mode, and logic 0 puts it in maximum mode. In the maximum-mode these signals are encoded in the status lines and need to be decoded externally. Additionally, the maximum -mode produces signals for supporting multiprocessing systems. Maximum mode. A0 , D7.
S 2 through S 0. The LOCK signal is used to implement an arbitration protocol tha t permits multiple processors to reside on the 's system bus.
An idle state is a period of no bus activity that occur s because the prefetch queue is full and the instruction currently being executed does not require bus activity. A wait state is a clock cycle inserted between the T 3 and T4 states of a bus cycle to extend its duration to accommodate slow devices in t he system.
Address B is applied over the lines A 0 through A19 of the address bus, and a byte of data is fetched over data bus lines D 0 through D7. Only one bus cycle is required to read a byte from memory. Two bus cycles must take place to write the word of data to memory.
During the first bus cycle, the least significant byte of the word is written to the byte storage location at address A Next the automatically increments the address so that it points to the byte storage location A The most significant byte of the word is written into this storage location with a second write bus cycle. During both bus cycles, address information is applied to the memory subsystem over address lines A 0 through A19 and data are transferred over data bus lines D 0 through D7.
The minimum mode control signals during the write are: High bank, BHE D0 through D7 ; A0. The address for the memory must be latched external to the using ALE to gate the latch device.
The also asserts the control signals: During T2 WR is asserted logic 0 and then the puts the byte of data onto the data bus. This data remains valid until the end of T 4 and should be written into memory with the active low level of WR during the T3 state terminating the write operation as WR goes inactive in the T 4 state. The bus controller produces the appropriately timed command and control signals needed to coordinate transfers over the data bus.
The address bus latch is used to latch and buffer the address bits. The address decoder decodes the higher order address bits to produce chip -enable signals. The bank write control logic determines which memory bank is selected during a write bus cycle. The bank read control logic determines which memory bank is select ed during a read bus cycle.
D-type latches. Eight bidirectional buffers. Three address lines decode to generate eight chip selects. Therefore, three of them need not be used. Programmable logic array. Number of inputs, number of outputs, and number of product terms. Fuse links The 16R8 has registered outputs whereas the 16L8 has latched outputs.
Execution of this input instruction causes accumulator AX to be loaded with the contents of the word-wide input port at address 1AH.
Execution of this output instruction causes the value in the lower byte of the accumulator AL to be loaded into the byte wide output port at address 2AH. Address is output in T 1 ; Data are read input in T 3. With zero wait states, the needs to perform two output bus cycles. They require 8 T-states, which at 5 MHz equals 1. With two wait states, the requires 6 T-states for an output bus cycle.
At 10 MHz clock, it therefore takes ns for the output operation. To write a word of data to an odd address, the requires two bus cycles. Since each bus cycle has two wait states, it takes 12 T -states to perform the output operation. With a MHz clock, the output operation takes ns. Program-storage memory; data-storage memory. Section 9. When the power supply for the memory device is turned off, its data contents are not lost. Programmable read only memory; erasable programmable read only memory.
Ultraviolet light. We are assuming that external decode logic has already produced active signals for CE and OE Next the address is applied to the A inputs of the EPROM and decoded within the device to select the storage location to be accessed.
After a delay equal to tACC, the data at this storage location are available at the D outputs. The access time of the 27C64 is ns and that of the 27C64 -1 is ns. That is, the 27C is a faster device. Maintain the power supply and refresh the data periodically. Higher density and lower power. Row address and column address. Cost and board space required for the additional circuitry needed to perform r ow and column address multiplexing and periodic refreshing of the memory cells. Odd parity; even parity.
The storage array in the bulk -erase device is a single block, whereas the memory array in both the boot block and FlashF ile is organized as multiple independently erasable blocks. The blocks of a boot block device are asymmetrical in size and those of the FlashFile are symmetrical. Bulk erase. Logic 1 means that it is ready to start another operation. Yes, two wait states. Continued Keyboard interface, display interface, and parallel printer interface.
Section This make P 5 equal to 0 and Port 5 is selected. Sets all outputs at port 2 O 16 -O23 to logic 1. Port 4. First, the address is clocked into the address latch. This output activates one input of the gate that drives the CLK input of the Port 0 latch. Later in the bus cycle, the byte of dat a is output on data bus lines D 0 through D7. Therefore, the transceiver is set for transmit output mode of operation and the byte of data is passed to the data inputs of all ports.
Since both inputs of the gate are now logic 0, the output switches to 0. As WR returns to logic 1, the positive clock edge is presented to the latch, which enables the data to be latched and made available at outputs O 0 through O 7 of Port 0. This means that the lines of the port can be configured as level-sensitive inputs or latched outputs. Port A and port B can be configured as 8-bit input or output ports, and port C can be configured for operation as two independent 4-bit input or output ports.
The c ontrol ports are formed from port C's lower and upper nibbles, respectively. When configured in this way, data applied to an input port must be strobed in with a signal produced in external hardware. An output port is provided with handshake signals that indicate when new data are available at its outputs and when an external device has read these values. The key difference is that now the port works as either input or output and control signals are provid ed for both functions.
Only port A can be configured to work in this way. Port B can be configured as an input or output port in mode 0 or mode 1. PC1 ; logic 1. Therefore, 98 16 is written to the control register in PPI A data. Data can register.
Arithmetic and logical operations can be done directly with the data on the device. In response to this input, the MPU puts the bus signals into the high -impedance state and signals this fact to the DMA controller by switching the hold acknowledge HLDA output to logic 1.
To read the current address of DMA channel 0 in a DMA controller located at base address , the instructions are: Half -duplex: Full -duplex: Asynchronous character length: The mode instruction determines the way in which the A's receiver and transmitter are to operate, whereas the command instruction controls the operation. Mode instruction specifies whether the device o perates as an asynchronous or synchronous communications controller, how the external baud clock is divided within the A, the length of character, whether parity is used or not and if used then whether it is even or odd, and also, the number of stop bi ts in asynchronous mode.
The command instruction specifies the enable bits for transmitter and receiver. Command instruction can also be used to reset the error bits of the status register, namely parity error flag PE , overrun error flag OE , and framing error flag FE.
The A device can be initialized by the command instruction by simply writing logic 1 into bit D of command register. Here, the word initialization means returning to the mode-instruction format.
Strobed input, and decoded display scan for keyboard. Command word 0: Command word 1: Command word 2: Command word 3: Command word 4: Command word 6: Command word 7: External hardware interrupts, software interrupts, internal interrupts, nonmaskable interrupt, and reset. Interrupt service routine. External hardware interrupts, nonmaskable interrupt, software interrupts, internal interrupts, and reset.
Higher priority. Interrupt pointer table. Set interrupt enable. Arithmetic; overflow flag. The MPU goes into the idle state and waits for an interrupt or reset to occur.
Put an STI instruction at the beginning of the service routine. Interrupt acknowledge. Level triggered. INTR is the interrupt request signal that must be applied to the MPU by external interrupt interface circuitry to request service for an interrupt -driven device.
When the MPU has acknowledged this request, it outputs an interrupt acknowledge bus status code on S 2 S 1 S 0 , and the bus controller decodes this code to produce the INTA signal. INTA is the signal used to tell the external device that its request for service has been granted.
D0 through D7. When the microprocessor recognizes an interrupt request, it checks whether the interrupts are enabled. It does this by checking the IF. If IF is set, an interrupt acknowledge cycle is initiated. This tells the external interrupt hardware that the interrupt request has been accepted. Following the acknowledge bus cycle, the initiates a cycle to read the interrupt vector type. During this c ycle the INTA signal is again asserted to get the vector type presented by the external interrupt hardware.
Finally, the interrupt vector words corresponding to the type number are fetched from memory and loaded into IP and CS. Set IR7 priority as the lowest one. This output is applied to the IR 6 input of the master 82C59A. Again assumin g that no higher priority interrupt is already active, the master 82C59A also switches its INT output to logic 1. In this way, the MPU is signaled that an external device is requesting service.
As long as the external hardware interrupt interface is e nabled, the request for service is accepted by the MPU and an interrupt acknowledge bus cycle initiated. This signal is applied to all three 82C59As in parallel and signals them that the request for service h as been granted.
In response to this pulse, the master 82C59A outputs the 3 -bit cascade code of the device whose interrupt is being acknowledged onto the CAS bus. The slaves read this code and compare it to their internal identification code.
In this case slave B identifies a match. Therefore, as the MPU performs a second interrupt acknowledge bus cycle, slave B outputs the type number of the active interrupt on data bus line D 0 through D7. The MPU reads the type number from the data bus and us es it to initiate the service routine. Vectored subroutine call. NMI is different from the external hardware interrupts in three ways: NMI is not masked out by IF. Therefore, its occurrence is latched inside the or as it switches to its active 1 logic level.
Initiate a power failure service routine. FFFF0H Divide error, single step, breakpoint, and overflow error.
Vectors 0 through 4. Single step mode; CS 1: System address bus, system data bus, and system control bus. Generate clock signals: Programming, Interfacing, Software, Hardware, and Applications: Future designers of microprocessor-based electronic equipment need a systems-level understanding of the 80x86 microcomputer.
This text offers thorough, balanced, and practical coverage of both software and hardware topics. Basic concepts are developed using the and microprocessors, but the bit versions of the 80x86 family are also discussed. The authors examine how to assemble, run, and debug programs, and how to build, test, and troubleshoot interface circuits.
Table of contents 1. Introduction to Microprocessors and Microcomputers. Software Architecture of the and Microprocessors. Assembly Language Programming. Memory Devices, Circuits, and Subsystem Design. Interrupt Interface of the and Microprocessors. Software Architecture.