The document is a user's guide for the 80C196KB microcontroller family. It describes the CPU operation, memory space, software overview, peripherals, interrupts, I/O ports, minimum hardware considerations, special modes of operation, external memory interfacing, using the EPROM, and algorithms. The guide separates the microcontroller into the CPU and architecture, instruction set, peripherals, and bus unit to describe its operation.
This ppt full contains about gpio. Once you Studied this, then you can able drive tms320f2812 digital I/O pins. some important and programming registers also explained.
The document discusses the features and architecture of the 80196 microcontroller. It is a 16-bit microcontroller with a Princeton architecture that provides a continuous address space. It has various features like timers, serial ports, ADC, and PWM. The SFRs are located in the first 24 bytes of memory and are divided into horizontal windows. Interrupts are prioritized into 18 groups. The microcontroller supports various addressing modes and instruction types for arithmetic, logic, and program flow operations.
Problems of dynamic logic circuits and how it is solved by Domino logic circuits, is explained over here. Why it is called domino and how domino logic works, that also explained here.
This document provides an introduction and overview of FPGA and CPLD devices. It discusses the hierarchy of logic implementations from simple PLDs to complex FPGAs and ASICs. It describes the basic components and architecture of CPLDs and FPGAs, including lookup tables (LUTs), interconnects, I/O blocks, and how they are used to implement logic functions. Examples are provided to illustrate how simple logic functions can be mapped to the resources of a CPLD or FPGA. Major FPGA vendors like Xilinx and their families of devices are also mentioned.
This document provides an overview of the 8051 microcontroller architecture. It describes the basic components of the 8051 including 4K bytes of internal ROM, 128 bytes of internal RAM, four 8-bit I/O ports, two timers/counters, one serial interface, and other features. It also discusses the different addressing modes for 8051 assembly language programming including immediate, register, direct, register indirect, and external direct addressing.
The 555 timer IC is a versatile integrated circuit that can generate accurate time delays and oscillations. Introduced in 1972, it remains widely used due to its low cost, ease of use, and stability. The 555 timer can operate in three modes - monostable, astable, and bistable - making it suitable for applications like timers, oscillators, and flip-flops. It consists of 15 resistors, 2 diodes, and 25 transistors packaged in an 8-pin DIP. The 556 and 558 ICs are dual and quad versions containing multiple 555 timers in a single package.
The document discusses the arithmetic logic unit (ALU), which is a digital circuit that performs arithmetic and logical operations in a central processing unit (CPU). It first reviews basic CPU concepts like registers and the control unit. It then defines the ALU and describes its typical components and symbol. The remainder of the document demonstrates how to build a simple 1-bit ALU and discusses how multiple 1-bit ALUs can be combined into a larger 32-bit ALU. Useful online resources on ALUs and CPU architecture are also provided.
This document provides an overview of sigma-delta converters. It discusses how sigma-delta conversion can be used to simplify the analog front-end by using oversampling and noise shaping. A decimation filter is then used in the digital domain to reduce the sampling rate. Implementations typically use switched capacitor circuits for the integrators due to their ability to accurately control gains. The document covers various sigma-delta modulator architectures and implementation options.
This ppt full contains about gpio. Once you Studied this, then you can able drive tms320f2812 digital I/O pins. some important and programming registers also explained.
The document discusses the features and architecture of the 80196 microcontroller. It is a 16-bit microcontroller with a Princeton architecture that provides a continuous address space. It has various features like timers, serial ports, ADC, and PWM. The SFRs are located in the first 24 bytes of memory and are divided into horizontal windows. Interrupts are prioritized into 18 groups. The microcontroller supports various addressing modes and instruction types for arithmetic, logic, and program flow operations.
Problems of dynamic logic circuits and how it is solved by Domino logic circuits, is explained over here. Why it is called domino and how domino logic works, that also explained here.
This document provides an introduction and overview of FPGA and CPLD devices. It discusses the hierarchy of logic implementations from simple PLDs to complex FPGAs and ASICs. It describes the basic components and architecture of CPLDs and FPGAs, including lookup tables (LUTs), interconnects, I/O blocks, and how they are used to implement logic functions. Examples are provided to illustrate how simple logic functions can be mapped to the resources of a CPLD or FPGA. Major FPGA vendors like Xilinx and their families of devices are also mentioned.
This document provides an overview of the 8051 microcontroller architecture. It describes the basic components of the 8051 including 4K bytes of internal ROM, 128 bytes of internal RAM, four 8-bit I/O ports, two timers/counters, one serial interface, and other features. It also discusses the different addressing modes for 8051 assembly language programming including immediate, register, direct, register indirect, and external direct addressing.
The 555 timer IC is a versatile integrated circuit that can generate accurate time delays and oscillations. Introduced in 1972, it remains widely used due to its low cost, ease of use, and stability. The 555 timer can operate in three modes - monostable, astable, and bistable - making it suitable for applications like timers, oscillators, and flip-flops. It consists of 15 resistors, 2 diodes, and 25 transistors packaged in an 8-pin DIP. The 556 and 558 ICs are dual and quad versions containing multiple 555 timers in a single package.
The document discusses the arithmetic logic unit (ALU), which is a digital circuit that performs arithmetic and logical operations in a central processing unit (CPU). It first reviews basic CPU concepts like registers and the control unit. It then defines the ALU and describes its typical components and symbol. The remainder of the document demonstrates how to build a simple 1-bit ALU and discusses how multiple 1-bit ALUs can be combined into a larger 32-bit ALU. Useful online resources on ALUs and CPU architecture are also provided.
This document provides an overview of sigma-delta converters. It discusses how sigma-delta conversion can be used to simplify the analog front-end by using oversampling and noise shaping. A decimation filter is then used in the digital domain to reduce the sampling rate. Implementations typically use switched capacitor circuits for the integrators due to their ability to accurately control gains. The document covers various sigma-delta modulator architectures and implementation options.
This document provides an overview of phase locked loops (PLL) including:
1. The basic components of a PLL including a phase detector, low pass filter, and voltage controlled oscillator that work together in a closed loop to lock the output frequency and phase to the input signal.
2. Examples of PLL applications such as frequency multiplication, FM demodulation, and motor speed control.
3. A more detailed description of the 565 PLL IC including its pin configuration and characteristics such as operating frequency range and drift with temperature/voltage.
8051 Microcontroller Tutorial and Architecture with Applicationselprocus
8051 is an 8-bit family of microcontroller developed by Intel, microcontroller was also referred as “system on a chip” because it has 128 bytes of RAM, 4Kbytes of ROM, 2 Timers, 1 Serial port, and four ports on a single
chip. The CPU can work for only 8bits of data at a time because 8051 is an 8-bit processor.
1. The document introduces phase locked loops (PLLs), which are electronic circuits that lock the phase of the output signal to the phase of the input signal.
2. A basic PLL system consists of a phase detector that detects the phase difference between the input and output signals, a low pass filter, and a voltage controlled oscillator whose frequency is adjusted based on the output of the filter to reduce the phase difference.
3. Modern PLLs often use a phase/frequency detector and a charge pump instead of just a phase detector, which allows the loop to lock faster and be more stable. Charge pump PLLs work by using the phase/frequency detector to control switches that charge or discharge a capacitor, producing the control voltage
Counters and time delays can be implemented in software or hardware using loop constructs. Counters keep track of events like iterations in a for loop, while delays set up accurate timing between events. Delays can be implemented using loops that iterate a set number of times based on instruction timing. Nested loops and register pairs can increase delay times for longer periods.
This document discusses NAND flash memory, which is used in USB flash drives for portable storage. It describes how NAND flash works, including that it has a controller that sends commands serially to program and read the flash. Issues with NAND flash include bad blocks, long access times since it is not random access, and short lifetimes due to being programmable. Technologies like wear leveling aim to extend the lifetime by distributing writes across blocks.
The document provides an introduction and overview of the Intel 8096 microcontroller. It discusses the 8096's salient features such as its 16-bit architecture, high-speed I/O capabilities, and uses in motor control and robotics. It describes the 8096's architecture including its 16-bit CPU, registers, memory mapping, and I/O features such as timers, serial port, and A/D converter. The document provides details on the 8096's instruction set, addressing modes, and interrupt structure.
This ppt full explained about event manger function in TMS320F2812 architecture and explained all register in event manager. Explained various mode to generate pwm.
RFID based Access Control using 8051 Micro ControllerCircuitsToday
This document describes an RFID based access control system using an 8051 microcontroller. The system uses an RFID reader and tags to identify authorized users and grant access by controlling a relay if their RFID code matches stored codes. An LCD displays status messages. The system provides security for organizations by only allowing access to people with valid RFID tags. It can be enhanced with GSM to notify of access attempts and expanded for attendance tracking.
The document discusses circuit design processes and stick diagrams. It begins by introducing MOS layers and objectives of understanding stick diagrams, design rules, and layout. It then covers stick diagrams in depth, explaining that they show relative component placement and layer information through color codes as an interface between symbolic circuits and layouts. Examples of stick diagram rules, notations, and common MOS circuits are provided. Finally, it discusses design rules, explaining that they define feature sizes and spacings to interface between circuits and fabrication processes while allowing for manufacturing tolerances.
The document summarizes the key features and pin functions of the 8051 microcontroller. It has 40 pins total, with 32 pins used as I/O across four 8-bit ports (P0, P1, P2, P3). Many pins have multiple functions, such as serving as address lines when accessing external memory but as port pins otherwise. The remaining pins include power (VCC, GND) and oscillator (XTAL1, XTAL2) connections as well as pins for reset (RST), program store enable (PSEN), address latch enable (ALE), and external access (EA).
This document summarizes a seminar presentation on field programmable gate arrays (FPGAs) given by Saransh Choudhary. The presentation covered the introduction, architecture, applications and conclusion of FPGAs. It discussed the components of an FPGA including configurable logic blocks, input/output blocks and programmable interconnects. A case study demonstrated how FPGAs can efficiently implement Monte Carlo option pricing simulations. Applications mentioned included digital signal processing, image processing, radar systems and supercomputers.
Sequential logic circuits contain memory and feedback loops that make their output depend on the present state and inputs. This document discusses several types of basic memory cells and latches used in sequential logic like the SR latch, JK latch, D latch, and flip-flops. It provides schematics and explanations of how CMOS-based implementations of these sequential elements work through the use of NOR gates, NAND gates, and transmission gates controlled by a clock signal. Basic timing considerations are also covered, such as setup and hold times.
The 8086 microprocessor is Intel's first 16-bit microprocessor released in 1978. It has 20 address lines allowing it to access up to 1 megabyte of memory. It uses segmented memory architecture where the 1 megabyte address space is divided into segments of 64KB each. The 8086 has four 16-bit segment registers - code segment, data segment, stack segment, and extra segment. It operates on minimum and maximum modes determined by the MN/MX pin. In maximum mode, additional pins are used for bus requests and grants.
This document outlines the syllabus for a VLSI design course. The syllabus covers five units: (1) CMOS technology, including history, characteristics, and enhancements; (2) circuit characterization and simulation; (3) combinational and sequential circuit design; (4) CMOS testing; and (5) specification using Verilog HDL. The first unit provides an introduction to CMOS technology, discussing MOS transistors, CMOS processes like p-well and n-well, and layout design rules. Subsequent units cover circuit analysis, common circuit elements, testing approaches, and hardware description languages. References include textbooks on VLSI design, digital circuits, and Verilog HDL.
The document discusses I/O ports and timers in the 8051 microcontroller. It describes the four 8-bit I/O ports (Port 0, Port 1, Port 2, Port 3) that can be configured as inputs or outputs. It also discusses the two 16-bit timer/counters (Timer 0 and Timer 1), their associated registers (TMOD and TCON), and operating modes. The ports and timers provide capabilities for interfacing with external devices and generating time delays or counting events.
This document presents a digital visitor counter and automatic room light controller project. It contains a block diagram, flowchart, and description of the components used. The project uses sensors to count people entering and exiting a room and controls the room lights and fans based on the count. It can help conserve energy by automatically turning lights and fans off when the room is empty. Potential applications include seminar halls and conference rooms to limit capacity. Future developments could include adding voice alarms and increasing the maximum count.
The document discusses a Phase Locked Loop (PLL). It describes PLL as a circuit that synchronizes an output signal generated by an oscillator to match the frequency and phase of a reference input signal. The key functional blocks of a PLL are a phase detector, low pass filter, and voltage controlled oscillator (VCO). The phase detector compares the input and feedback frequencies and provides an error signal. The low pass filter removes noise and the VCO generates the output frequency controlled by the error signal voltage. A PLL goes through free running, capture, and phase locked stages of operation. Applications of PLL include frequency modulation/demodulation and signal synchronization.
Counters are digital circuits that increment or decrement a stored value in response to a clock or trigger signal. There are two main types: ripple counters where the output of one flip-flop triggers the next, causing a ripple effect; and synchronous counters where all flip-flops change simultaneously according to a clock. Counters are widely used in computers and devices like clocks to keep track of events.
This document provides an overview of embedded programming with field-programmable mixed-signal microcontrollers. It begins with a brief introduction and then discusses embedded programming using the Silicon Labs C8051F020 microcontroller as an example platform. Key topics covered include the microcontroller's memory organization, I/O ports, analog-to-digital converters, digital-to-analog converters, and voltage reference.
Control engineering has evolved over time. In the past humans were the main method for
controlling a system. More recently electricity has been used for control and early
electrical control was based on relays. These relays allow power to be switched on and
off without a mechanical switch. It is common to use relays to make simple logical
control decisions. The development of low cost computer has brought the most recent
revolution, the Programmable Logic Controller (PLC). The advent of the PLC began
in the 1970s, and has become the most common choice for manufacturing controls.
PLCs have been gaining popularity on the factory floor and will probably remain
predominant for some time to come. Most of this is because of the advantages they
offer.
Control engineering has evolved over time. In the past humans were the main method for
controlling a system. More recently electricity has been used for control and early
electrical control was based on relays. These relays allow power to be switched on and
off without a mechanical switch. It is common to use relays to make simple logical
control decisions. The development of low cost computer has brought the most recent
revolution, the Programmable Logic Controller (PLC). The advent of the PLC began
in the 1970s, and has become the most common choice for manufacturing controls.
PLCs have been gaining popularity on the factory floor and will probably remain
predominant for some time to come. Most of this is because of the advantages they
offerControl engineering has evolved over time. In the past humans were the main method for
controlling a system. More recently electricity has been used for control and early
electrical control was based on relays. These relays allow power to be switched on and
off without a mechanical switch. It is common to use relays to make simple logical
control decisions. The development of low cost computer has brought the most recent
revolution, the Programmable Logic Controller (PLC). The advent of the PLC began
in the 1970s, and has become the most common choice for manufacturing controls.
PLCs have been gaining popularity on the factory floor and will probably remain
predominant for some time to come. Most of this is because of the advantages they
offer. Cost effective for controlling complex systems. · Flexible and can be reapplied to control other systems quickly and easily.· Flexible and can be reapplied to control other systems quickly and easily. Trouble shooting aids make programming easier and reduce downtime. Reliable components make these likely to operate for years before failure. Ladder logic is the main programming method used for PLCs. As mentioned before,
ladder logic has been developed to mimic relay logic. Ladder logic is the main programming method used for PLCs. As mentioned before,
ladder logic has been developed to mimic relay logic.
This document provides an overview of phase locked loops (PLL) including:
1. The basic components of a PLL including a phase detector, low pass filter, and voltage controlled oscillator that work together in a closed loop to lock the output frequency and phase to the input signal.
2. Examples of PLL applications such as frequency multiplication, FM demodulation, and motor speed control.
3. A more detailed description of the 565 PLL IC including its pin configuration and characteristics such as operating frequency range and drift with temperature/voltage.
8051 Microcontroller Tutorial and Architecture with Applicationselprocus
8051 is an 8-bit family of microcontroller developed by Intel, microcontroller was also referred as “system on a chip” because it has 128 bytes of RAM, 4Kbytes of ROM, 2 Timers, 1 Serial port, and four ports on a single
chip. The CPU can work for only 8bits of data at a time because 8051 is an 8-bit processor.
1. The document introduces phase locked loops (PLLs), which are electronic circuits that lock the phase of the output signal to the phase of the input signal.
2. A basic PLL system consists of a phase detector that detects the phase difference between the input and output signals, a low pass filter, and a voltage controlled oscillator whose frequency is adjusted based on the output of the filter to reduce the phase difference.
3. Modern PLLs often use a phase/frequency detector and a charge pump instead of just a phase detector, which allows the loop to lock faster and be more stable. Charge pump PLLs work by using the phase/frequency detector to control switches that charge or discharge a capacitor, producing the control voltage
Counters and time delays can be implemented in software or hardware using loop constructs. Counters keep track of events like iterations in a for loop, while delays set up accurate timing between events. Delays can be implemented using loops that iterate a set number of times based on instruction timing. Nested loops and register pairs can increase delay times for longer periods.
This document discusses NAND flash memory, which is used in USB flash drives for portable storage. It describes how NAND flash works, including that it has a controller that sends commands serially to program and read the flash. Issues with NAND flash include bad blocks, long access times since it is not random access, and short lifetimes due to being programmable. Technologies like wear leveling aim to extend the lifetime by distributing writes across blocks.
The document provides an introduction and overview of the Intel 8096 microcontroller. It discusses the 8096's salient features such as its 16-bit architecture, high-speed I/O capabilities, and uses in motor control and robotics. It describes the 8096's architecture including its 16-bit CPU, registers, memory mapping, and I/O features such as timers, serial port, and A/D converter. The document provides details on the 8096's instruction set, addressing modes, and interrupt structure.
This ppt full explained about event manger function in TMS320F2812 architecture and explained all register in event manager. Explained various mode to generate pwm.
RFID based Access Control using 8051 Micro ControllerCircuitsToday
This document describes an RFID based access control system using an 8051 microcontroller. The system uses an RFID reader and tags to identify authorized users and grant access by controlling a relay if their RFID code matches stored codes. An LCD displays status messages. The system provides security for organizations by only allowing access to people with valid RFID tags. It can be enhanced with GSM to notify of access attempts and expanded for attendance tracking.
The document discusses circuit design processes and stick diagrams. It begins by introducing MOS layers and objectives of understanding stick diagrams, design rules, and layout. It then covers stick diagrams in depth, explaining that they show relative component placement and layer information through color codes as an interface between symbolic circuits and layouts. Examples of stick diagram rules, notations, and common MOS circuits are provided. Finally, it discusses design rules, explaining that they define feature sizes and spacings to interface between circuits and fabrication processes while allowing for manufacturing tolerances.
The document summarizes the key features and pin functions of the 8051 microcontroller. It has 40 pins total, with 32 pins used as I/O across four 8-bit ports (P0, P1, P2, P3). Many pins have multiple functions, such as serving as address lines when accessing external memory but as port pins otherwise. The remaining pins include power (VCC, GND) and oscillator (XTAL1, XTAL2) connections as well as pins for reset (RST), program store enable (PSEN), address latch enable (ALE), and external access (EA).
This document summarizes a seminar presentation on field programmable gate arrays (FPGAs) given by Saransh Choudhary. The presentation covered the introduction, architecture, applications and conclusion of FPGAs. It discussed the components of an FPGA including configurable logic blocks, input/output blocks and programmable interconnects. A case study demonstrated how FPGAs can efficiently implement Monte Carlo option pricing simulations. Applications mentioned included digital signal processing, image processing, radar systems and supercomputers.
Sequential logic circuits contain memory and feedback loops that make their output depend on the present state and inputs. This document discusses several types of basic memory cells and latches used in sequential logic like the SR latch, JK latch, D latch, and flip-flops. It provides schematics and explanations of how CMOS-based implementations of these sequential elements work through the use of NOR gates, NAND gates, and transmission gates controlled by a clock signal. Basic timing considerations are also covered, such as setup and hold times.
The 8086 microprocessor is Intel's first 16-bit microprocessor released in 1978. It has 20 address lines allowing it to access up to 1 megabyte of memory. It uses segmented memory architecture where the 1 megabyte address space is divided into segments of 64KB each. The 8086 has four 16-bit segment registers - code segment, data segment, stack segment, and extra segment. It operates on minimum and maximum modes determined by the MN/MX pin. In maximum mode, additional pins are used for bus requests and grants.
This document outlines the syllabus for a VLSI design course. The syllabus covers five units: (1) CMOS technology, including history, characteristics, and enhancements; (2) circuit characterization and simulation; (3) combinational and sequential circuit design; (4) CMOS testing; and (5) specification using Verilog HDL. The first unit provides an introduction to CMOS technology, discussing MOS transistors, CMOS processes like p-well and n-well, and layout design rules. Subsequent units cover circuit analysis, common circuit elements, testing approaches, and hardware description languages. References include textbooks on VLSI design, digital circuits, and Verilog HDL.
The document discusses I/O ports and timers in the 8051 microcontroller. It describes the four 8-bit I/O ports (Port 0, Port 1, Port 2, Port 3) that can be configured as inputs or outputs. It also discusses the two 16-bit timer/counters (Timer 0 and Timer 1), their associated registers (TMOD and TCON), and operating modes. The ports and timers provide capabilities for interfacing with external devices and generating time delays or counting events.
This document presents a digital visitor counter and automatic room light controller project. It contains a block diagram, flowchart, and description of the components used. The project uses sensors to count people entering and exiting a room and controls the room lights and fans based on the count. It can help conserve energy by automatically turning lights and fans off when the room is empty. Potential applications include seminar halls and conference rooms to limit capacity. Future developments could include adding voice alarms and increasing the maximum count.
The document discusses a Phase Locked Loop (PLL). It describes PLL as a circuit that synchronizes an output signal generated by an oscillator to match the frequency and phase of a reference input signal. The key functional blocks of a PLL are a phase detector, low pass filter, and voltage controlled oscillator (VCO). The phase detector compares the input and feedback frequencies and provides an error signal. The low pass filter removes noise and the VCO generates the output frequency controlled by the error signal voltage. A PLL goes through free running, capture, and phase locked stages of operation. Applications of PLL include frequency modulation/demodulation and signal synchronization.
Counters are digital circuits that increment or decrement a stored value in response to a clock or trigger signal. There are two main types: ripple counters where the output of one flip-flop triggers the next, causing a ripple effect; and synchronous counters where all flip-flops change simultaneously according to a clock. Counters are widely used in computers and devices like clocks to keep track of events.
This document provides an overview of embedded programming with field-programmable mixed-signal microcontrollers. It begins with a brief introduction and then discusses embedded programming using the Silicon Labs C8051F020 microcontroller as an example platform. Key topics covered include the microcontroller's memory organization, I/O ports, analog-to-digital converters, digital-to-analog converters, and voltage reference.
Control engineering has evolved over time. In the past humans were the main method for
controlling a system. More recently electricity has been used for control and early
electrical control was based on relays. These relays allow power to be switched on and
off without a mechanical switch. It is common to use relays to make simple logical
control decisions. The development of low cost computer has brought the most recent
revolution, the Programmable Logic Controller (PLC). The advent of the PLC began
in the 1970s, and has become the most common choice for manufacturing controls.
PLCs have been gaining popularity on the factory floor and will probably remain
predominant for some time to come. Most of this is because of the advantages they
offer.
Control engineering has evolved over time. In the past humans were the main method for
controlling a system. More recently electricity has been used for control and early
electrical control was based on relays. These relays allow power to be switched on and
off without a mechanical switch. It is common to use relays to make simple logical
control decisions. The development of low cost computer has brought the most recent
revolution, the Programmable Logic Controller (PLC). The advent of the PLC began
in the 1970s, and has become the most common choice for manufacturing controls.
PLCs have been gaining popularity on the factory floor and will probably remain
predominant for some time to come. Most of this is because of the advantages they
offerControl engineering has evolved over time. In the past humans were the main method for
controlling a system. More recently electricity has been used for control and early
electrical control was based on relays. These relays allow power to be switched on and
off without a mechanical switch. It is common to use relays to make simple logical
control decisions. The development of low cost computer has brought the most recent
revolution, the Programmable Logic Controller (PLC). The advent of the PLC began
in the 1970s, and has become the most common choice for manufacturing controls.
PLCs have been gaining popularity on the factory floor and will probably remain
predominant for some time to come. Most of this is because of the advantages they
offer. Cost effective for controlling complex systems. · Flexible and can be reapplied to control other systems quickly and easily.· Flexible and can be reapplied to control other systems quickly and easily. Trouble shooting aids make programming easier and reduce downtime. Reliable components make these likely to operate for years before failure. Ladder logic is the main programming method used for PLCs. As mentioned before,
ladder logic has been developed to mimic relay logic. Ladder logic is the main programming method used for PLCs. As mentioned before,
ladder logic has been developed to mimic relay logic.
This document provides specifications and information for XBee and XBee-PRO OEM RF modules. Key features include long range data transmission, low power usage, analog and digital I/O support, and advanced networking capabilities. The modules operate in the 2.4GHz ISM band and are approved for use in the US, Canada, Europe and other regions. They have a small form factor and simple mounting and electrical interface.
Fpga based implementation of a double precision ieee floating point adderSomsubhra Ghosh
This document describes an FPGA implementation of a double precision IEEE floating point adder. It outlines the general structure of IEEE 754 double precision numbers, describes the simple arithmetic operation of adding two such numbers, and proposes a two stage pipelined algorithm to perform the addition. It then discusses implementing the algorithm on FPGA devices, providing resource usage estimates and illustrations of the first two cycles of the algorithm. Simulation results are presented and the conclusions discuss the benefits of this technique for performing floating point additions with low latency.
This document contains a table of contents for a book on learning microcontrollers. The table of contents lists 14 chapters that cover topics such as introductions to various microcontroller architectures like 8051, PIC, and Atmel microcontrollers. It also outlines chapters on interfacing microcontrollers, industrial applications, and advanced programming techniques. The document provides an overview of the breadth of topics the book covers related to microcontrollers, programming, and applications.
This document provides a user's guide for the Signamax Connectivity Systems FO-065-7732 Manageable Gigabit Switch. The switch features 24 10/100Mbps ports and optional 2 Gigabit ports, with management functions including VLAN, trunking, port security, port mirroring, QoS, and network protocols. The guide covers installation, console and web-based management interfaces, and specifications.
The document describes the digital I/O and peripherals of the TMS320F2812 digital signal controller. It includes block diagrams of the device architecture showing components like GPIO pins, timers, ADC, communication interfaces. It also provides details on the oscillator and clock module, watchdog timer, low power modes and GPIO configuration registers.
This document discusses Microchip PIC microcontrollers and their use in an electrocardiogram (ECG) device. It covers the internal architecture of PIC microcontrollers including memory organization, registers, oscillators, and analog-to-digital converters. Diagrams and examples are provided to explain how PIC microcontrollers function and can be programmed to acquire, process, and transmit ECG signal data.
This document provides an introduction to PC-based instrumentation and control. It discusses the advantages of using a PC as an intelligent controller, including flexibility, low cost, familiar technology, and support for standard bus systems and communications protocols. Typical applications mentioned include data acquisition, automatic testing, production monitoring and control, and process control.
4 Channel Relay Board 5V-Bluetooth Compatible for ArduinoRaghav Shetty
Bluetooth technology is a short distance communication technology used by almost all phones
including smart phones and all laptops. This technology find very wide uses including that of Home &
Industrial automation.
The Relay shield is capable of controlling 4 relays. The max switching power could be
12A/250VAC or 15A/24VDC. It could be directly controlled by Arduino through digital IOs.
B tech Final Year Projects & Embedded Systems Training Technogroovy India
like our page for more updates:
https://www.facebook.com/Technogroovyindia
With Best Regard's
Technogroovy Systems India Pvt. Ltd.
www.technogroovy.com
Call- +91-9582888121
Whatsapp- +91-8800718323
This document provides information on the PIC16C7X family of 8-bit microcontrollers from Microchip. It describes the core features of the CPU including the instruction set, memory organization, I/O ports, and timer modules. It also details the peripheral features such as the synchronous serial port, USART, analog-to-digital converter, and special CPU features like interrupts and power management modes. Electrical specifications and packaging information are provided for the different devices in the family.
This document describes the configuration of VLANs on a Cisco switch. The key steps are:
1. Six VLANs are created and named for different departments.
2. Ports on the switch are assigned to each VLAN to segregate network traffic for each department.
3. IP addresses are configured for each VLAN interface and routing is enabled with RIP to allow communication between VLANs.
4. Ping tests confirm connectivity between devices on different VLANs, showing the VLAN configuration is functioning properly.
This document provides specifications for the ESP32 family of Wi-Fi and Bluetooth combo chips. It includes information on the chip's features such as integrated Wi-Fi and Bluetooth radios, dual-core CPUs, various peripherals, and low power modes. Revision histories and information on ordering parts are also included.
Technology is constantly changing. New microcontrollers become available every year. The one thing that has stayed the same is the C programming language used to program these microcontrollers. If you would like to learn this standard language to program microcontrollers, then this book is for you!
Arduino is the hardware platform used to teach the C programming language as Arduino boards are available worldwide and contain the popular AVR microcontrollers from Atmel.
The document summarizes the Piccolo microcontroller series from Texas Instruments. The Piccolo series provides real-time control capabilities in a small, low-cost MCU package starting under $2. Key features include a 60 MHz C28x CPU, control law accelerator, 12-bit ADC, high resolution PWM outputs, and various serial interfaces. The document outlines the Piccolo architecture and peripheral blocks.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
2. Information in this document is provided in connection with Intel products No license express or implied by estoppel or
otherwise to any intellectual property rights is granted by this document Except as provided in Intel’s Terms and Conditions of
Sale for such products Intel assumes no liability whatsoever and Intel disclaims any express or implied warranty relating to
sale and or use of Intel products including liability or warranties relating to fitness for a particular purpose merchantability or
infringement of any patent copyright or other intellectual property right Intel products are not intended for use in medical life
saving or life sustaining applications
Intel may make changes to specifications and product descriptions at any time without notice
Third-party brands and names are the property of their respective owners
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order
Copies of documents which have an ordering number and are referenced in this document or other Intel literature may be
obtained from
Intel Corporation
P O Box 7641
Mt Prospect IL 60056-7641
or call 1-800-879-4683
COPYRIGHT INTEL CORPORATION 1996
3. 80C196KB USER’S GUIDE
CONTENTS PAGE CONTENTS PAGE
1 0 CPU OPERATION 1 6 0 Pulse Width Modulation Output
1 1 Memory Controller 2
(D A) 33
1 2 CPU Control 2
6 1 Analog Outputs 35
1 3 Internal Timing 2 7 0 TIMERS 36
2 0 MEMORY SPACE 4 7 1 Timer1 36
2 1 Register File 4
7 2 Timer2 36
2 2 Special Function Registers 4 7 3 Sampling on External Timer
Pins 36
2 3 Reserved Memory Spaces 8
7 4 Timer Interrupts 37
2 4 Internal ROM and EPROM 8
2 5 System Bus 9 8 0 HIGH SPEED INPUTS 38
8 1 HSI Modes 39
3 0 SOFTWARE OVERVIEW 9
8 2 HSI Status 39
3 1 Operand Types 9
8 3 HSI Interrupts 40
3 2 Operand Addressing 10
8 4 HSI Input Sampling 40
3 3 Program Status Word 12
8 5 Initializing the HSI 40
3 4 Instruction Set 14
3 5 80C196KB Instruction Set 9 0 HIGH SPEED OUTPUTS 40
Additions and Differences 22 9 1 HSO Interrupts and Software
3 6 Software Standards and Timers 41
Conventions 22 9 2 HSO CAM 42
3 7 Software Protection Hints 23 9 3 HSO Status 43
4 0 PERIPHERAL OVERVIEW 23
9 4 Clearing the HSO and Locked
Entries 43
4 1 Pulse Width Modulation Output
(D A) 24 9 5 HSO Precautions 44
4 2 Timers 24
9 6 PWM Using the HSO 44
4 3 High Speed Inputs (HSI) 24 9 7 HSO Output Timing 45
4 4 High Speed Outputs (HSO) 24 10 0 SERIAL PORT 45
4 5 Serial Port 24 10 1 Serial Port Status and Control 47
4 6 A D Converter 26 10 2 Serial Port Interrupts 49
4 7 I O Ports 26 10 3 Serial Port Modes 49
4 8 Watchdog Timer 26 10 4 Multiprocessor
Communications 51
5 0 INTERRUPTS 27
5 1 Interrupt Control 29 11 0 A D CONVERTER 51
5 2 Interrupt Priorities 29 11 1 A D Conversion Process 53
5 3 Critical Regions 31 11 2 A D Interface Suggestions 53
5 4 Interrupt Timing 31 11 3 The A D Transfer Function 54
5 5 Interrupt Summary 32 11 4 A D Glossary of Terms 58
4. 80C196KB USER’S GUIDE
CONTENTS PAGE CONTENTS PAGE
12 0 I O PORTS 60 15 0 EXTERNAL MEMORY
12 1 Input Ports 60
INTERFACING 71
12 2 Quasi-Bidirectional Ports 60
15 1 Bus Operation 71
12 3 Output Ports 62
15 2 Chip Configuration Register 72
12 4 Ports 3 and 4 AD0 – 15 63
15 3 Bus Width 75
15 4 HOLD HLDA Protocol 76
13 0 MINIMUM HARDWARE 15 5 AC Timing Explanations 78
CONSIDERATIONS 64
15 6 Memory System Examples 83
13 1 Power Supply 64
15 7 I O Port Reconstruction 85
13 2 Noise Protection Tips 64
13 3 Oscillator and Internal Timings 64 16 0 USING THE EPROM 85
13 4 Reset and Reset Status 65 16 1 Power-Up and Power-Down 85
13 5 Minimum Hardware 16 2 Reserved Locations 86
Connections 68 16 3 Programming Pulse Width
Register (PPW) 87
14 0 SPECIAL MODES OF
OPERATION 69 16 4 Auto Configuration Byte
Programming Mode 88
14 1 Idle Mode 69
16 5 Auto Programming Mode 88
14 2 Powerdown Mode 69
16 6 Slave Programming Mode 90
14 3 ONCE and Test Modes 70
16 7 Run-Time Programming 92
16 8 ROM EPROM Memory Protection
Options 93
16 9 Algorithms 94
5. 80C196KB USER’S GUIDE
The 80C196KB family is a CHMOS branch of the There are many members of the 80C196KB family so
MCS -96 family Other members of the MCS-96 fami- to provide easier reading this manual will refer to the
ly include the 8096BH and 8098 All of the MCS-96 80C196KB family generically as the 80C196KB
components share a common instruction set and archi- Where information applies only to specific components
tecture However the CHMOS components have en- it will be clearly indicated
hancements to provide higher performance at lower
power consumptions To further decrease power usage The 80C196KB can be separated into four sections for
these parts can be placed into idle and powerdown the purpose of describing its operation A block dia-
modes gram is shown in Figure 1-1 There is the CPU and
architecture the instruction set the peripherals and the
MCS-96 family members are all high-performance mi- bus unit Each of the sections will be sub-divided as the
crocontrollers with a 16-bit CPU and at least 230 bytes discussion progresses Let us first examine the CPU
of on-chip RAM They are register-to-register ma-
chines so no accumulator is needed and most opera-
tions can be quickly performed from or to any of the 1 0 CPU OPERATION
registers In addition the register operations can con-
trol the many peripherals which are available on the The major components of the CPU on the 80C196KB
chips These peripherals include a serial port A D con- are the Register File and the Register Arithmetic Log-
verter PWM output up to 48 I O lines and a High- ic Unit (RALU) Communication with the outside
Speed I O subsystem which has 2 16-bit timer coun- world is done through either the Special Function Reg-
ters an 8-level input capture FIFO and an 8-entry pro- isters (SFRs) or the Memory Controller The RALU
grammable output generator does not use an accumulator Instead it operates di-
rectly on the 256-byte register space made up of the
Typical applications for MCS-96 products are closed- Register File and the SFRs Efficient I O operations
loop control and mid-range digital signal processing are possible by directly controlling the I O through the
MCS-96 products are being used in modems motor SFRs The main benefits of this structure are the ability
controls printers engine controls photocopiers anti- to quickly change context absence of accumulator bot-
lock brakes air conditioner temperature controls disk tleneck and fast throughput and I O times
drives and medical instrumentation
270651 – 1
Figure 1-1 80C196KB Block Diagram
1
6. 80C196KB USER’S GUIDE
The CPU on the 80C196KB is 16 bits wide and con- REGISTER ALU (RALU)
nects to the interrupt controller and the memory con-
troller by a 16-bit bus In addition there is an 8-bit bus Most calculations performed by the 80C196KB take
which transfers instruction bytes from the memory con- place in the RALU The RALU shown in Figure 1-2
troller to the CPU An extension of the 16-bit bus con- contains a 17-bit ALU the Program Status Word
nects the CPU to the peripheral devices (PSW) the Program Counter (PC) a loop counter and
three temporary registers All of the registers are 16-
bits or 17-bits (16 a sign extension) wide Some of the
1 1 Memory Controller registers have the ability to perform simple operations
to off-load the ALU
The RALU talks to the memory except for the loca-
tions in the register file and SFR space through the A separate incrementor is used for the Program Coun-
memory controller Within the memory controller is a ter (PC) as it accesses operands However PC changes
bus controller a four byte queue and a Slave Program due to jumps calls returns and interrupts must be han-
Counter (Slave PC) Both the internal ROM EPROM dled through the ALU Two of the temporary registers
bus and the external memory bus are driven by the bus have their own shift logic These registers are used for
controller Memory access requests to the bus control- the operations which require logical shifts including
ler can come from either the RALU or the queue with Normalize Multiply and Divide The ‘‘Lower Word’’
queue accesses having priority Requests from the and ‘‘Upper Word’’ are used together for the 32-bit
queue are always for instruction at the address in the instructions and as temporary registers for many in-
slave PC structions Repetitive shifts are counted by the 6-bit
‘‘Loop Counter’’
By having program fetches from memory referenced to
the slave PC the processor saves time as addresses sel- A third temporary register stores the second operand of
dom have to be sent to the memory controller If the two operand instructions This includes the multiplier
address sequence changes because of a jump interrupt during multiplications and the divisor during divisions
call or return the slave PC is loaded with a new value To perform subtractions the output of this register can
the queue is flushed and processing continues be complemented before being placed into the ‘‘B’’ in-
put of the ALU
Execution speed is increased by using a queue since it
usually keeps the next instruction byte available The Several constants such as 0 1 and 2 are stored in the
instruction execution times shown in Section 3 show RALU to speed up certain calculations (e g making a
the normal execution times with no wait states added 2’s complement number or performing an increment or
and the 16-bit bus selected Reloading the slave PC and decrement instruction ) In addition single bit masks for
fetching the first byte of the new instruction stream bit test instructions are generated in the constant regis-
takes 4 state times This is reflected in the jump taken ter based on the 3-bit Bit Select register
not-taken times shown in the table
When debugging code using a logic analyzer one must 1 3 Internal Timing
be aware of the queue It is not possible to determine
when an instruction will begin executing by simply The 80C196KB requires an input clock on XTAL1 to
watching when it is fetched since the queue is filled in function Since XTAL1 and XTAL2 are the input and
advance of instruction execution output of an inverter a crystal can be used to generate
the clock Details of the circuit and suggestions for its
use can be found in Section 13
1 2 CPU Control
Internal operation of the 80C196KB is based on the
A microcode engine controls the CPU allowing it to crystal or external oscillator frequency divided by 2
perform operations with any byte word or double word Every 2 oscillator periods is referred to as one ‘‘state
in the 256 byte register space Instructions to the CPU time’’ the basic time measurement for all 80C196KB
are taken from the queue and stored temporarily in the operations With a 12 MHz oscillator a state time is
instruction register The microcode engine decodes the 167 nanoseconds With an 8 MHz oscillator a state
instructions and generates the correct sequence of time is 250 nanoseconds the same as an 8096BH run-
events to have the RALU perform the desired function ning with a 12 MHz oscillator Since the 80C196KB
Figure 1-2 shows the memory controller RALU in- will be run at many frequencies the times given
struction register and the control unit throughout this chapter will be in state times or
‘‘states’’ unless otherwise specified A clock out
2
8. 80C196KB USER’S GUIDE
(CLKOUT) signal shown in Figure 1-3 is provided as 2 1 Register File
an indication of the internal machine state Details on
timing relationships can be found in Section 13 Locations 00H through 0FFH contain the Register File
and Special Function Registers (SFRs) The RALU
can operate on any of these 256 internal register loca-
tions but code can not be executed from them If an
attempt to execute instructions from locations 000H
through 0FFH is made the instructions will be fetched
from external memory This section of external memo-
ry is reserved for use by Intel development tools
The internal RAM from location 018H (24 decimal) to
0FFH is the Register File It contains 232 bytes of
270651 – 3
RAM which can be accessed as bytes (8 bits) words
(16 bits) or double-words (32 bits) Since each of these
Figure 1-3 Internal Clock Waveforms locations can be used by the RALU there are essential-
ly 232 ‘‘accumulators’’ This memory region as well as
the status of the majority of the chip is kept intact
2 0 MEMORY SPACE while the chip is in the Powerdown Mode Details on
Powerdown Mode are discussed in Section 14
The addressable memory space on the 80C196KB con-
sists of 64K bytes most of which is available to the user Locations 18H and 19H contain the stack pointer
for program or data memory Locations which have These are not SFRs and may be used as standard RAM
special purposes are 0000H through 00FFH and if stack operations are not being performed Since the
1FFEH through 2080H All other locations can be stack pointer is in this area the RALU can easily oper-
used for either program or data storage or for memory ate on it The stack pointer must be initialized by the
mapped peripherals A memory map is shown in Figure user program and can point anywhere in the 64K mem-
2-1 ory space Operations to the stack cause it to build
down so the stack pointer should be initialized to 2
bytes above the highest stack location and must be
0FFFFH word aligned
EXTERNAL MEMORY OR I O
4000H
INTERNAL ROM EPROM OR
EXTERNAL MEMORY 2 2 Special Function Registers
2080H
RESERVED Locations 00H through 17H are the I O control regis-
2040H ters or SFRs All of the peripheral devices on the
UPPER 8 INTERRUPT VECTORS 80C196KB (except Ports 3 and 4) are controlled
(NEW ON 80C196KB) through these registers As shown in Figure 2-2 three
2030H
SFR windows are provided on the 80C196KB
ROM EPROM SECURITY KEY
2020H
RESERVED
Switching between the windows is done using the Win-
2019H dow Select Register (WSR) at location 14H in all of the
CHIP CONFIGURATION BYTE windows The PUSHA and POPA instructions push
2018H and pop the WSR so it is easy to change between win-
RESERVED dows Only three values may be written to the WSR 0
2014H 14 and 15 Other values are reserved for use in future
LOWER 8 INTERRUPT VECTORS parts and will cause unpredictable operation
PLUS 2 SPECIAL INTERRUPTS
2000H
Window 0 the register window selected with WSR e 0
PORT 3 AND PORT 4
1FFEH
is a superset of the one used on the 8096BH As depict-
EXTERNAL MEMORY OR I O
ed in Figure 2-3 it has 24 registers some of which have
0100H different functions when read than when written Reg-
INTERNAL DATA MEMORY - REGISTER FILE isters which are new to the 80C196KB or have changed
(STACK POINTER RAM AND SFRS) functions from the 8096 are indicated in the figure
EXTERNAL PROGRAM CODE MEMORY
0000H
Figure 2-1 80C196KB Memory Map
4
9. 80C196KB USER’S GUIDE
Listed registers
are present in
all three windows
16H 16H 16H
WSR WSR WSR
14H 14H 14H
INT MASK1 PEND1 INT MASK1 PEND1 INT MASK1 PEND1
12H 12H 12H
10H 10H 10H
0EH 0EH 0EH
TIMER2 T2 CAPTURE T2 CAPTURE
0CH 0CH 0CH
0AH 0AH 0AH
INT MASK PEND INT MASK PEND INT MASK PEND
08H 08H 08H
06H 06H 06H
04H 04H 04H
02H 02H 02H
ZERO REG ZERO REG ZERO REG
00H 00H 00H
READ WRITE PROGRAMMING WRITE READ
WSR e 0 WSR e 14 WSR e 15
Figure 2-2 Multiple Register Windows
19H 19H
STACK POINTER STACK POINTER
18H 18H
17H IOS2 17H PWM CONTROL
16H IOS1 16H IOC1
15H IOS0 15H IOC0
14H WSR 14H WSR
13H INT MASK 1 13H INT MASK 1
12H INT PEND 1 12H INT PEND 1
11H SP STAT 11H SP CON
10H PORT2 10H PORT2 10H RESERVED
0FH PORT1 0FH PORT1 0FH RESERVED
0EH PORT0 0EH BAUD RATE 0EH RESERVED
0DH TIMER2 (HI) 0DH TIMER2 (HI) 0DH T2 CAPTURE (HI)
0CH TIMER2 (LO) 0CH TIMER2 (LO) 0CH T2 CAPTURE (LO)
0BH TIMER1 (HI) 0BH IOC2
WSR e 15
0AH TIMER1 (LO) 0AH WATCHDOG
09H INT PEND 09H INT PEND OTHER SFRS IN WSR 15 BECOME
08H INT MASK 08H INT MASK READABLE IF THEY WERE WRITABLE
IN WSR e 0 AND WRITABLE IF THEY
07H SBUF(RX) 07H SBUF(TX) WERE READABLE IN WSR e 0
06H HSI STATUS 06H HSO COMMAND
05H HSI TIME (HI) 05H HSO TIME (HI)
04H HSI TIME (LO) 04H HSO TIME (LO) 04H PPW
03H AD RESULT (HI) 03H HSI MODE WSR e 14
02H AD RESULT (LO) 02H AD COMMAND
01H ZERO REG (HI) 01H ZERO REG (HI) NEW OR CHANGED REGISTER
00H ZERO REG (LO) 00H ZERO REG (LO) FUNCTION FROM 8096BH
RESERVED REGISTERS SHOULD NOT
WHEN READ WHEN WRITTEN
WSR e 0 BE WRITTEN OR READ
Figure 2-3 Special Function Registers
5
10. 80C196KB USER’S GUIDE
Register Description
R0 Zero Register - Always reads as a zero useful for a base when indexing and as a
constant for calculations and compares
AD RESULT A D Result Hi Low - Low and high order results of the A D converter
AD COMMAND A D Command Register - Controls the A D
HSI MODE HSI Mode Register - Sets the mode of the High Speed Input unit
HSI TIME HSI Time Hi Lo - Contains the time at which the High Speed Input unit was triggered
HSO TIME HSO Time Hi Lo - Sets the time or count for the High Speed Output to execute the
command in the Command Register
HSO COMMAND HSO Command Register - Determines what will happen at the time loaded into the
HSO Time registers
HSI STATUS HSI Status Registers - Indicates which HSI pins were detected at the time in the HSI
Time registers and the current state of the pins In Window 15 - Writes to pin
detected bits but not current state bits
SBUF(TX) Transmit buffer for the serial port holds contents to be outputted Last written value
is readable in Window 15
SBUF(RX) Receive buffer for the serial port holds the byte just received by the serial port
Writable in Window 15
INT MASK Interrupt Mask Register - Enables or disables the individual interrupts
INT PEND Interrupt Pending Register - Indicates that an interrupt signal has occurred on one of
the sources and has not been serviced (also INT PENDING)
WATCHDOG Watchdog Timer Register - Written periodically to hold off automatic reset every 64K
state times Returns upper byte of WDT counter in Window 15
TIMER1 Timer 1 Hi Lo - Timer1 high and low bytes
TIMER2 Timer 2 Hi Lo - Timer2 high and low bytes
IOPORT0 Port 0 Register - Levels on pins of Port 0 Reserved in Window 15
BAUD RATE Register which determines the baud rate this register is loaded sequentially
Reserved in Window 15
IOPORT1 Port 1 Register - Used to read or write to Port 1 Reserved in Window 15
IOPORT2 Port 2 Register - Used to read or write to Port 2 Reserved in Window 15
SP STAT Serial Port Status - Indicates the status of the serial port
SP CON Serial Port Control - Used to set the mode of the serial port
IOS0 I O Status Register 0 - Contains information on the HSO status Writes to HSO pins
in Window 15
IOS1 I O Status Register 1 - Contains information on the status of the timers and of the
HSI
IOC0 I O Control Register 0 - Controls alternate functions of HSI pins Timer 2 reset
sources and Timer 2 clock sources
IOC1 I O Control Register 1 - Controls alternate functions of Port 2 pins timer interrupts
and HSI interrupts
PWM CONTROL Pulse Width Modulation Control Register - Sets the duration of the PWM pulse
INT PEND1 Interrupt Pending register for the 8 new interrupt vectors (also INT PENDING1)
INT MASK1 Interrupt Mask register for the 8 new interrupt vectors
IOC2 I O Control Register 2 - Controls new 80C196KB features
IOS2 I O Status Register 2 - Contains information on HSO events
WSR Window Select Register - Selects register window
Figure 2-4 Special Function Register Description
6
11. 80C196KB USER’S GUIDE
Programming control and test operations are done in in Window 15 (Timer2 was read-only on the 8096 )
Window 14 Registers in this window that are not la- Registers which can be read and written in Window 0
beled should be considered reserved and should not be can also be read and written in Window 15
either read or written
Figure 2-4 contains brief descriptions of the SFR regis-
In register Window 15 (WSR e 15) the operation of ters Detailed descriptions are contained in the section
the SFRs is changed so that those which were read- which discusses the peripheral controlled by the regis-
only in Window 0 space are write-only and vice versa ter Figure 2-5 contains a description of the alternate
The only major exception to this is that Timer2 is read function in Window 15
write in Window 0 and T2 Capture is read write
AD COMMAND (02H) Read the last written command
AD RESULT (02H 03H) Write a value into the result register
HSI MODE (03H) Read the value in HSI MODE
HSI TIME (04H 05H) Write to FIFO Holding register
HSO TIME (04H 05H) Read the last value placed in the holding register
HSI STATUS (06H) Write to status bits but not to HSI pin bits (Pin bits are 1 3 5 7)
HSO COMMAND (06H) Read the last value placed in the holding register
SBUF(RX) (07H) Write a value into the receive buffer
SBUF(TX) (07H) Read the last value written to the transmit buffer
WATCHDOG (0AH) Read the value in the upper byte of the WDT
TIMER1 (0AH 0BH) Write a value to Timer1
TIMER2 (0CH 0DH) Read Write the Timer2 capture register
(Timer2 read write is done with WSR e 0)
IOC2 (0BH) Last written value is readable except bit 7 (Note 1)
BAUD RATE (0EH) No function cannot be read
PORT0 (0EH) No function no output drivers on the pins
SP STAT (11H) Set the status bits TI and RI can be set but it will not cause an interrupt
SP CON (11H) Read the current control byte
IOS0 (15H) Writing to this register controls the HSO pins Bits 6 and 7 are inactive for
writes
IOC0 (15H) Last written value is readable except bit 1 (Note 1)
IOS1 (16H) Writing to this register will set the status bits but not cause interrupts Bits
6 and 7 are not functional
IOC1 (16H) Last written value is readable
IOS2 (17H) Writing to this register will set the status bits but not cause interrupts
PWM CONTROL (17H) Read the duty cycle value written to PWM CONTROL
NOTE
1 IOC2 7 (CAM CLEAR) and IOC0 1 (T2RST) are not latched and will read as a 1 (precharged bus)
Being able to write to the read-only registers and vice-versa provides a lot of flexibility One of the most useful
advantages is the ability to set the timers and HSO lines for initial conditions other than zero
Figure 2-5 Alternate SFR Function in Window 15
7
12. 80C196KB USER’S GUIDE
Within the SFR space are several registers and bit loca- change the contents of this location Refer to Section
tions labeled ‘‘RESERVED’’ These locations should 15 2 for more information about bus contention during
never be written or read A reserved bit location should CCB fetch
always be written with 0 to maintain compatibility with
future parts Values read from these locations may
change from part to part or over temperature and volt- FFFFH
EXTERNAL MEMORY
age Registers and bits which are not labeled should be OR I O
treated as reserved registers and bits Note that the de- 4000H
fault state of internal registers is 0 while that for exter- INTERNAL PROGRAM
nal memory is 1 This is because SFR functions are STORAGE ROM EPROM
typically disabled with a zero while external memory is OR
EXTERNAL MEMORY 2080H
typically erased to all 1s
RESERVED 2074H–207FH
VOLTAGE LEVELS 2072H–2073H
Caution must be taken when using the SFRs as sources
of operations or as base or index registers for indirect or SIGNATURE WORD 2070H–2071H
indexed operations It is possible to get undesired re- RESERVED 2040H–206FH
sults since external events can change SFRs and some INTERRUPT VECTORS 2030H–203FH
SFRs clear when read The potential for an SFR to SECURITY KEY 2020H–202FH
change value must be taken into account when operat- RESERVED 2019H–201FH
ing on these registers This is particularly important CHIP CONFIGURATION BYTE 2018H
when high level languages are used as they may not RESERVED 2015H–2017H
always make allowances for SFR-type registers SFRs PPW 2014H
can be operated on as bytes or words unless otherwise INTERRUPT VECTORS 2000H–2013H
specified
Figure 2-6 Reserved Memory Spaces
2 3 Reserved Memory Spaces Resetting the 80C196KB causes instructions to be
Locations 1FFEH and 1FFFH are used for Ports 3 and fetched starting from location 2080H This location was
4 respectively allowing easy reconstruction of these chosen to allow a system to have up to 8K of RAM
ports if external memory is used An example of recon- continuous with the register file Further information
structing the I O ports is given in Section 15 If ports 3 on reset can be found in Section 13
and 4 are not going to be reconstructed and internal
ROM EPROM is not used these locations can be
treated as any other external memory location 2 4 Internal ROM and EPROM
When a ROM part is ordered or an EPROM part is
Many reserved and special locations are in the memory
programmed the internal memory locations 2080H
area between 2000H and 2080H In this area the 18
through 3FFFH are user specified as are the interrupt
interrupt vectors chip configuration byte and security
vectors Chip Configuration Register and Security Key
key are located Figure 2-6 shows the locations and
in locations 2000H through 207FH Location 2014H
functions of these registers The interrupts chip config-
contains the PPW (Programming Pulse Width) regis-
uration and security key registers are discussed in Sec-
ter The PPW is used solely to program 87C196KB
tions 5 16 and 17 respectively With one exception all
EPROM devices and is a reserved location on ROM
unspecified addresses in locations 2000H through
and ROMless devices
207FH including those marked ‘‘Reserved’’ are re-
served by Intel for use in testing or future products
Instruction and data fetches from the internal ROM or
They must be filled with the Hex value FFH to insure
EPROM occur only if the part has ROM or EPROM
compatibility with future devices Location 2019H
EA is tied high and the address is between 2000H and
should contain 20H to prevent possible bus contention
3FFFH At all other times data is accessed from either
during the CCB fetch cycle NOTE 1 This exception
the internal RAM space or external memory and in-
applies only to systems with a 16-bit bus and external
structions are fetched from external memory The EA
program memory 2 Previously designed systems
pin is latched on RESET rising Information on pro-
which do not experience bus contention don’t need to
gramming EPROMs can be found in Section 16
8
13. 80C196KB USER’S GUIDE
The 80C196KB provides a ROM EPROM lock feature These are the same as the names for the general data
to allow the program to be locked against reading registers used in the 8086 It is important to note that in
and or writing the internal program memory In order the 80C196KB these are not dedicated registers but
to maintain security code can not be executed out of merely the symbolic names assigned by the program-
the last three locations of internal ROM EPROM if mer to an eight byte region within the on-board register
the lock is enabled Details on this feature are in Sec- file
tion 17
3 1 Operand Types
2 5 System Bus
The MCS-96 architecture supports a variety of data
There are several modes of system bus operation on the types likely to be useful in a control application To
80C196KB The standard bus mode uses a 16-bit multi- avoid confusion the name of an operand type is capital-
plexed address data bus Other bus modes include an ized A ‘‘BYTE’’ is an unsigned eight bit variable a
8-bit mode and a mode in which the bus size can dy- ‘‘byte’’ is an eight bit unit of data of any type
namically be switched between 8-bits and 16-bits
Hold Hold Acknowledge (HOLD HLDA) and Ready BYTES
signals are available to create a variety of memory sys- BYTES are unsigned 8-bit variables which can take on
tems The READY line extends the width of the RD the values between 0 and 255 Arithmetic and relational
(read) and WR (write) pulses to allow access of slow operators can be applied to BYTE operands but the
memories Multiple processor systems with shared result must be interpreted in modulo 256 arithmetic
memory can be designed using HOLD HLDA to keep Logical operations on BYTES are applied bitwise Bits
the 80C196KB off the bus Details on the System Bus within BYTES are labeled from 0 to 7 with 0 being the
are in Section 15 least significant bit
3 0 SOFTWARE OVERVIEW WORDS
This section provides information on writing programs WORDS are unsigned 16-bit variables which can take
to execute in the 80C196KB Additional information on the values between 0 and 65535 Arithmetic and
can be found in the following documents relational operators can be applied to WORD operands
but the result must be interpreted modulo 65536 Logi-
MCS -96 MACRO ASSEMBLER USER’S GUIDE cal operations on WORDS are applied bitwise Bits
Order Number 122048 (Intel Systems) within words are labeled from 0 to 15 with 0 being the
Order Number 122351 (DOS Systems) least significant bit WORDS must be aligned at even
byte boundaries in the MCS-96 address space The least
MCS -96 UTILITIES USER’S GUIDE significant byte of the WORD is in the even byte ad-
Order Number 122049 (Intel Systems) dress and the most significant byte is in the next higher
Order Number 122356 (DOS Systems) (odd) address The address of a word is the address of
its least significant byte Word operations to odd ad-
PL M-96 USER’S GUIDE dresses are not guaranteed to operate in a consistent
Order Number 122134 (Intel Systems) manner
Order Number 122361 (DOS Systems)
C-96 USER’S GUIDE SHORT-INTEGERS
Order Number 167632 (DOS Systems) SHORT-INTEGERS are 8-bit signed variables which
can take on the values between b 128 and a 127
Throughout this chapter short sections of code are used
Arithmetic operations which generate results outside of
to illustrate the operation of the device For these sec-
the range of a SHORT-INTEGER will set the overflow
tions it is assumed that the following set of temporary
indicators in the program status word The actual nu-
registers has been declared
meric result returned will be the same as the equivalent
AX BX CX and DX are 16-bit registers operation on BYTE variables
AL is the low byte of AX AH is the high byte
BL is the low byte of BX
CL is the low byte of CX
DL is the low byte of DX
9
14. 80C196KB USER’S GUIDE
INTEGERS LONG-INTEGERS can also be normalized For these
operations a LONG-INTEGER variable must reside in
INTEGERS are 16-bit signed variables which can take the onboard register file of the 80C196KB and be
on the values between b 32 768 and a 32 767 Arith- aligned at an address which is evenly divisible by 4 A
metic operations which generate results outside of the LONG-INTEGER is addressed by the address of its
range of an INTEGER will set the overflow indicators least significant byte
in the program status word The actual numeric result
returned will be the same as the equivalent operation on LONG-INTEGER operations which are not directly
WORD variables INTEGERS conform to the same supported can be easily implemented with two INTE-
alignment and addressing rules as do WORDS GER operations For consistency with Intel provided
software the user should adopt the conventions for ad-
dressing LONG operands which are discussed in Sec-
BITS tion 3 6
BITS are single-bit operands which can take on the
Boolean values of true and false In addition to the nor-
mal support for bits as components of BYTE and 3 2 Operand Addressing
WORD operands the 80C196KB provides for the di-
Operands are accessed within the address space of the
rect testing of any bit in the internal register file The
80C196KB with one of six basic addressing modes
MCS-96 architecture requires that bits be addressed as
Some of the details of how these addressing modes
components of BYTES or WORDS it does not support
work are hidden by the assembly language If the pro-
the direct addressing of bits that can occur in the MCS-
grammer is to take full advantage of the architecture it
51 architecture
is important that these details be understood This sec-
tion will describe the addressing modes as they are han-
DOUBLE-WORDS dled by the hardware At the end of this section the
addressing modes will be described as they are seen
DOUBLE-WORDS are unsigned 32-bit variables through the assembly language The six basic address
which can take on the values between 0 and modes which will be described are termed register-di-
4 294 967 295 The MCS-96 architecture provides di- rect indirect indirect with auto-increment immediate
rect support for this operand type for shifts as the divi- short-indexed and long-indexed Several other useful
dend in a 32-by-16 divide and the product of a 16-by-16 addressing operations can be achieved by combining
multiply and for double-word comparisons For these these basic addressing modes with specific registers
operations a DOUBLE-WORD variable must reside in such as the ZERO register or the stack pointer
the on-board register file of the 80C196KB and be
aligned at an address which is evenly divisible by 4 A
DOUBLE-WORD operand is addressed by the address REGISTER-DIRECT REFERENCES
of its least significant byte DOUBLE-WORD opera-
The register-direct mode is used to directly access a
tions which are not directly supported can be easily
register from the 256 byte on-board register file The
implemented with two WORD operations For consist-
register is selected by an 8-bit field within the instruc-
ency with Intel provided software the user should adopt
tion and the register address must conform to the oper-
the conventions for addressing DOUBLE-WORD op-
and type’s alignment rules Depending on the instruc-
erands which are discussed in Section 3 5
tion up to three registers can take part in the calcula-
tion
LONG-INTEGERS
LONG-INTEGERS are 32-bit signed variables which Examples
can take on the values between b 2 147 483 648 and
a 2 147 483 647 The MCS-96 architecture provides di-
ADD AX BX CX AX 4BX0CX
MUL AX BX AX 4AX*BX
rect support for this data type for shifts as the dividend INCB CL CL 4CL01
in a 32-by-16 divide and the product of a 16-by-16 mul-
tiply and for double-word comparisons
10
15. 80C196KB USER’S GUIDE
INDIRECT REFERENCES
The indirect mode is used to access an operand by plac- file The register which contains the indirect address is
ing its address in a WORD variable in the register file selected by an eight bit field within the instruction An
The calculated address must conform to the alignment instruction can contain only one indirect reference and
rules for the operand type Note that the indirect ad- the remaining operands of the instruction (if any) must
dress can refer to an operand anywhere within the ad- be register-direct references
dress space of the 80C196KB including the register
Examples
LD AX AX AX 4MEM WORD(AX)
ADDB AL BL CX AL 4BL0MEM BYTE(CX)
POP AX MEM WORD(AX) 4MEM WORD(SP) SP 4SP02
INDIRECT WITH AUTO-INCREMENT REFERENCES
This addressing mode is the same as the indirect mode SHORT-INTEGERS the indirect address variable will
except that the WORD variable which contains the in- be incremented by one If the instruction operates on
direct address is incremented after it is used to address WORDS or INTEGERS the indirect address variable
the operand If the instruction operates on BYTES or will be incremented by two
Examples
LD AX BX 0 AX 4MEM WORD(BX) BX 4BX02
ADDB AL BL CX 0 AL 4BL0MEM BYTE(CX) CX 4CX01
PUSH AX 0 SP 4SP12
MEM WORD(SP) 4MEM WORD(AX)
AX 4AX02
IMMEDIATE REFERENCES
This addressing mode allows an operand to be taken INTEGER operands the field is 16 bits wide An in-
directly from a field in the instruction For operations struction can contain only one immediate reference and
on BYTE or SHORT-INTEGER operands this field is the remaining operand(s) must be register-direct refer-
eight bits wide For operations on WORD or ences
Examples
ADD AX 340 AX 4AX0340
PUSH 1234H SP 4SP12 MEM WORD(SP) 41234H
DIVB AX 10 AL 4AX 10 AH 4AX MOD 10
SHORT-INDEXED REFERENCES
In this addressing mode an eight bit field in the instruc- Since the eight bit field is sign-extended the effective
tion selects a WORD variable in the register file which address can be up to 128 bytes before the address in the
contains an address A second eight bit field in the in- WORD variable and up to 127 bytes after it An in-
struction stream is sign-extended and summed with the struction can contain only one short-indexed reference
WORD variable to form the address of the operand and the remaining operand(s) must be register-direct
which will take part in the calculation references
Examples
LD AX 12 BX AX 4MEM WORD(BX012)
MULB AX BL 3 CX AX 4BL*MEM BYTE(CX03)
11
16. 80C196KB USER’S GUIDE
LONG-INDEXED REFERENCES
This addressing mode is like the short-indexed mode struction can contain only one long-indexed reference
except that a 16-bit field is taken from the instruction and the remaining operand(s) must be register-direct
and added to the WORD variable to form the address references
of the operand No sign extension is necessary An in-
Examples
AND AX BX TABLE CX AX 4BX AND MEM WORD(TABLE0CX)
ST AX TABLE BX MEM WORD(TABLE0BX) 4AX
ADDB AL BL LOOKUP CX AL 4BL0MEM BYTE(LOOKUP0CX)
ZERO REGISTER ADDRESSING
The first two bytes in the register file are fixed at zero variable in a long-indexed reference This combination
by the 80C196KB hardware In addition to providing a of register selection and address mode allows any loca-
fixed source of the constant zero for calculations and tion in memory to be addressed directly
comparisons this register can be used as the WORD
Examples
ADD AX 1234 0 AX 4AX0MEM WORD(1234)
POP 5678 0 MEM WORD(5678) 4MEM WORD(SP)
SP 4SP02
STACK POINTER REGISTER ADDRESSING
The system stack pointer in the 80C196KB is accessed accessed by using the stack pointer as the WORD vari-
as register 18H of the internal register file In addition able in an indirect reference In a similar fashion the
to providing for convenient manipulation of the stack stack pointer can be used in the short-indexed mode to
pointer this also facilitates the accessing of operands in access data within the stack
the stack The top of the stack for example can be
Examples
PUSH SP DUPLICATE TOP OF STACK
LD AX 2 SP AX 4NEXT TO TOP
ASSEMBLY LANGUAGE ADDRESSING MODES These features of the assembly language simplify the
programming task and should be used wherever possi-
The MCS-96 assembly language simplifies the choice of
ble
addressing modes to be used in several respects
Direct Addressing The assembly language will choose
between register-direct addressing and long-indexed 3 3 Program Status Word
with the ZERO register depending on where the oper-
and is in memory The user can simply refer to an oper- The program status word (PSW) is a collection of Boo-
and by its symbolic name if the operand is in the regis- lean flags which retain information concerning the state
ter file a register-direct reference will be used if the of the user’s program There are two bytes in the PSW
operand is elsewhere in memory a long-indexed refer- the actual status word and the low byte of the interrupt
ence will be generated mask Figure 3-1 shows the status bits of the PSW The
PSW can be saved in the system stack with a single
Indexed Addressing The assembly language will operation (PUSHF) and restored in a like manner
choose between short and long indexing depending on (POPF) Only the interrupt section of the PSW can be
the value of the index expression If the value can be accessed directly There is no SFR for the PSW status
expressed in eight bits then short indexing will be used bits
if it cannot be expressed in eight bits then long indexing
will be used
12
17. 80C196KB USER’S GUIDE
CONDITION FLAGS VT The oVerflow Trap flag is set when the V flag is
set but it is only cleared by the CLRVT JVT and
The PSW bits on the 80C196KB are set as follows JNVT instructions The operation of the VT flag
allows for the testing for a possible overflow con-
7 6 5 4 3 2 1 0 dition at the end of a sequence of related arithme-
PSW tic operations This is normally more efficient
Z N V VT C X I ST than testing the V flag after each instruction
Figure 3-1 PSW Register C The Carry flag is set to indicate the state of the
arithmetic carry from the most significant bit of
Z The Z (Zero) flag is set to indicate that the opera-
the ALU for an arithmetic operation or the state
tion generated a result equal to zero For the add-
of the last bit shifted out of an operand for a shift
with-carry (ADDC) and subtract-with-borrow
Arithmetic Borrow after a subtract operation is
(SUBC) operations the Z flag is cleared if the re-
the complement of the C flag (i e if the operation
sult is non-zero but is never set These two in-
generated a borrow then C e 0 )
structions are normally used in conjunction with
the ADD and SUB instructions to perform multi- X Reserved Should always be cleared when writing
ple precision arithmetic The operation of the Z to the PSW for compatibility with future prod-
flag for these instructions leaves it indicating the ucts
proper result for the entire multiple precision cal- I The global Interrupt disable bit disables all inter-
culation rupts when cleared except NMI TRAP and un-
N The Negative flag is set to indicate that the opera- implemented opcode
tion generated a negative result Note that the N ST The ST (STicky bit) flag is set to indicate that
flag will be in the algebraically correct state even during a right shift a 1 has been shifted first into
if an overflow occurs For shift operations includ- the C flag and then been shifted out The ST flag
ing the normalize operation and all three forms is undefined after a multiply operation The ST
(SHL SHR SHRA) of byte word and double flag can be used along with the C flag to control
word shifts the N flag will be set to the same rounding after a right shift Consider multiplying
value as the most significant bit of the result This two eight bit quantities and then scaling the result
will be true even if the shift count is 0 down to 12 bits
V The oVerflow flag is set to indicate that the opera-
tion generated a result which is outside the range MULUB AX CL DL AX 4CL*DL
for the destination data type For the SHL SHLB SHR AX 4 Shift right 4
and SHLL instructions the V flag will be set if the places
most significant bit of the operand changes at any
time during the shift For divide operations the If the C flag is set after the shift it indicates that the
following conditions are used to determine if the V bits shifted off the end of the operand were greater-than
flag is set or equal-to one half the least significant bit (LSB) of the
result If the C flag is clear after the shift it indicates
For the
that the bits shifted off the end of the operand were less
operation V is set if Quotient is
than half the LSB of the result Without the ST flag
UNSIGNED the rounding decision must be made on the basis of the
BYTE DIVIDE l 255(0FFH) C flag alone (Normally the result would be rounded up
if the C flag is set ) The ST flag allows a finer resolution
UNSIGNED in the rounding decision
WORD DIVIDE l 65535(0FFFFH)
SIGNED k b 127(81H) C ST Value of the Bits Shifted Off
BYTE or 0 0 Value e 0
DIVIDE l 127(7FH)
0 1 0 k Value k LSB
SIGNED k b 32767(8001H)
1 0 Value e LSB
WORD or
DIVIDE l 32767(7FFFH) 1 1 Value l LSB
Figure 3-2 Rounding Alternatives
Imprecise rounding can be a major source of error in a
numerical calculation use of the ST flag improves the
options available to the programmer
13
18. 80C196KB USER’S GUIDE
INTERRUPT FLAGS WORDS can be converted to DOUBLE-WORDS by
simply clearing the upper WORD of the DOUBLE-
The lower eight bits of the PSW individually mask the WORD (CLR) and INTEGERS can be converted to
lowest 8 sources of interrupt to the 80C196KB These LONGS with the EXT (sign extend) instruction
mask bits can be accessed as an eight bit byte (INT
MASK address 8) in the on-board register file A sep- The MCS-96 instructions for addition subtraction and
arate register (INT MASK1 address 13H) contains comparison do not distinguish between unsigned words
the control bits for the higher 8 interrupts A logical ‘1’ and signed integers Conditional jumps are provided to
in these bit positions enables the servicing of the corre- allow the user to treat the results of these operations as
sponding interrupt Bit 9 in the PSW is the global inter- either signed or unsigned quantities As an example the
rupt disable If this bit is cleared then interrupts will be CMPB (compare byte) instruction is used to compare
locked out Note that the interrupts are collected in the both signed and unsigned eight bit quantities A JH
INT PEND registers even if they are locked out Exe- (jump if higher) could be used following the compare if
cution of the corresponding service routines will pro- unsigned operands were involved or a JGT (jump if
ceed according to their priority when they become en- greater-than) if signed operands were involved
abled Further information on the interrupt structure of
the 80C196KB can be found in Section 5 Tables 3-1 and 3-2 summarize the operation of each of
the instructions Complete descriptions of each instruc-
tion and its timings can be found in the MCS-96 family
3 4 Instruction Set Instruction Set chapter
The MCS-96 instruction set contains a full set of arith- The execution times for the instruction set are given in
metic and logical operations for the 8-bit data types Figure 3-3 These times are given for a 16-bit bus with
BYTE and SHORT INTEGER and for the 16-bit data no wait states On-chip EPROM ROM space is a 16-
types WORD and INTEGER The DOUBLE-WORD bit zero wait state bus When executing from an 8-bit
and LONG data types (32 bits) are supported for the external memory system or adding wait states the CPU
products of 16-by-16 multiplies and the dividends of becomes bus limited and must sometimes wait for the
32-by-16 divides for shift operations and for 32-bit prefetch queue The performance penalty for an 8-bit
compares The remaining operations on 32-bit variables external bus is difficult to measure but has shown to be
can be implemented by combinations of 16-bit opera- between 10 and 30 percent based on the instruction
tions As an example the sequence mix The best way to measure code performance is to
actually benchmark the code and time it using an emu-
ADD AX CX lator or with TIMER1
ADDC BX DX
The indirect and indexed instruction timings are given
performs a 32-bit addition and the sequence for two memory spaces SFR Internal RAM space (0 –
0FFH) and a memory controller reference (100H –
SUB AX CX 0FFFFH) Any instruction that uses an operand that is
SUBC BX DX referenced through the memory controller (ex Add
r1 5000H 0 ) takes 2 – 3 states longer than if the oper-
performs a 32-bit subtraction Operations on REAL and was in the SFR Internal RAM space Any data
(i e floating point) variables are not supported directly access to on-chip ROM EPROM is considered to be a
by the hardware but are supported by the floating point memory controller reference
library for the 80C196KB (FPAL-96) which imple-
ments a single precision subset of draft 10 of the IEEE Flag Settings The modification to the flag setting is
standard for floating point arithmetic The performance shown for each instruction A checkmark ( ) means
of this software is significantly improved by the that the flag is set or cleared as appropriate A hyphen
80C196KB NORML instruction which normalizes a means that the flag is not modified A one or zero (1) or
32-bit variable and by the existence of the ST flag in the (0) indicates that the flag will be in that state after the
PSW instruction An up arrow (u) indicates that the in-
struction may set the flag if it is appropriate but will
In addition to the operations on the various data types not clear the flag A down arrow (v) indicates that the
the 80C196KB supports conversions between these flag can be cleared but not set by the instruction A
types LDBZE (load byte zero extended) converts a question mark ( ) indicates that the flag will be left in
BYTE to a WORD and LDBSE (load byte sign extend- an indeterminant state after the operation
ed) converts a SHORT-INTEGER into an INTEGER
14
19. 80C196KB USER’S GUIDE
Table 3-1A Instruction Summary
Flags
Mnemonic Operands Operation (Note 1) Notes
Z N C V VT ST
ADD ADDB 2 DwDaA u b
ADD ADDB 3 DwBaA u b
ADDC ADDCB 2 DwDaAaC v u b
SUB SUBB 2 DwDbA u b
SUB SUBB 3 DwBbA u b
SUBC SUBCB 2 DwDbAaCb1 v u b
CMP CMPB 2 DbA u b
MUL MULU 2 DDa2 wDcA b b b b b b 2
MUL MULU 3 DD a2wBcA b b b b b b 2
MULB MULUB 2 DDa1wDcA b b b b b b 3
MULB MULUB 3 DDa1wBcA b b b b b b 3
DIVU 2 D w (D D a 2) A D a 2 w remainder b b b u b 2
DIVUB 2 D w (D D a 1) A D a 1 w remainder b b b u b 3
DIV 2 D w (D D a 2) A D a 2 w remainder b b b u b
DIVB 2 D w (D D a 1) A D a 1 w remainder b b b u b
AND ANDB 2 D w D AND A 0 0 b b
AND ANDB 3 D w B AND A 0 0 b b
OR ORB 2 D w D OR A 0 0 b b
XOR XORB 2 D w D (ecxl or) A 0 0 b b
LD LDB 2 DwA b b b b b b
ST STB 2 AwD b b b b b b
LDBSE 2 D w A D a 1 w SIGN(A) b b b b b b 34
LDBZE 2 DwA Da1w0 b b b b b b 34
PUSH 1 SP w SP b 2 (SP) w A b b b b b b
POP 1 A w (SP) SP a 2 b b b b b b
PUSHF 0 SP w SP b 2 (SP) w PSW 0 0 0 0 0 0
PSW w 0000H I w 0
POPF 0 PSW w (SP) SP w SP a 2 I w
SJMP 1 PC w PC a 11-bit offset b b b b b b 5
LJMP 1 PC w PC a 16-bit offset b b b b b b 5
BR indirect 1 PC w (A) b b b b b b
SCALL 1 SP w SP b 2 b b b b b b 5
(SP) w PC PC w PC a 11-bit offset
LCALL 1 SP w SP b 2 (SP) w PC b b b b b b 5
PC w PC a 16-bit offset
15
20. 80C196KB USER’S GUIDE
Table 3-1B Instruction Summary
Flags
Mnemonic Operands Operation (Note 1) Notes
Z N C V VT ST
RET 0 PC w (SP) SP w SP a 2 b b b b b b
J (conditional) 1 PC
b w PC a 8-bit offset (if taken) b b b b b b 5
JC 1 Jump if C e 1 b b b b b b 5
JNC 1 jump if C e 0 b b b b b b 5
JE 1 jump if Z e 1 b b b b b b 5
JNE 1 Jump if Z e 0 b b b b b b 5
JGE 1 Jump if N e 0 b b b b b b 5
JLT 1 Jump if N e 1 b b b b b b 5
JGT 1 Jump if N e 0 and Z e 0 b b b b b b 5
JLE 1 Jump if N e 1 or Z e 1 b b b b b b 5
JH 1 Jump if C e 1 and Z e 0 b b b b b b 5
JNH 1 Jump if C e 0 or Z e 1 b b b b b b 5
JV 1 Jump if V e 1 b b b b b b 5
JNV 1 Jump if V e 0 b b b b b b 5
JVT 1 Jump if VT e 1 Clear VT b b b b 0 b 5
JNVT 1 Jump if VT e 0 Clear VT b b b b 0 b 5
JST 1 Jump if ST e 1 b b b b b b 5
JNST 1 Jump if ST e 0 b b b b b b 5
JBS 3 Jump if Specified Bit e 1 b b b b b b 56
JBC 3 Jump if Specified Bit e 0 b b b b b b 56
DJNZ 1 Dw Db1 b b b b b b 5
DJNZW If D i 0 then PC w PC a 8-bit offset 10
DEC DECB 1 D wDb1 u b
NEG NEGB 1 Dw0bD u b
INC INCB 1 DwDa1 u b
EXT 1 D w D D a 2 w Sign (D) 0 0 b b 2
EXTB 1 D w D D a 1 w Sign (D) 0 0 b b 3
NOT NOTB 1 D w Logical Not (D) 0 0 b b
CLR CLRB 1 Dw0 1 0 0 0 b b
SHL SHLB SHLL 2 C w msb - - - - - lsb w 0 u b 7
SHR SHRB SHRL 2 0 x msb - - - - - lsb x C 0 b 7
SHRA SHRAB SHRAL 2 msb x msb - - - - - lsb x C 0 b 7
SETC 0 Cw1 b b 1 b b b
CLRC 0 Cw0 b b 0 b b b
16
21. 80C196KB USER’S GUIDE
Table 3-1C Instruction Summary
Flags
Mnemonic Operands Operation (Note 1) Notes
Z N C V VT ST
CLRVT 0 VT w0 b b b b 0 b
RST 0 PC w 2080H 0 0 0 0 0 0 8
DI 0 Disable All Interupts (I w 0) b b b b b b
EI 0 Enable All Interupts (I w 1) b b b b b b
NOP 0 PC w PC a 1 b b b b b b
SKIP 0 PC w PC a 2 b b b b b b
NORML 2 Left shift till msb e 1 D w shift count 0 b b b 7
TRAP 0 SP w SP b 2 b b b b b b 9
(SP) w PC PC w (2010H)
PUSHA 1 SP w SP-2 (SP) w PSW 0 0 0 0 0 0
PSW w 0000H SP w SP-2
(SP) w IMASK1 WSR IMASK1 w 00H
POPA 1 IMASK1 WSR w (SP) SP w SP a 2
PSW w (SP) SP w SP a 2
IDLPD 1 IDLE MODE IF KEY e 1 b b b b b b
POWERDOWN MODE IF KEY e 2
CHIP RESET OTHERWISE
CMPL 2 D-A u b
BMOV 2 PTR w PTR
HI a LOW a b b b b b b
UNTIL COUNT e 0
NOTES
1 If the mnemonic ends in ‘‘B’’ a byte operation is performed otherwise a word operation is done Operands D B and A
must conform to the alignment rules for the required operand type D and B are locations in the Register File A can be
located anywhere in memory
2 D D a 2 are consecutive WORDS in memory D is DOUBLE-WORD aligned
3 D D a 1 are consecutive BYTES in memory D is WORD aligned
4 Changes a byte to word
5 Offset is a 2’s complement number
6 Specified bit is one of the 2048 bits in the register file
7 The ‘‘L’’ (Long) suffix indicates double-word operation
8 Initiates a Reset by pulling RESET low Software should re-initialize all the necessary registers with code starting at
2080H
9 The assembler will not accept this mnemonic
10 The DJNZW instruction is not guaranteed to work See Functional Deviations section
17
22. 80C196KB USER’S GUIDE
Table 3-2A Instruction Length (in Bytes) Opcode
INDIRECT INDEXED
MNEMONIC DIRECT IMMED
NORMAL (1) A-INC (1) SHORT (1) LONG (1)
ADD (3-op) 4 44 5 45 4 46 4 46 5 47 6 47
SUB (3-op) 4 48 5 49 4 4A 4 4A 5 4B 6 4B
ADD (2-op) 3 64 4 65 3 66 3 66 4 67 5 67
SUB (2-op) 3 68 4 69 3 6A 3 6A 4 6B 5 6B
ADDC 3 A4 4 A5 3 A6 3 A6 4 A7 5 A7
SUBC 3 A8 4 A9 3 AA 3 AA 4 AB 5 AB
CMP 3 88 4 89 3 AB 3 AB 4 8B 5 8B
ADDB (3-op) 4 54 4 55 4 56 4 56 5 57 6 57
SUBB (3-op) 4 58 4 59 4 5A 4 5A 5 5B 6 5B
ADDB (2-op) 3 74 3 75 3 76 3 76 4 77 5 77
SUBB (2-op) 3 78 3 79 3 7A 3 7A 4 7B 5 7B
ADDCB 3 B4 3 B5 3 B6 3 B6 4 B7 5 B7
SUBCB 3 B8 3 B9 3 BA 3 BA 4 BB 5 BB
CMPB 3 98 3 99 3 9A 3 9A 4 9B 5 9B
MUL (3-op) 5 (2) 6 (2) 5 (2) 5 (2) 6 (2) 7 (2)
MULU (3-op) 4 4C 5 4D 4 4E 4 4E 5 4F 6 4F
MUL (2-op) 4 (2) 5 (2) 4 (2) 4 (2) 5 (2) 6 (2)
MULU (2-op) 3 6C 4 6D 3 6E 3 6E 4 6F 5 6F
DIV 4 (2) 5 (2) 4 (2) 4 (2) 5 (2) 6 (2)
DIVU 3 8C 4 8D 3 8E 3 8E 4 8F 5 8F
MULB (3-op) 5 (2) 5 (2) 5 (2) 5 (2) 6 (2) 7 (2)
MULUB (3-op) 4 5C 4 5D 4 5E 4 5E 5 5F 6 5F
MULB (2-op) 4 (2) 4 (2) 4 (2) 4 (2) 5 (2) 6 (2)
MULUB (2-op) 3 7C 3 7D 3 7E 3 7E 4 7F 5 7F
DIVB 4 (2) 4 (2) 4 (2) 4 (2) 5 (2) 6 (2)
DIVUB 3 9C 3 9D 3 9E 3 9E 4 9F 5 9F
AND (3-op) 4 40 5 41 4 42 4 42 5 43 6 43
AND (2-op) 3 60 4 61 3 62 3 62 4 63 5 63
OR (2-op) 3 80 4 81 3 82 3 82 4 83 5 83
XOR 3 84 4 85 3 86 3 86 4 87 5 87
ANDB (3-op) 4 50 4 51 4 52 4 52 5 53 5 53
ANDB (2-op) 3 70 3 71 3 72 3 72 4 73 4 73
ORB (2-op) 3 90 3 91 3 92 3 92 4 93 5 93
XORB 3 94 3 95 3 96 3 96 4 97 5 97
PUSH 2 C8 3 C9 2 CA 2 CA 3 CB 4 CB
POP 2 CC 2 CE 2 CE 3 CF 4 CF
NOTES
1 Indirect and indirect a share the same opcodes as do short and long indexed opcodes If the second byte is even use
indirect or short indexed If odd use indirect or long indexed
2 The opcodes for signed multiply and divide are the unsigned opcode with an ‘‘FE’’ prefix
18
23. 80C196KB USER’S GUIDE
Table 3-2B Instruction Length (in Bytes) Opcode
INDIRECT INDEXED
MNEMONIC DIRECT IMMED
NORMAL A-INC SHORT LONG
LD 3 A0 4 A1 3 A2 3 A2 4 A3 5 A3
LDB 3 B0 3 B1 3 B2 3 B2 4 B3 5 B3
ST 3 C0 3 C2 3 C2 4 C3 5 C3
STB 3 C4 3 C6 3 C6 4 C7 5 C7
LDBSE 3 BC 3 BD 3 BE 3 BE 4 BF 5 BF
LBSZE 3 AC 3 AD 3 AE 3 AE 4 AF 5 AF
Mnemonic Length Opcode Mnemonic Length Opcode
PUSHF 1 F2 DJNZ 3 E0
POPF 1 F3 DJNZW 3 E1(4)
PUSHA 1 F4 NORML 3 0F
POPA 1 F5 SHRL 3 0C
SHLL 3 0D
TRAP 1 F7 SHRAL 3 0E
LCALL 3 EF SHR 3 08
SCALL 2 28–2F(3) SHRB 3 18
RET 1 F0 SHL 3 09
LJMP 3 E7 SHLB 3 19
SJMP 2 20–27(3) SHRA 3 0A
BR 2 E3 SHRAB 3 1A
JNST 1 D0 CLRC 1 F8
JST 1 D8 SETC 1 F9
JNH 1 D1 DI 1 FA
JH 1 D9 EI 1 FB
JGT 1 D2 CLRVT 1 FC
JLE 1 DA NOP 1 FD
JNC 1 B3 RST 1 FF
JC 1 D8 SKIP 2 00
JNVT 1 D4 IDLPD 1 F6
JVT 1 DC BMOV 3 C1
JNV 1 D5
JV 1 DD
JGE 1 D6
JLT 1 DE
JNE 1 D7
JE 1 DF
JBC 3 30–37
JBS 3 38–3F
NOTES
3 The 3 least significant bits of the opcode are concatenated with the 8 bits to form an 11-bit 2’s complement offset
4 The DJNZW instruction is not guaranteed to work See Functional Deviations section
19
25. 80C196KB USER’S GUIDE
Table 3 3B Instruction Execution State Times
MNEMONIC MNEMONIC
PUSHF (int stack) 6 PUSHF (ext stack) 8
POPF (int stack) 7 POPF (ext stack) 10
PUSHA (int stack) 12 PUSHA (ext stack) 18
POPA (int stack) 12 POPA (ext stack) 18
TRAP (int stack) 16 TRAP (ext stack) 18
LCALL (int stack) 11 LCALL (ext stack) 13
SCALL (int stack) 11 SCALL (ext stack) 13
RET (int stack) 11 RET (ext stack) 14
CMPL 7 DEC DECB 3
CLR CLRB 3 EXT EXTB 4
NOT NOTB 3 INC INCB 3
NEG NEGB 3
LJMP 7
SJMP 7
BR indirect 7
JNST JST 4 8 jump not taken jump taken
JNH JH 4 8 jump not taken jump taken
JGT JLE 4 8 jump not taken jump taken
JNC JC 4 8 jump not taken jump taken
JNVT JVT 4 8 jump not taken jump taken
JNV JV 4 8 jump not taken jump taken
JGE JLT 4 8 jump not taken jump taken
JNE JE 4 8 jump not taken jump taken
JBC JBS 5 9 jump not taken jump taken
DJNZ 5 9 jump not taken jump taken
DJNZW (Note 1) 5 9 jump not taken jump taken
NORML 8 a 1 per shift (9 for 0 shift)
SHRL 7 a 1 per shift (8 for 0 shift)
SHLL 7 a 1 per shift (8 for 0 shift)
SHRAL 7 a 1 per shift (8 for 0 shift)
SHR SHRB 6 a 1 per shift (7 for 0 shift)
SHL SHLB 6 a 1 per shift (7 for 0 shift)
SHRA SHRAB 6 a 1 per shift (7 for 0 shift)
CLRC 2
SETC 2
DI 2
EI 2
CLRVT 2
NOP 2
RST 15 (includes fetch of configuration byte)
SKIP 3
IDLPD 8 25 (proper key improper key)
NOTE
1 The DJNZW instruction is not guaranteed to work See Functional Deviations section
21