MEMORY PARTITIONS

This listing shows the disassembled code:

2080H

;C814

PUSH

WSR

2082H

;B14814

LDB

WSR,#48H

2085H

;44E4E2E0

ADD

E0H,E2H,E4H

2089H

;B21814

LDB

WSR,[SP]

208CH

;65020018

ADD

SP,#02H

2090H

;F0

RET

 

2091H

;C814

PUSH

WSR

2093H

;B14814

LDB

WSR,#48H

2096H

;44EAE8E6

ADD

E6H,E8H,EAH

209AH

;B21814

LDB

WSR,[SP]

209DH

;65020018

ADD

SP,#02H

20A1H

;F0

RET

 

The C compiler can also take advantage of this feature if the “windows” switch is enabled. For details, see the MCS 96 microcontroller architecture software products in the Development Tools Handbook.

5.3.3Windowing and Addressing Modes

Once windowing is enabled, the windowed locations can be accessed both through the window using direct addressing and through its actual address using indirect or indexed addressing. The lower register file locations that are covered by the window are always accessible by indirect or indexed operations. To re-enable direct access to the entire lower register file, clear bits 6:0 of the window selection register. To enable direct access to a particular location in the lower register file, you may select a smaller window that does not cover that location.

When windowing is enabled:

a direct instruction that uses an address within the lower register file actually accesses the window in the upper register file;

an indirect or indexed instruction that uses an address within either the lower register file or the upper register file accesses the actual location in memory.

The following sample code illustrates the difference between direct and indexed addressing when using windowing.

PUSHA

 

; Pushes the contents of WSR onto the stack

LDB

WSR, #17H

; Selects window 17H,

a 128-byte block

 

 

; (windows

0380-03FFH

into 0080-00FFH)

 

 

;

The next

instruction uses direct addr

ADD

40H, 80H

;

mem_word(40H)mem_word(40H) + mem_word(380H)

;The next two instructions use indirect addr

ADD 40H, 80H[0] ; mem_word(40H)mem_word(40H) + mem_word(80H +0)

ADD 40H, 380H[0] ; mem_word(40H)mem_word(40H) + mem_word(380H +0)

POPA

; reloads the previous contents into WSR

5-21

Page 94
Image 94
Intel 8XC196NP, 80C196NU, Microcontroller manual This listing shows the disassembled code, Windowing and Addressing Modes

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.