1991_Intel_16 Bit_Embedded_Controller_Handbook 1991 Intel 16 Bit Embedded Controller Handbook

User Manual: 1991_Intel_16-Bit_Embedded_Controller_Handbook

Open the PDF directly: View PDF PDF.
Page Count: 624

Download1991_Intel_16-Bit_Embedded_Controller_Handbook 1991 Intel 16-Bit Embedded Controller Handbook
Open PDF In BrowserView PDF
- - ----- --I
1-

Intel Corporation is a leading supplier of microcomputer components,
modules and systems. When Intel invented the microprocessor in 1971, it
created the era of the microcomputer. Today, Intel architectures are considered
world standards. Whether used in embedded applications such as automobiles,
printers and microwave ovens, or as the CPU in personal computers, client
servers or supercomputers, Intel delivers leading-edge technology.

16-BIT
EMBEDDED CONTROLLER
HANDBOOK

1991

About Our Cover.·
Thinkers. inventors, and artists throughout history have breathed
life into theN: ideas by converting them into rough working sketches, models,
and products. This series of covers shows a few of these creations, along
. with the applications and products created by Intel customers.

"

Intel Corporation makes no warranty for the use of its products and assumes no responsibility for any errors which may
appear in this document nor does it make a commitment to ufildate the information contained herein.
Intel retains the right to make changes to these specifications at any time, without notice.
Contact your local sales office to obtain the latest specifications before placing your order.
The following are trademarks of Intel Corporation and may only be used to identify Intel products:
287, 376, 386, 387, 486, 4-SITE, Above, ACE51 , ACE96, ACE186, ACE196, ACE960,
ActionMedia, BITBUS, COMMputer, CREDIT, Data Pipeline, DVI, ETOX, FaxBACK,
Genius, i, t, i486, i750, i860, ICE, iCEL, ICEVIEW, iCS, iDBP, iDIS, 12 1CE, iLBX, iMDDX,
iMMX, Inboard, Insite, Intel, intel, Inte1386, intelBOS, Intel Certified, Intelevision, inteligent
Identifier, inteligent Programming, Intellec, Intellink, iOSP, iPAT, iPDS, iPSC, iRMK, iRMX,
iSBC, iSBX, iSDM, iSXM, Library Manager, MAPNET, MCS, Megachassis,
MICROMAINFRAME,
MULTICHANNEL,
MULTIMODULE,
MultiSERVER,
ONCE,
OpenNET, OTP, Pr0750, PROMPT, Promware, QUEST, QueX, Quick-Erase, Quick-Pulse
Programming, READY LAN, RMX/80, RUPI, Seamless, SLD, SugarCube, SX, TooITALK,
UPI, VAPI, Visual Edge, VLSiCEL, and ZapCode, and the combination of ICE, iCS, iRMX,
iSBC, .iSBX, iSXM, MCS, or UPI and a numerical suffix.
MDS is an ordering code only and is not used as a product name or trademark. MDS® is a registered trademark of Mohawk
Data Sciences Corporation.
CHMOS and HMOS are patented processes of Intel Corp.
Intel Corporation and Intel's FASTPATH are not affiliated with Kinetics, a division of Excelan, Inc. or its FASTPATH trademark or products.
Additional copies of this manual or other Intel literature may be obtained from:
Intel Corporation
Literature Sales
P.O., Box 7641
Mt. Prospect, IL 60056-7641
©INTELCORPORATION 1990

"rW_l®
III'V' .

CUSTOMER SUPPORT
INTEL'S COMPLETE SUPPORT SOLUTION WORLDWIDE
Customer Support is Intel's complete support service that provides Intel customers with hardware support,
software support, customer trainin,\!, consulting services and network management services. For detailed information contact your local sales offIces.
After a customer purchases any system hardware or software product, service and support become major
factors in determining whether that product will continue to meet a customer's expectations. Such support
requires an international support organization and a breadth of programs to meet a variety of customer needs.
As you might expect, Intel's customer support is extensive. It can start with assistance during your development
effort to network management. 100 Intel sales and service offices are located worldwide-in the U.S., Canada,
Europe and the Far East. So wherever you're using Intel technology, our professional staff is within close
reach.

HARDWARE SUPPORT SERVICES
Intel's hardware maintenance service, starting with complete on-site installation will boost your productivity
from the start and keep you running at maximum efficiency. Support for system or board level products can be
tailored to match your needs, from complete on-site repair and maintenance support to economical carry-in or
mail-in factory service.
Intel can provide support service for not only Intel systems and emulators, but also support for equipment in
your development lab or provide service on your product to your end-user/customer.

SOFIWARE SUPPORT SERVICES
Software products are supported by our Technical Information Service (TIPS) that has a special toll free
number to provide you wIth direct, ready information on known, documented problems and deficiencies, as
well as work-arounds, patches and other solutions.
Intel's software support consists of two levels of contracts. Standard support includes TIPS (Technical Information Phone Service), updates and subscription service (product-specific troubleshooting guides and;
COMMENTS Magazine). Basic support consists of updates and the subscription service. Contracts are sold in
environments which represent product groupings (e.g., iRMX® environment).

NETWORK SERVICE AND SUPPORT
Today's broad spectrum of powerful networking capabilities are only as good as the customer support provided
by the vendor. Intel offers network services and support structured to meet a wide variety of end-user computing needs. From a ground up design of your network's physical and logical design to implementation, installation and network wide maintenance. From software products to' turn-key system solutions; Intel offers the
customer a complete networked solution. With over 10 years of network experience in both the commercial
and Government arena; network products, services and support from Intel provide you the most optimized
network offering in the industry.

CONSULTING SERVICES
Intel provides field system engineering consulting services for any phase of your development or application
effort. You can use our system engineers in a variety of ways ranging from assistance in using a new product,
developing an application, personalizing training and customizing an Intel product to providing technical and
management consulting. Systems Engineers are well versed in technical areas such as microcommtinications,
real-time applications, embedded microcontrollers, and network services. You know your application needs;
we know our products. Working together we can help you get a successful product to market in the least
possible time.

CUSTOMER TRAINING
Intel offers a wide range of instructional programs covering various aspects of system design and implementation. In just three to ten days a limited number of individuals learn more in a single workshop than in weeks of
self-study. For optimum convenience, workshops are scheduled regularly at Training Centers worldwide or we
can take our workshops to you for on-site instruction. Covering a wide variety of topics, Intel's major course
categories include: architecture and assembly language, programming and operating systems, BITBUS'M and
LAN applications.

DATA SHEET DESIGNATIONS
Intel uses various data sheet markings to designate each phase of the document as it
relates to the product. The marking appears in the upper, right-hand corner of the data
sheet. The following is the defiI1ition of these markings:
Data Sheet Marking

