CHAPTER 4

PROGRAMMING CONSIDERATIONS

This section provides an overview of the instruction set of the MCS® 96 microcontrollers and of- fers guidelines for program development. For detailed information about specific instructions, see Appendix A.

4.1OVERVIEW OF THE INSTRUCTION SET

The instruction set supports a variety of operand types likely to be useful in control applications (see Table 4-1).

NOTE

The operand-type variables are shown in all capitals to avoid confusion. For example, a BYTE is an unsigned 8-bit variable in an instruction, while a byte is any 8-bit unit of data (either signed or unsigned).

Table 4-1. Operand Type Definitions

Operand Type

No. of

Signed

Possible Values

Addressing

Bits

Restrictions

 

 

 

 

 

 

 

 

BIT

1

No

True (1) or False (0)

As components of bytes

 

 

 

 

 

BYTE

8

No

0 through 28–1 (0 through 255)

None

SHORT-INTEGER

8

Yes

–27through +27–1

None

 

 

 

(–128 through +127)

 

 

 

 

 

 

WORD

16

No

0 through 216–1

Even byte address

 

 

 

(0 through 65,535)

 

 

 

 

 

 

INTEGER

16

Yes

–215through +215–1

Even byte address

 

 

 

(–32,768 through +32,767)

 

 

 

 

 

 

DOUBLE-WORD

32

No

0 through 232–1

An address in the lower

(Note 1)

 

 

(0 through 4,294,967,295)

register file that is evenly

 

 

 

 

divisible by four (Note 2)

 

 

 

 

 

LONG-INTEGER

32

Yes

–231through +231–1

An address in the lower

(Note 1)

 

 

(–2,147,483,648 through

register file that is evenly

 

 

 

+2,147,483,647)

divisible by four (Note 2)

 

 

 

 

 

QUAD-WORD

64

No

0 through 264–1

An address in the lower

(Note 3)

 

 

 

register file that is evenly

 

 

 

 

divisible by eight

 

 

 

 

 

NOTES:

1.The 32-bit variables are supported only as the operand in shift operations, as the dividend in 32-by- 16 divide operations, and as the product of 16-by-16 multiply operations.

2.For consistency with third-party software, you should adopt the C programming conventions for addressing 32-bit operands. For more information, refer to page 4-11.

3.QUAD-WORD variables are supported only as the operand for the EBMOVI instruction.

4-1

Page 58
Image 58
Intel 8XC196NP, 80C196NU, Microcontroller manual Overview of the Instruction SET, Operand Type Definitions, Restrictions

Microcontroller, 80C196NU, 8XC196NP specifications

The Intel 8XC196NP and 80C196NU microcontrollers are part of Intel's renowned 16-bit microcontroller series that gained popularity in the 1980s and 1990s for embedded systems applications. Designed for a variety of applications, these microcontrollers are characterized by their robust performance, versatility, and industry-standard architecture.

The 8XC196NP features an enhanced instruction set with over 100 instructions, allowing for efficient code execution. It operates at clock speeds up to 16 MHz, which contributes to improved performance in time-sensitive applications. The microcontroller is equipped with a 16-bit data bus, enabling more efficient data handling compared to its 8-bit predecessors, thus accommodating complex algorithms and large data sets.

In terms of memory architecture, the 8XC196NP supports an addressable memory space of up to 64 KB of program memory and 64 KB of data memory. This configuration provides sufficient space for large applications while ensuring fast data access. The microcontroller includes integrated features such as timers, serial I/O capabilities, and interrupt processing, which enhance its functionality for real-time applications and control mechanisms.

The 80C196NU, on the other hand, is designed for lower power operation, making it suitable for battery-powered devices. This microcontroller maintains similar features to the 8XC196NP while offering advancements that support low-power consumption. The 80C196NU can also function in a range of temperature environments, making it adaptable for industrial applications.

Both the 8XC196NP and 80C196NU support external memory interfacing, allowing designers to expand the system's capability by connecting additional ROM and RAM. This flexibility makes them appealing for developing complex systems, such as motor controls, industrial automation, and consumer electronics.

Another standout feature of these microcontrollers is their built-in debugging capabilities. Intel provided hardware and software tools that enabled developers to test and troubleshoot their applications effectively, reducing the development time and increasing reliability.

Overall, the Intel 8XC196NP and 80C196NU microcontrollers stand out for their dependability, versatility, and performance, contributing significantly to the evolution of embedded system design. Their legacy continues to influence modern microcontroller technology, ensuring their relevance in a wide array of applications today.