8XC196NP, 80C196NU USER’S MANUAL

ST

AX,TABLE[BX]

;

MEM_WORD(TABLE+BX) AX

ADDB

AL,BL,LOOKUP[CX]

;

AL BL + MEM_BYTE(LOOKUP+CX)

The instruction LD AX, TABLE[BX] loads AX with the contents of the memory location that re- sides at address TABLE+BX. That is, the instruction adds the contents of BX (the offset) to the constant TABLE (the base address), then loads AX with the contents of the resulting address. For example, if TABLE equals 4000H and BX contains 12H, then AX is loaded with the contents of location 4012H. Long-indexed addressing is typically used to access elements in a table, where TABLE is a constant that is the base address of the structure and BX is the scaled offset (n × el- ement size, in bytes) into the structure.

4.2.4.3Extended Indexed Addressing

The extended load and store instructions can use extended indexed addressing. The only differ- ence from long-indexed addressing is that both the base address and the offset must be 24 bits to support access to the entire 1-Mbyte address space. The following instructions use extended in- dexed addressing. (In these instructions, OFFSET is a 24-bit variable containing the offset, and EX is a double-word aligned 24-bit register containing the base address.)

ELD

AX,OFFSET[EX]

; AX

MEM_WORD(EX+OFFSET)

ELDB

AL,OFFSET[EX]

; AL

MEM_BYTE(EX+OFFSET)

EST

AX,OFFSET[EX]

;

MEM_WORD(EX+OFFSET) AX

ESTB AL,OFFSET[EX]

;

MEM_BYTE(EX+OFFSET) AL

4.2.4.4Zero-indexed Addressing

In a zero-indexed instruction, you specify the address as a 16-bit variable; the offset is zero, and you can express it in one of three ways: [0], [ZERO_REG], or nothing. Each of the following load instructions loads AX with the contents of the variable THISVAR.

LD AX,THISVAR[0]

LD AX,THISVAR[ZERO_REG]

LD AX,THISVAR

The following instructions also use zero-indexed addressing:

ADD

AX,1234H[ZERO_REG]

;

AX AX + MEM_WORD(1234H)

POP

5678H[ZERO_REG]

;

MEM_WORD(5678H) MEM_WORD(SP)

;SP SP + 2

4.2.4.5Extended Zero-indexed Addressing

The extended instructions can also use zero-indexed addressing. The only difference is that you specify the address as a 24-bit constant or variable. The following extended instruction uses zero- indexed addressing. ZERO_REG acts as a 32-bit fixed source of the constant zero for an extended indexed reference.

ELD AX,23456H[ZERO_REG]

; AX MEM_WORD(23456H)

4-10

Page 67
Image 67
Intel 8XC196NP, 80C196NU, Microcontroller manual Extended Indexed Addressing, Extended Zero-indexed Addressing

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.