Description

Product Preview

Contains information on products in the design phase of
development. Do not finalize a: design with this
information. Revised information will be published when
the product becomes available.

Advanced Information

Contains information on products being sampled or in
the initial production phase of development. *

Preliminary

Contains preliminary information on new products in
production. *

No Marking

Contains information on products in full production. *

'Specifications within these data sheets are subject to change without notice. Verify with your local Intel sales
office that you have the latest data sheet before finalizing a de~ign.

MCS® .. 968X9X
Architectural Overview
MCS® .. 96 8X9X Hardware
Design Information and
Data Sheets
MCS® .. 96 Instruction Set
80C196KB User's Guide
and Data Sheets
80C196KC User's Guide
and Data Sheets
~MCS® .. 96

Development
Support Tools

Memories Data SJ:1eet

Table of Contents
Alphanumeric Index ........................ ' .. '.............................

x

MCS®·96 FAMILY
Chapter 1
MCS-96 8X9X Architectural (Jverview . . .. . . . . . .. . . . . . . . . . . . . . . .. . . . .. . . . . . . . .

1-1

Chapter 2
8X9X Hardware Design Information..........................................
2-1
MCS®-96 DATA SHEETS
MCS-96 809XBH, 839XBH, 879XBH Advanced 16-Bit Microcontroller with 8- or '
16-Bit External Bus .................. ; ..................... : . . . . . . . . . . . . . 2-58
MCS-96 809XBH/839XBH/879XBH Express ............................... , . 2-80
MCS-96 809XJF, 839XJF, 879XJF Advanced 16-Bit Microcontroller with 8- or
16-Bit External Bus ............................................. '. . .... . . . . 2-83
MCS-96 809XJF/839XJF/879XJF Express................................... 2-102
EV8097BH Evaluation Board Fact Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2-107

Chapter 3

,

MCS-96 Instruction Set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . .

Chapter 4

3-1

.

80C196KB User's Guide ........................... :.......................
DATA SHEETS
87C196KB/83C196KB/80C196KB 1S-Bit High Performance CHMOS
,
Microcontroller . '............... : '................................... '. . . . .
87C196KB1616-Bit High Performance CHMOSMicrocontroller .................
83C198/80C198, 83C194/80C194 16-Bit CHMOS Microcontroller ..............
87C198/87C194 16-Bit CHMOS Microcontroller ..............................
8XC196K13 Express .............................. '.........................
EV80C196KB Evaluation Board Fact Sheet. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . ..

4-1
4-98
4-126
4-153
4-173
4-194
4-211

Chapter 5
80C196KC User's Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-1
DATA SHEETS
8XC196KC 16-Bit High Performance CHMOS Microcontroller ................... 5-104
, 8XC196KC 16-Bit Microcontroller Express. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5-130
EV80C196KC Evaluation Board Fact Sheet................................... 5-132

Chapter 6
MCS®-96 DEVELOPMENT SUPPORT TOOLS
ACE 196TM Software . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8096/196 Software Development Packages......... .........................
VLSiCE-96 In-Circuit Emulator ..............................................
Real-Time Transparent 80C196 In-Circuit Emulator. . . . . . . . . . . . . . . . . . . . . . . . . . . .
ICE-196KB/HX In-Circuit Emulator..........................................

6-1
6-2
6-5
6-10
6-13

Chapter 7
MEMORIES
87C257 256K (32K x 8) CHMOS EPROM.....................................

ix

7-1

Alphanumeric Index
8096/196 Software Development Packages ................................... , . . . ..
80C196KB User's Guide ........................................................ '. .
80C196KC User's Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83C198/80C198, 83C194/80C194 16-Bit CHMOS Microcontroller . . . . . . . . . . . . . . . . . . . ..
. 87C196KB/83C196KB/80C196KB 16-Bit High Performance CHMOS Microcontroller. . . . .
87C196KB16 16-Bit High Performance CHMOS Microcontroller. . . . . . . . . . . . . . . . . . . . . . ..
87C198/87C194 16-Bit CHMOS Microcontroller .................................... ,
87C257 256K (32K x 8) CHMOS EPROM...........................................
8X9X Hardware Design Information ................................................
8XC196KB Express .............................. : .................... : ..........
8XC196KC 16-Bit High Performance CHMOS Microcontroller .......................'...
8XC196KC 16-Bit MicroControlier Express ..........................................
ACE196™ Software .... :........................................................
EV8097BH Evaluation Board Fact Sheet. ....... : ............................. : ......
EV80C196KB Evaluation Board Fact Sheet ..................................... ;...
EV80C196KC Evaluation Board Fact Sheet .........................................
ICE-196KB/HX In-Circuit Emulator ................................................. ·
MCS-96 809XBH/839XBH/879XBH Express. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MCS-96 809XBH, 839XBH, 879XBH Advanced 16-Bit Microcontroller with 8- or 16-Bit
External Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MCS-96 809XJF/839XJF/879XJF Express. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . .. . . . . . . . ..
. MCS-96 809XJF, 839XJF, 879XJF Advanced 16-Bit Microcontroller with 8- or 16-Bit
External Bus ..................................................................
MCS-96 8X9X Architectural Overview .....,.........................................
MCS"96 Instruction Set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Real-Time Transparent 80C196 In-Circuit Emulator. . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . .
VLSiCE-96 In-Circuit Emulator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .

x

6-2
4-1
5-1
4-153
4-98
4-126
4-173
7-1
2-1
4-194
5-104
5-130
'. 6-1
2-107
4-211
5-132
6-13
2-80
2-58
2-102
2-83
1-1
3-1
6-10
6-5

MCS®-968X9X
" Architectural Overview

1

I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I

October 1990

MCS®-96

8X9X

Architectural Overview

Order Number: 270250·005

1·1

MCS®-96
CONTENTS

8X9X ARCHITECTURAL OVE'RVIEW
CONTENTS

PAGE

PAGE

7.0 HIGH SPEED OUTPUTS ........ ~ ... 1-34

1.0 CPU OPERATION .................... 1-3

1.1 CPU Buses ........................ 1-3

7.1 HSO CAM ........................ 1-34

1.2 CPU Register File .................. 1~4

7.2 HSO Status ....................... 1-35

1.3 RALU Control ...................... 1-4
1.4 RALU ............................. 1-4

7.3 Clearing the HSO ................. 1-35
7.4 Using Timer 2 with the HSO ....... 1-35

1.5 Internal Timing ..................... 1-5

7.5 Software Timers .................. 1-36

2.0 MEMORY SPACE .................... 1-6

8.0 ANALOG INTERFACE ..............

1-36

2.1 Register File ....................... 1-6
2.2 Special Function Registers ......... 1-7

8.1 Analog Inputs ...................... 1-36
8.2 A/D Commands .................. 1-37

2.3 Power Down ....................... 1-7

8.3 AID Results ......... , ............ 1-37

2.4 Reserved Memory Spaces ......... 1-9

8.4 Pulse Width Modulation Output
(D/A) .............................. 1-38

2.5 Internal ROM and EPROM ......... 1-9
2.6 Internal Executable RAM
(XRAM)-8X9XJF Only ............. 1-10

8.5 PWM Using the HSO ............. 1-39

9.0 SERIAL PORT ...................... 1-39

2.7 Memory Controller ................ 1-10
2.8 System Bus ...................... 1-10

9.1 Serial Port Modes ................. 1-39

3.0 SOFTWARE OVERViEW ............ 1-17

9.2 Controlling the Serial Port ......... 1-40
9.3 Determining Baud Rates .......... 1-41

3.1 Operand Types ................... 1-17

9.4 Multiprocessor Communications .. 1-42

3.2 Operand Addressing .............. 1-18

10.0110 PORTS ........................ 1-42

3.3 Program Status Word ............. 1-20

10.1 Input Ports ...................... 1-42
10.2 Quasi-Bidirectional Ports ........ 1-43

3.4 Instruction Set ..... ',' ............. 1-21
3.5 Software Standards and
Conventions ....................... 1-25

10.3 Output Ports .................... 1-43
10.4 Ports 3 and 4/ ADO-15 .......... 1-43

4.0 INTERRUPT STRUCTURE .......... 1-26

11.0 STATUS AND CONTROL

4.1 Interrupt Control .................. 1-28
4.2 Interrupt Priorities ................. 1-28

REGISTERS .......................... 1-44
11.1 I/O Control Register 0 (lOCO) .... 1-44

/ 4.3 Critical Regions ................... 1-29
4.4

Interrup~

11.2 I/O Control Register 1 (IOC1) .... 1-45

Timing ................... 1-30

11.3 I/O Status Register 0 (IOSO) ..... 1-45

5.0 TIMERS .. ........................... 1-31

11.4 I/O Status Register 1 (IOS1) .... :, 1-45

5.1 Timer 1 .......-.................... 1-31
5.2 Timer 2 ........................... 1-31

12.0 WATCHDOG TIMER . ~ ............. 1-46

5.3 Timer Interrupts .................. 1-31

12.1 SoftWare Protection Hints . ; ...... 1-46

5.4 Timer Related Sections ........... 1-32

12.2 Disabling the Watchdog ......... 1-46

6.0 HIGH SPEED INPUTS .. ............. 1-32

13.0 RESET .......... ," .. ,............... 1-46

6.1 HSI Modes ....................... 1-33

13.1 Reset Signal .................... 1-46

6.2 HSI FIFO ........ ; ............... : 1-33

13.2 Reset Status .................... 1-47

6.3 HSllnterrupts .................... 1-33

13.3 Reset Sync Mode ............... 1-47

6.4 HSI Status ........................ 1-33
1-,2

MCS®·96 8X9X ARCHITECTURAL OVERVIEW

This overview is written about the 8X9XBH, 8X9XJF,
and 8X98 devices. These devic~ are generically referred to as the gX9X. All information in this overview
refers to the 8X9XBH, the 8X9XJF, and the 8X98 unless otherwise noted.

1.0 CPU OPERATION
The, major components of the CPU on the 8X9X are
the Register File and the RALU. Communication with
the outside world is done through either the Special
Function Registers (SFRs) or the Memory Controller.
The RALU (Register/Arithmetic Logic Unit) does not
use an accumulator, it operates directly on the 256-byte
register space made up of the Register File and the
SFRs. Efficient I/O operations are possible by directly
controlling the I/O through the SFRs. The main benefits of this structure are the ability to quickly change
context, the absence of accumulator bottie!leck, and
fast throughput and I/O times.

The 8X9X can be separated into several secti~ns for the
purpose of describing its operation. There is a l6-bit
CPU, a programmable High Speed I/O Unit, an analog
to digital converter, a seriaf port, artd a Pulse Width
Modulated (PWM) output for digital to analog conversion. In addition to ihese functional units, there are
some sections which support overall operation of the
chip such as the clock generator. The CPU and the
programmable I/O. make the 8X9X very different from
any other microcontroller. Let us first examine the
CPU.

1.1 CPU Buses
A "Control Unit" and two buses connect the Register
File ahd RALU. Figure 1 shows the CPU with its

VRE~

POWER
DOWN

ANGND

FREQUENCY
REFERENCE

..

······t······~···· ~::~~···l
CLOCK
tEN

8

A- BUS

ON-CHIP
EPROM 879 X BH

I

.....-r----,r-...

:

I

I
I
I

CONTROL
SIGNALS

ADDR
] DATA
BUS

: PORT 4
HIGH
SPEED
I/O

I
I

I
I

I
I
I
I

PORT 0

PORT 1

PORT 2
ALT FUNCTIONS

HSI

HSO
270250-1

Figure 1. Block Diagram

1-3

intJ

MCS®~96 8X9X ARCHITECTURAL OVERVIEW

major bus connections. The two buses are the "A-Bus"
which is 8,bits wide, and the "D-Bus" which is 16-bits
wide. The D-Bus transfers data only between the
RALUandthe Register File or Special Function Registers (SFRs). The A-Bus is used as the address bus for
the above transfers or' as' a multiplexed address/data
bus connecting to the "Memory Controller". Any accesses of either the internal ROM or external memory
are done through the -Memory Controller. '

the Register File is reserve,d for use as the stack pOinter
so it can not be used for data when stack manipubitions
are taking place. Addresses for accessing the Register
File and· SFRs are temporarily stored in two 8-bit address registers by the CPU hardware.

1.3 RALU Control
Instructions to the RALU are taken from the A-Bus
and stored temporarily in the instruction register. The
Control Unit decodes the instructions and generates the
correct sequence of signals to have the RALU perform
the desired function. Figure I shows, the instruction
register and the control unit.

Within the memory controller is a slave program counter (Slave PC) which keeps track of the PC in the CPU.
By having most program fetches from memory referenced to the slave PC, the processor saves time as addresses seldom have to be sent to the memory controller. If the address jumps sequence then the slave PC is
loaded with a new value and processing continues.
Data fetches from memory are also done through the
memory controller, but the slave PC is bypassed for
this operation.

1.4 RALU
Most calculations performed by the 8X9X take place in
the RALU. The RALU, shown in Figure 2, contains a
l7-bit ALU, the Program Status Word (PSW), the Program Counter (PC), a loop counter, and three temporary registers. All of the registers are 16-bits or
17-bits (16 + sign extension) wide. Some of the registers have the ability to perform simple operations to offload the ALU.

1.2 CPU Register File
The Register File contains 232 bytes of RAM' which
can be accessed as bytes, words, or double-words. Since
each of these locations can be used by the RALU, there
are essentially 232 "accumulator,s". The' first word in

6-BIT
A-BUS

UPPER WORD REGISTER/SHIFTER

LOWER WORD REGISTER/SHIFTER

~_ _ _ _-..,~16'--_ _ _-t-. . TEMPORA~Y REGISTER 14---,,=6--i

LOWER

270250-2

Figure 2. RALU Block Diagram

1-4

intJ

MCS@·96 aX9X ARCHITECTURAL OVERVIEW

A separate incrementor is used for the PC; however,'
jumps must, be handled through the ALU. Two of the
temporary registers have their own:' shift logic. These
registers are used for the operations which require logical shifts, including Normalize, Multiply, and Divide.
The "Lower Word" register is used only when doubleword quantities are being shifted, the "Upper Word"
register is used whenever a shift is performed or as a
temporary register for many instructions. Repetitive
shifts are counted by the 5.bit "Loop Counter".

The crystal or external oscillator frequency is divided
by 3 to genc:rate the three internal timing phases as
shown in Figure 4. Each of the internal phases repeat
every 3 oscillator periods: 3 oscillator periods are referred to as one "state time", the basic time measurement for 8X9X operations. Most internal operations
are synchronized to either Phase A, B or C, each of
which have a 33% duty cycle. Phase A is represented
externally by CLKOUT, a signal available on the
68-pin device. Phases Band C are not available externally. The relationships of XTALl, CLKOUT, and
Phases A, B, and C are shown in Figure 4. It should be
noted that propagation delays have not, been taken into
account in this diagram. Details on these and other timing relationships can be found In the Hardware Design
chapter.
.

A temporary register is used to store the second operand of two operand instructions. This includes the multiplier during multiplications and the divisor during
divisions. To perform subtractions, the output of this
register can be complemented before being placed into
the "B" input of the ALU.
The DELAY shown in Figure 2 is used to convert the
.16-bit bus into an 8-bit bus. This is required as all addresses and instructions are carried on the 8-bit A-Bus.
Several constants, such as 0, I and 2 are stored in the
RALU for use in speeding up certain calculations.
These come in'handy when the RALU needs to make a
2's complement number or perform an increment or
decrement instruction.

INTERNAL
CIRCUITRY

1.5 Internal Timing
The 8X9X requires an input clock frequency of between 6.0 MHz and 12 MHz to function. This frequency can be applied directly to XTALI. Alternatively,
since XTAL 1 and XTAL2 are inputs and outputs of an
inverter, it is also possible to 'use a crystal to genera~e
the clock. A block diagram of the oscillator section is
shown in Figure 3, Details of the circuit and suggestions for its use can be found in Section I of the Hardware Design chapter.

270250-3

Figure 3. Block Diagram of Oscillator
The RESET line can be used to start the 8X9X at an

exact time to provide for synchronization of test equipment and multiple chip systems. Use of this feature is
fully explained under RESET, Section 13 ..

XTAL 1

PHASE A
(CLOCKOUT)

PHASE B

PHASE C

_....'

....--,

....--,

''--~'

r

,'-----'

-,rl...__-,rl,-__

-'~_ _

270250-4

Figure 4. Internal Timings Relative to XTAL 1

1-5

I

'

MCS®·96 8X9XARCHITECTURAL OVERVIEW

2.0 MEMORY SPACE

2.1 Register File

The addressable memory space on the'8X9X consists of
64K bytes, most of which is available to the I;lser for
program or data memory, Locations which have special
purposes are OOOOH through OOFFH, OlOOH through
OlFFH (8X9XJF only), and IFFEH through 2080H.
All other locations can be used for either program or
data storage or for memory mapped peripherals. A
memory map is shown in Figure 5.

Locations OOH difough OFFH contain the Register File
and Special Function Registers, (SFRs). No code, can
be executed from this internal RAM section. If an attempt to execute instructions from locations OOOH
through OFFH is made; the instructions will be fetched
from external memory. This section of external memory is reserved fot use by Intel development tools. Execution of a nonmaskable interrupt (NMI) will force a

FFFFH
OFFH

255,

EXTERNAL MEMORY
OR I/O

POWER-DOWN
OFOH
OEFH

RA~

240

1--------------1 239
INTERNAL
REGISTER FILE

EXTERNAL MEMORY OR I/o
(8X9XBH)

(RA~)

IAH 1-_ _ _....._ _....._ _ _ _ _--1

INTERNAL PROGRAM STORAGE
RO~/EPROM OR EXTERNAL
MEIIORY' (8X9XJF)

26

BOOOH
5FFFH

4000H
3FFFH

19H

S'T ACK POINTER

STACK POINTER

l.8H

15H

10Sl
10SO

PWILCONtROL

23

10Cl

22

lOCO

14H
13H

INTERNAL PROGRAM
STORAGE ROM/EPROM
OR
EXTERNAL MEMORY

24

17H
16H

25

2080H

21
20

RESERVED

RESERVED

12H

19
18

llH

SP_STAT

SP_CON

10H

10 PORT 2

10 PORT 2

16

OFH

10 PORT 1

10 PORT 1

15

OEH

10 PORT 0

BAUD_RATE

ODH

TIMER2 (HI)

OCH

TI~ER2

OBH

TIMERl (HI)

(LO)

17

14

2072H - 207FH

SIGNATURE WORD

2070H - 2071H

RESERVED

2030H - 20BFH

SECURITY KEY

2020H - 202FH

RESERVED

201CH - 201FH

SELF JU~P OPCODE (27H FEH)

201AH-201BH

'RESERVED

2019H

CHIP CONFIGURATION eYTE

2018H

RESERVED

13

RESERVED

12

2012H - 2017H

INTERRUPT VECTORS

11

OAH

TIMERl (LO)

WATCHDOG

09H

INT_PENDING

INT_PENDING

9

08H

INLMASK

INLMASK

8

07H

SBUF (RX)

SBUF (TX)

7

06H

HSI_STATUS

HSO,COMMAND

6
5

2000H

10

05H

HSI31ME (HI)

HSO_ TIME (HI)

04H

HSUIME (LO)

HSO_ TIME (LO)

4

03H

AD_RESULT (HI)

HSLMODE

3

02H

AD_RESULT (LO)

AD_COMMAND

2

01H

RO (HI)

RO (HI)

1

OOH

RO (LO)

RO (LO)

0

(WHEN READ)

RESERVED

PORT 4

lFFFH

PORT 3

lFFEH

EXTERNA~

MEMORY
OR I/o

01FFH

EXTERNAL MEMORY OR I/O (8X9XBH)
INTERNAL EXECUTABLE RAM
(XRAM) (8X9XJF)

L-,

0100H
INTERNAL RAM \

REGISTER FILE
STACK POINTER
SPECIAL FUNCTION REGISTERS
(WHEN ACCESSED AS DATA MEMORY)

OOFFH

OOOOH

(WHEN WRITTEN)

270250-5

Figure 5. Memory 'Map'

intJ

MCS®-96 8X9X ARCHITECTURAL OVERVIEW

call to external location OOOOH, therefore, the NMI and
TRAP interrupt are also reserved for Intel development
tools.

2.3 Power Down
The upper 16 RAM locations (OFOH through OFFH)
receive their power from the VPD pin. If it is desired to
keep the memory in these locations alive during a power down situation, one need only keep voltage on the
VPD pin. The current required to keep the RAM alive
is approximately 1 milliamp (refer to the data sheet for
the exact specification). Both Vee and VPD must have
power applied for normal operation. If VpD is not applied the power down RAM will not function properly,
even if Vee is applied.
.

The RALU can operate on any of the 256 internal register locations. Locations OOH through 17H are l,Ised to
access the SFRs. Locations 18H and 19H contain the
stack pointer. These are not SFRs, al).d may be used as
standard RAM if stack operations are not being performed. The stack pointer must be initialized by the
user program and can point anywhere in the 64K memory space. The stack builds down. There are no restrictions on the use of the remaining 230 locations except
that code cannot be executed from them.

To place the 8X9X into a power down mode, the
RESET pin is pulled low. Two state times later the
device will be in reset. This is necessary to prevent the
device from writing into RAM as the power goes down.
The power may now be removed from the Vee pin, the
VPD pin must remain within specifications. The 8X9X
can remain in this state for any amount of time and the
16 RAM bytes will retain their values.

2.2 Special Function Registers
All of the 110 on the 8X9X is controlled through the
SFRs. Many of these registers serve two functions; one
if they are read from, the other if they are written to.
Figure 5 shows the locations and names of these registers. A summary of the capabilities of each of these
registers is shown in Figure 6, with complete descriptions reserved for later sections)

To bring the 8X9X out of power down, RESET is held
low while Vee is applied. Two state times after the
oscillator has stabilized, the RESET pin c!m be pulled
high. The 8X9X will begin to execute code at location
02080H 10 state times after RESET is pulled high. Figure 7 shows a timing diagram of the power down sequence. To ensure that the 2 state time minimum reset
time (synchronous with CLKOUT) is met, it is recommended that 10 XT AL I cycles be used. Suggestions for
actual hardware connections are given in the Hardware
Design Chapter. Reset is discussed in Section 13.

There are several restrictions on using special function
registers.
Neither the source or destination addresses of the Multiply and Divide instructions can be a writable special
function register.
These registers may not be used as base or index registers for indirect or indexed instructions.

To determine if a reset is a return from power down or
a complete cold start a "key" can be written into power-down RAM while the device is running. This key
can be checked on reset to determine which type of
reset has occurred. In this way the validity of the power-down RAM can be verified. The length of this key
determines the probability that this procedure will
work, however, there is always a statistical chance that
the RAM will power up with a replica of the key.

.These registers can only be accessed as bytes unless
otherwise specified in Figure 6. Note that some of these
registers can only be aCcessed as words, and not as
bytes.
Within the SFR space are several registers labeled
"RESERVED". These registers are reserved for future
expansion and test purposes. Operations should not be
performed with theSe registers as reads from them and
writes to them may produce unexpected results. For
example, in some versions of the 8X9X writing to location OCH will set both timers to OFFFXH. This may
not be the case in future products, so it should not be
used as a feature.

Under most circumstances, the power-fail indicator
which is used to initiate a power-down condition must
come from the unfiltered, unregulated seetion of the
power supply. The power supply must have sufficient
storage capacity to operate the 8X9X until it has completed its reset operation.

1-7

MCS®·96 8X9X ARCHITECTURAL OVERVIEW

Description

Register

/

Section

RO

Zero Register - Always reads as a zero, useful for a base when
indexing and as a constant for calculations and compares.

3

AD_RESULT

AID Result Hi/Low - Low and high order Results of the A/D
converter (byte read only)

8

AD_COMMAND

AID Command Register - Controls the A/D

8,

HSI_MODE

HSI Mode Register - Sets the mode of the High Speed Input unit.

6

HSLTlME

HSI Time Hi/Lo - Contains the time at which the High Speed
Input unit was 1riggered. (word read only)

6

HSO_TIME

HSO Time Hi/Lo - Sets the time or count·for the High Speed
Output to execute the command in the Command Register. (word
write only)

7

HSO_COMMAND

HSO Command Register - Determines what will happen at the
time loaded into the HSO Time registers.

7

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.

6

SBUF (TX)

Transmit buffer for the serial port, holds contents to be outputted.

9
9

SBUF (RX)

Receive buffer for the serial port, holds the byte just received by
, the serial port.
Enables qr disables the individual

4

INT_MASK

Interrupt Mask Register interrupts.

INT_PENDING

Interrupt Pending Register - Indicates tliat an interrupt signal has
occurred on one of the sources and has not been serviced.

4

WATCHDOG

Watchdog Timer Register - Written to periodically to hold off
automatic reset every 64K state times.

12

TIMER1

Timer 1 HilLo -

TIMER2

Timer 2 HilLo - Timer 2 high and low bytes. (word read only)

5
5

10PORTO

Port 0 Register -

10

BAUD_RATE

Register which determines the baud rate, this register is loaded
sequentially.

9

Timer 1 high and low bytes. (word read only)
Levels on pins of port O.

IOPORT1

Port 1 Register - Used to read or write to Port 1.

10

IOPORT2

Port 2 Register -

10

SP_STAT

Serial Port Status -

SP_CON

Serial Port Control -

10SO

I/O Status Register 0 - Contains information on the HSO status

11

IOS1

I/O Status Register 1 - Contains information on the status of the
timers and of the HSI.

11

lOCO

I/O Control Register 0 - Controls alternate functions of HSI pins,
Timer 2 reset sources and Timer 2 clock sources.

11

10Cl

I/O Gontrol Register 1 --- Controls alternate functions of Port 2
pins, timer interrupts and HSI interrupts.

11

PWM_CONTROL

Pulse Width Modulation Control Register the PWM pulse.

8

Used to read or write to Port 2.
Indicates the status of the serial port.
Used to set the mode of the serial port.

Figure 6. SFR Summary

1-8

Sets the duration of

9
9

inter

MCS®·96 8X9X ARCHITECTURAL OVERVIEW

YCC----------------------~

POWER DOWN

YPD---------------------+------~~------;_----------------a

5:1:.5V

RESET - - - - - - " \

XTALl

IflJIIIJLJ1JlfulI1IU1
10 XTALl CYCLES

CLOCK NOT NECESSARY

10 XTALl CYCLES
AFTER CLOCK IS STABLE

270250-6

Figure 7. Power Down Timing

2.4 Reserved Memory Spaces

OOOOH0018H1FFEH2000H2012H2018H
2019H
201AH201CH2020H2030H2080H

A listing of locations with special significance is shown
in Figure 8. The locations marked "Reserved" are reserved by Intel for use in testing or future products. All
reserved locations except 2019H must be filled with
Hex value OFFH to insure compatibility with future
devices. Location 2019H must be filled with 20H.
Locations lFFEH and IFFFH are reserved for Ports 3
and 4 respectively. This is to allow easy reconstruction
of these ports if external memory is used in the system.
An example of reconstructing the I/O ports is given in
section 7 of the Hardware Design chapter. If ports 3
and 4 are not going to be reconstructed, these locations
can be treated as any other external memory location.

0017H Register Mapped I/O (SFRs)
0019H Stack Pointer
1FFFH Ports 3 and 4
2011H Interrupt Vectors
2017H Reserved
Chip Configuration Byte
Reserved
201BH "Jump to Self" Opcode (27H FEH)
201FH Reserved
202FH Security Key
207FH Reserved
Reset Location

Figure 8. Registers with Special Significance

The 9 interrupt vectors are stored in locations 2000H
through 2011H. The 9th vector is used by Intel development systems, as explained in Section 4.

2.5 Internal ROM and EPROM
When a ROM device is ordered, or an EPROM device
is programmed, the internal memory locations 2080H
through 3FFFH on the 8X9XBH and 8X98 and locations 2080H through 5FFFH on the 8X9XJF are user
specified, as are the interrupt vectors, Chip Configuration Register and Security Key in locations 2000H
through 202FH.

Locations 20l2H through 201 7» are reserved for future use. Location 2018H is the Chip Configuration
byte which will be discussed in the next section. The
Jump~To-Seif opcodes at locations 201AH and 20lBH
are provided for EPROM programming as detailed in
the Hardware Design chapter. Locations 2020H
through 202FH are the security key used with the
ROM Lock feature which will be discussed in the next
section. All unspecified addresses in locations 2000H
through 207FH, including those marked Reserved,
should be considered reserved for use by Intel.

Instruction and data fetches from the internal ROM or
EPROM occur only if the device has a ROM or
EPROM, EA is tied high, and the address is between
2000H and 3FFFH on the 8X9XBH and 8X98 and
between 2000H and 5FFFH on the 8X9XJF. At all
other times data is accessed from either the internal
RAM space or external· memory and instructions are
fetched from external memory. The EA pin is latched
on RESET rising. Information on programming
EPROMs can be found in Section 10 of the Hardware
Design chapter.

Resetting the 8X9X causes instructions to be fetched
starting from location 2080H. This location was chosen
to allow a system to have up to 8K of RAM continuous
with the register file. Further information on reset can
be found in Section 13.

Do not execute code out of the last three locations of
internal ROM/EPROM.

1-9

MCS®·968X9X ARCHITECTURAL OVERVIEW
In addition to holding ~ slave PC, the memory controller contains a 4 byte queue to help speed execution.
This queue is transparent to the RALU and to the user
unless wait states are forced during external bus cycles.'
The instruction execution times shown in Section 14.8
show the normal execution times' with no wait states
added and the t"6-bit bus selected. Reldading the slave
PC and fetching the first byte of the new instruction
stream takes 4 state times. This is reflected in the jump
taken/not-taken times shown in the table.

2.6 Internal Executable RAM
(XRAM)-&X9XJF only
Locations OIOOH through OlFFH (8X9XJF only) contain the internal executable RAM (XRAM) space. Instruction fetches will be performed in this region if the
program counter points to the addresses OlOOH
through OIFFH. Data accesses can also be performed
from this region.
The XRAM is accessed and executed from as if it ~ere
external RAM that is contained on chip. No external
bus signals will be generated when accessing the
XRAM.

2.& System Bus
There are several operating modes on the 8X9X. The
standard bus mode uses a 16-bit multiplexed address/
data bus. Other bus modes include an 8-bit mode and a
mode in which the bus size can dynamically be
switched between 8-bits and l6-bits. In addition, there
, are several options available on the type of control signals used by the bus.

The XRAM is not part of the Register File. 8-bit direct
addressing can not be used on this address space.

2.7 Memory Controller
The RALU talks to the memory (except for the locations in the register file and SFR space) through the
memory controller which is connected to the RALU by
the A-Bus and several control lines. Since the A-Bus is
eight bits wide, the memory controller uses a Slave Program Counter to avoid having to always get the instruction location from the RALU. This slave PC is incremented after each fetch. When a jump or call occurs,
the slave PC must be loaded from the A-Bus before
instruction fetches can continue.

In the standard mode, external memory is addressed
through lines ADO through AD15 which form a 16-bit
multiplexed (address/data) data bus. These lines share
pins with I/O Ports 3 and 4. The falling edge of the
Address Latch Enable (ALE) line is used to provide a
clock to a transparent latch (74LS373) in order to de-

PHASE A
(CLKOUT)
PHASE B

PHASE C

REAllY

\\\\~\\\\\\\

ALE

-f''--____

AD

\\-._ _---JI

WR

\

---.<;BIT"'-;;;BU"'S)

-

WRITE STROBE MODE SELECT
(WR AND BHE/WRL AND WRJi)
ADDRESS VALID STROBE SELECT
(ALE/ ADV)
(IRCO) } INTERNAL READY
(IRC1) CONTROL MODE
(LOCO) } PROGRAM LOCK
(LOCI) MOD~
270250-8

Figure 10. Chip Configuration Register

~

During 16-bit bus cycles, Ports 3 and 4 contain the
address multiplexed with data using ALE to latch the
address. In 8-bit bus cycles, Port 3 is multiplexed address/data while Port 4 is address bits 8 through IS.
The address bits on Port 4 are valid throughout an 8-bit
bus cycle. Figure II shows the two options.
The bus width can be changed each bus cycle on the
8X9XBH and the 8X9XJF and is controlled using bit I
of the CCR with the BUSWIDTH pin. If either CCR.I
or BUSWIDTH is a 0, external accesses will be over a
16-bit address/8-bit data bus. If both CCR.I and BUSWIDTH are Is, external accesses will be over a 16:bit
address/16-bit data bus. Internal accesses are always
16-bits wide. The BUSWIDTH pin is not available on
the 8X98. CCR.I must be a on the 8X98.

°

The bus width can be changed every external bus cycle
if a I was loaded into CCR bit I at reset. If this is the
case, changing the value of the BUSWIDTH pin at runtime will dynamically select the bus width. For example, the user could feed the INST line into the BUSWIDTH pin, thus causing instruction accesses to be
word wide from EPROMs while data accesses are byte
wide to and from RAMs. A second example would be
to place an inverted version of Address bit 15 on the
BUSWIDTH pin. This would make half of external
memory w.ord wide, while half is byte wide.
Since BUSWIDTH is sampled after address decoding
has had time to occur, even more complex memory
maps could be constructed. See the timing specifications ·for an exact description of BUSWIDTH timings.
The bus width will be determined by bit 1 of the CCR
alone on 48-pin devices since they do not have a BUSWIDTH pin.

The CCR is ,loaded on reset with the Chip Configuration Byte, located at address 20l8H. The CCR register
is. a non-memory mapped location that can only be
written to during the reset sequence; once it is loaded it
cannot be changed until the next reset occurs. The
8X9X will correctly read this location in every bus
mode.

When using an 8-bit bus, some performance degradation is to be expected. On the 8X9X , instruction execution times with an 8-bit bus will slow down if any of
three conditions occur. First, word writes to external
memory will cause the executing instruction to take
two extra state times to complete. Second, word reads
from external memory will cause a one state time extension of instruction execution time. Finally, if the prefetch queue is empty when an instruction fetch is requested, instruction execution is lengthened by one
state time for each byte that must be externally ac"'
quired (worst case is the number of bytes in the instruction minus one.)

If the EA pin is set to a logical 0, the access to 2018H
comes from external memory. If EA is a logical I, the

access comes from internal ROM/EPROM. If EA is
+ 12.75V, the CCR is loaded with a byte from a separate non-memory-mapped location called PCCB (Programming CCB). The Programming mode is described
in Section 10 of the Hardware Design chapter.
BUS WIDTH

The 8X9XBH and 8X9XJF external bus width can be
run-time configured to operate as a standard 16-bit
multiplexed address/data bus, or as an 8051 style 16-bit

1-13

MCS®-96 8X9X ARCHITECTURAL OVERVIEW

BUS CONTROL

8X9X

8X9X

8-BIT
LATCHED

PORT 4

PORT 4
PORT 3

PORT 3

270250-10

270250-9

16-Bit Bus

a·Bit Bus
Figure 11. Bus Width Options

BUS CONTROL

o

Using the CCR, the 8X9X can be made to provicJe bus
control signals of several types. Three.controllines have
dual functioJls designed to reduce external hardware.
Bits 2 and 3 of the CCR specify the functions per·
formed by these control lines. Figures 12~ 15 show the
sigllals which can be modified by changing bits in the
CCR, all other lines will operate as shown in Figure ~.

ALE

Jl

Standard Bus Control
If CCR bits 2 and 3 are Is, then the standard 8X9X
control ~Is WR, BHE and ALE are provided (Figure 12). WR will come out for every write. BHE will be
valid throughout the bus cycle and can be combined
with WR and address line 0 to form WRL and WRH.
ALE will rise as the address starts to come out, and will
fall to provide the signal to externally latch the address.

rL

ALE

I

WR

WR

BHE

ADO-15

rL

Jl

ADO -7

VALID

~

ADDR

DATA OUT

~

ADS-15

~ADDR LOwl
~

DATA OUT

ADDRESS HIGH

'270'250-11

~
~
270250-12

a-Bit Bus Cycle

16·Bit Bus Cycle
Figure 12. Standard Bus Control

1-14

MCS®·96 8X9X ARCHITECTURAL OVERVIEW

Write Strobe Mode

Address Valid Strobe Mode

The Write Strobe Mode eliminates the necessity to externally decode for odd or even byte writes. If CCR bit
2 is a 0, and the bus is in a 16-bit cycle, WRL and
WRH signals are provided in place of WR and BHE
(Figure 13). WRL will go low for all byte writes to an
even address and all word writes. WRH will go low for
all byte writes to an odd address and all word writes.

If CCR bit 3 is a 0, then an Address Valid strobe is
provided in the place of ALE (Figure 14). When the
address valid mode is selected, ADV will go low after
an external address is set up. It will stay low until the
end of the bus cycle, where it will go inactive high. This
can be used by ROM devices to provide a chip select for a
single external RAM device in a minimum chip count
system.

Write Strobe Mode is particularly well suited to memory systems latching data on the falling edge of WRITE.

Address Valid with Write Strobe

WRL is provided for all 8-bit bus write cycles.

ALE

-.n

IL

WRL

VALID

WRH

VALID

ADO -15

--I

If both CCR bits 2 and 3 are Os, both the Address Valid
strobe and the Write Strobes will be provided for bus
control. Figure 15 shows these signals.

DATA OUT

ADDR

ALE

WRL

ADO -7 -1ADDR LOW

I-

AD8 -15

I

DATA OUT

ADDRESS HIGH

-1

II-

270250-14

270250-13

a·Blt Bus Cycle

16·Blt Bus Cycle
\

Figure 13. Write Strobe Mode

r-

ADV

I

WR

SHE

ADO -15

ADV

[
~

WR

--1

VALID

ADDRI

ADO:" 7 .

DATA OUT

I-

AD8-15

--1

ADDR LOwl

DATA OUT

ADDRESS OUT HIGH

I.1270250-16

270250-15

a·Blt Bus Cycle

16·Blt Bus Cycle
Figure 14. Address Valid Strobe Mode

1-15

inter

MCS®·96 8X9X ARCHITECT,URAL OVERVIEW

WRL

I

WRH

ADO -15

--i

ADDR

VALID

WRL

VALID

ADO -7

J---

DATA OUT

ADS -15

-1

AD DR LOW

I

DATA OUT

-1. . __

J--J---

A_D_D_RE_S_S_H_IG_H_ _.....

270250-17

270250-18

16·Bit Bus Cycle

8·Bit Bus Cycle

Figure 15. Write Strobe with Address Valid Strobe
READY CONTROL

To simplify ready control, four modes of internal ready
control logic have been provided. The modes are chosen by properly configuring bits 4 and 5 of the CCR.
The internal ready control logic can be used to limit the
number of wait states that slow devices can insert into
the bus cycle. When the READY pin is pulled low,
wait states will be inserted into the bus cycle until the
READY pin goes high, or the number of wait states
equals the number specified by CCR bits 4 and 5,
whichever comes first. Table 1 shows the number of
wait states that can be selected. Internal Ready control
can be disabled by loading 11 into bits 4 and 5 of the
CCR.

executing from external memory. The modes are shown
in Table 2. Internal ROM/EPROM addresses 2020H
through 3FFFH on the 8X9XBH and the 8X98 and
addresses 2020H through 5FFFH on the 8X9XJF are
protected from reads. 2000H through 3FFFH on the
8X9XBH and the 8X98 and 2000H through 5FFFH on
the 8X9XJF are protected from writes, as set by the
CCR.
Table 2. Program Lock Modes
LOC1

LOCO

Protection

0
0

0

Read and Write Protected
Read Protected
Write Protected
No Protection

1

0

Table 1. Internal Ready Control
IRC1

IRCO

Description

o
o

o

Limit to 1 Wait State
Limit to 2 Wait States
Limit to 3 Wait States
Disable Internal Ready Control

1
1

1

o

This feature provides for simple ready control. For example, every slow memory chip select line could be
ORed together and be connected to the READY pin
with CCR bits 4 and 5 programmed to give the desired
'
number of wait states to the slow devices.

Only code executing from internal memory can read
protected internal memory, while a write protected
memory can not be written to, even from internal execution. As a result of 8X9X prefetching of instructions,
however, accesses to protected memory are not allowed
for instructions located above 3FFAH on the 8X9XBH
and the 8X98 and above 5FFAH on the 8X9X)F, This
is becaus~the lock protection mechanism is gated off of
the Memory Controller's slave program counter and
not the CPU program counter. If the bus controller
receives a request to perform a read of protected memory, the read sequence occurs with, indeterminate data
being returned to the CPU. Note that the interrupt vectors and the CCR are not protected .

. ROM IE PROM LOCK
Four modes of program memory lock are available on
the 8X9X devices. CCR bits 6 and 7 (LOCO, LOCI)
select whether· internal· program memory can' be read '
(or written in EPROM devices) by a program

, 1-16

To provide verification and testing when the program
lock feature is enabled, the 8X9X verifies the security
key before, programming or test modes are allowed to
read from protected memory. Before protect,ed memory
can be read, the chip reads external memory locations
4020H through 402FH and compares the values

MCS®~96 8X9X ARCHITECTURAL OVERVIEW

found to tlje internal security key located from 2020H
through 202FH. Only when the values exactly match
will accesses to protected memory be allowed. The details of ROM/EPROM accessing are discussed in Section 10 of the Hardware Design chapter.

/

result must be interpreted in modulo 256 arithmetic.
Logical operations on BYTES are applied bitwise. Bits
within BYTES are labeled from 0 to 7, with 0 being the
least significant bit. There are no alignment restrictions
for BYTES, so they may be placed anywhere in the
MCS-96 address space.

3.Q SOFTWARE OVERVIEW
This section provides information on writing programs
to execute in the 8X9X. Additional information can be
found in the following documents:
MCS®-96 M;ACRO ASSEMBLER USER'S GUIDE
Order Number 186 ASM 96 (Intel Systems)
Order Number 086 ASM 96NL (DOS Systems)
C-96 USER'S GUIDE
'Order Number 086 C96NL (DOS Systems)
PL/M·96 USER'S GUIDE
Order Number 186 PLM 96 (Intel Systems)
Order Number 086 PLM 96NL (DOS Systems)

WORDS
WORDS are unsigned 16-bit variables which can take
on the values between 0 and 65535. Arithmetic and
relational operators can be applied to WORD operands
but the result must be interpreted modulo 65536. Logical operations on WORDS are applied bitwise. Bits
within words are labeled from 0 to 15 with 0 being the
least significant bit. WORDS must be aligned at even
byte boundaries in the MCS~96 address space. The least
significant byte of the WORD is in the even byte address and the most significant byte is in the next higher
(odd) address. The address of a word is the address of
its least significant byte. Word operations to odd addresses are' not guaranteed to operate in a consistent
manner.

Throughout this section, short sections of code are used
to illustrate the operation of the device. For these sections it has been assumed that a set of temporary registers have been predeclared. The names of these registers
have been chosen as follows:
AX, BX, CX, and OX are 16-bit registers.
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 OX

SHORT-INTEGERS
SHORT-INTEGERS are 8-bit signed variables which
can take on the values betweep -128 and + 127.
Arithmetic operations which generate results outside of
the range ofa SHORT-INTEGER will set the overflow
indicators in the program status word. The actual numeric result returned will be the same as the equivalent
operation on BYTE variables. There are no alignment
restrictions on SHORT-INTEGERS so they may be
placed anywhere in the MCS_96 address space.

These are the same as the names for the general data
registers used in the 8086 (80186). It is important to
note, however, that in the 8X9X, these are not dedicated registers but merely the symbolic names assigned by
the programmer to an eight byte region within the onboard register file.

INTEGERS
INTEGERS are 16-bit signed variables which can take
on the values between -32,768 and 32,767. Arithmetic
operations which generate results outside of the range
of an INTEGER will set the overflow indicators in the
program status word. The actual numeric result returned will be the same as the equivalent operation on
WORD variables. INTEGERS conform to the same
alignment and addressing rules as do WORDS.

3.1 Operand Types
The MCS®-96 architecture provides support 'for a variety of data types which are likely to be useful in a control application. In the discussion of these operand
types that follows, the names adopted by the PLM-96
programming language will be used where appropriate.
To avoid confusion, the name of an operand type will
be capitalized. A "BYTE" is an unsigned eight bit variable; a "byte" is an eight bit unit of data of any type.

BITS
BITS are single-bit operands which can take on the
Boolean values of true and false. In addition to the normal support for bits as components of BYTE and
WORD operands, the 8X9X provides for the direct
testing of any bit in the internal register file. The MCS96 architecture requires that bits be addressed as components of BYTES or WORDS, it does not support the
direct addressing of bits that can occur in the MCS-51
architecture.

BYTES
BYTES are unsigned 8-bit variables which can take on
the values between 0 and 255. Arithmetic and relational
operators can be applied to BYTE operands but the

1-17

inter

MCS

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2014:09:15 18:58:07-08:00
Modify Date                     : 2014:09:15 18:44:16-07:00
Metadata Date                   : 2014:09:15 18:44:16-07:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:7921174e-ffc4-9f44-8dc3-2f0e6cc1314a
Instance ID                     : uuid:76c1640a-12b7-f649-b3d9-71be79719995
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 624
EXIF Metadata provided by EXIF.tools

Navigation menu