• Keine Ergebnisse gefunden

PROMPT 48™

N/A
N/A
Protected

Academic year: 2022

Aktie "PROMPT 48™ "

Copied!
154
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

PROMPT 48™

MICROCOMPUTER, USER'S MANUAL

Manual Order Number: 9800402C

~---~ ~

....

L . . . - - - -

1

~mJlk~ ® ·

(2)

PROMPT 48™

MICROCOMPUTER USER'S MANUAL

Manual Order Number: 9800402C

Copyright © 1976. 1977. 1978 Intel Corporation

I Intel Corporation. 3065 Bowers Avenue. Santa Clara. California 95051 I

(3)

ii

The infonnation in this manual is subject to change without notice. Intel Corporation makes no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Intel Corporation assumes no responsibility for any errors that may appear in this manual.

Intel Corporation makes no commitment to update nor to keep current the infonnation contained in this manual.

No part of this manual may be copied or reproduced in any form or by any means without the prior written consent of Intel Corporation. The following are trademarks of Intel Corporation and may be used only to describe Intel products:

ICE I!'<SITE INTEL INTELLEC iSBC

LIBRARY MANAGER MCS

MEGA CHASSIS MICRO MAP MULTIBUS

PROMPT RMX UPI /LSCOPE

PRINTED IN U.S.A./A132/1079/4K CP

J

(4)

I

I

, )

n PREFACE

This User's Manual contains the infonnation you will need to use your PROMPT 48.

The infonnation presented herein is adequate to support nonnal user needs. Additional infonnation is available in the following documents.

MCS-48 Microcomputer User's Manual, Order No. 9800270 MSC-48 Assembly Language Manual, Order No. 9800255 PROMPT 48 Reference Cardlet, Order No. 9800404

iii

(5)

CHAPTER 1

INTRODUCTION PAGE

How To Use This Book. . . .. 1-1 Voltage Selection . . . .. 1-1 Handling The Processor . . . .. 1-1 Inserting Processor In Execution Socket. . . .. 1-1 The Purpose of PROMPT 48 . . . .. 1-2 Getting Started ... 1-2

CHAPTER 2

THE NUMBER SYSTEM AND ITS SYMBOLS

Why Computers Need Symbols ... 2-1 Number Systems ... 2-1 Binary Numbers .. . . .. 2-1 Converting Decimal Numbers to Binary Numbers .... 2-2 Converting Binary Numbers to Decimal Numbers .... 2-2 Binary Arithmetic ... 2-2 Binary Addition ... 2-3 Binary Subtraction ... : ... 2-3 Binary Multiplication ... 2-5 Binary Division. . . .. 2-5 Hexadecimal Numbers ... 2-6 Electrical Representation of Binary Digits ... 2-8 Positive True Logic ... 2-8 The Inverse State ... 2-9

CHAPTER 3

HOW THE INTEL MCS-48 CHIP- COMPUTERS WORK

Historical Perspective ... 3-1 The Harvard Architecture. . . .. 3-1 Princeton Heard From ... 3-1 The MCS-48 Architecture ... 3-2 Bits, Bytes, and Where You Can Put Them ... 3-2 Accumulator ... 3-2 Register Memory , Working Registers,

and RAM Pointers ... 3-2 Program Memory and Program Counter ... 3-3 Rags and Stacks ... 3-4 Timer/Event Counter ... 3-7 Input/Output Ports ... 3-10 External Memory and Ports ... 3-11 Extemal Program Memory ... 3-11 External Data Memory ... 3-12 External Ports ... 3-13 Data Paths ... 3-13 MCS-48 Instruction Set ... 3-15 Accumulator Instructions ... 3-15 Register Accumulator Instructions ... 3-15 Input/Output Instructions ... 3-15 Control Instructions ... 3-20 Conclusion ... 3-20

iv

CONTENTS

CHAPTER 4

HOW THE PROMPT 48 WORKS PAGE Introduction. . . .. 4-1 Hardware Description . . . .. 4- 1

Memory ... 4-3 Program Memory ... 4-3 Data Memory ... 4-4 Input/Output ... 4-4 Monitor Firmware Description. . . .. 4-4 Bus Expansion ... 4-5 Restrictions ... " 4-6

CHAPTER 5

PANEL OPERATIONS

Panel Description ... " 5-1 Command Function Group. . . .. 5-1 Reset/Interrupt Group ... 5-2 I/O Ports and Bus Connector (1) " ... 5-3 Execution Socket ... : ... 5-3 Programming Socket ... 5-3 Command Description Formats ... 5-4 Command Input Options ... 5-5 Command Prompts ... 5-5 Access Mode Control ... 5-5 Port 2 and Port 2 Mapping ... 5 -7 Examine/Modify Commands ... 5-9 Go Commands and Breakpoints ... 5-1l Search Memory Commands ... .5-12 Move Memory Commands ... 5-15 Clear Memory Commands ... 5-17 Dump Memory Command ... 5-17 Enter Into Memory Commands ... 5-18 Hexadecimal Arithmetic Command ... 5-19 EPROM Programming, Fetch, Compare Commands .. 5-19

CHAPTER 6

HOW TO USE PROMPT 48

Setting Up a System ... 6-1 Education ... 6-1 Functional Definition ... 6-1 Hardware Configuration ... 6-2 Code Generation ... 6-2 Programming Techniques ... " 6-3 Program Design ... 6-3 Hand Assembly. . . . .. 6-5 Program Test and Debugging ... 6-6 Program Memory Paging . . . .. 6-7 Assembling JMP and CALL Instructions .. . . .. 6-7 Care and Feeding of EPROMS ... 6-7 Prompt 48 Considerations ... 6-8 Hardware Considerations ... , 6-8 Data Memory Considerations ... 6-10 Using and Expanding PROMPT 48 I/O Ports ... 6-10

(6)

PAGE P2 Map, LSN of P2, Access Code Considerations ... 6-11 Using the Serial I/O Port ... 6-13 Interfacing to a Teletypewriter ... 6-14 Questions Most Often Asked ... 6-18 Use of INS A, BUS ... 6-18 RAM and I/O Selection ... 6-19 TTY and CRT Peripherals Are Used Only For

Dumping and Reading Paper Tape ... 6-20 Speed Degradation Occurs When

"GO WITH BREAKPOINTS" ... 6-20 When Using PROMPT 48 System Calls, Do Not

"GO WITH SGL. STEP" or "GO WITH

BREAKPOINT" ... 6-20

APPENDIX A

A FAMILIARIZATION EXERCISE APPENDIX B

PROMPT 48 SYSTEM CALLS

CONTENTS (Continued)

APPENDIX C

PROGRAMMING EXAMPLE: STOPWATCH APPENDIX D

HEX OBJECT FILE FORMAT APPENDIX E

COMMAND/FUNCTION SUMMARY APPENDIX F

MICROMAP APPENDIX G

INSTRUCTION SET SUMMARY APPENDIX H

NUMBER CONVERSION TABLES APPENDIX I

ACCESS CODEILSN P2 MAP SUMMARY APPENDIX J

EXPANDED ACCESS CODES WITH 6MHZ OPTION

v

(7)

I

TABLE TITLE PAGE

4-1 Pin List for I/O Ports and Bus Connector 4-5 5-1 Summary Table of Access Mode Codes ... 5-6 5-2 Access Code/P2 Map Summary ... 5-6 5-3 Access Code/LSN P2 Map Summary ... 5-7 5-4 Port 2 Map Command Data Bits Vs.

Port 2 Pin Numbers ... 5-8 5-5 Hexadecimal/Binary Conversion ... 5-8

FIGURE TITLE PAGE

3-1 3-2 4-1 5-1 6-1 6-2 6-3 6-4

vi

Stack Push ... 3-8 Stack Pop ... 3-9 Functional Block Diagram ... 4-2 Prompt 48 Panel Layout ... 5-1 Stopwatch Program Structure ... 6-4 Design for "von Neumann" Expansion

Memory ... 6-9 PROMPT 48 Port 2 Bus Structure ... 6-12 Relay Circuit (Alternate) ... 6-15

TABLES

TABLE TITLE PAGE

5-6 Special Purpose Register Memory

Summary ... 5-10 5-7 Command List Summary ... 5-22 6-1 Pin List for I/O Ports and Bus Connector ... 6-10 6-2 Connector 12 Pin Connections ... 6-13 6-3 Serial I/O Port Strapping Options ... 6-14 6-4 Baud Rate Selection ... 6-14

ILLUSTRATIONS

FIGURE TITLE PAGE

6-5 6-6 6-7 6-8 6-9 6-10 6-11 6-12

Distributor Trip Magnet ... 6-15 Mode Switch ... 6-15 Terminal Block ... 6-15 Current Source Resistor ... 6-16 Teletypewriter Layout ... 6-16 PROMPT/TTY Wiring Diagram ... 6-17 Strobed Data Input ... 6-18 Data Path Within PROMPT 48

Using INS A, BUS ... 6-19

(8)

CHAPTER 1 INTRODUCTION

1-1. How To Use This Book

The cost of computers is now low enough that your software design and debug time is likely to be a critical consideration. No doubt your decision to use good tools like Prompt 48 was based on this kind of logical thinking. Since your time is valuable, this book is organized as a reference work, not as a mystery story. Every page has headings that identify the topics on that page. Look up what you want to know, in whatever order you need the information. If Prompt 48 is new to you, you probably will want to go through the familiarization exercise in Appendix A. Before operating Prompt 48 for the first time, please check the caution items that follow.

1-2. Voltage Selection

Is the voltage selection switch on the back of Prompt 48 set for your local mains (line) voltage? If not, open the Prompt box, remove the switch locking plate, and set the switch properly, then reassemble the unit. If you change the switch setting, the fuse likely must be changed to correspond. Ratings are:

105-125 V - 2 A 208-250 V-I A

Now you may plug Prompt 48 in and turn it on.

1-3. Handling The Processor

THE CHIP COMPUTER IS FRAGILEl Dropping, twisting, or uneven pressure may break it. Leave it in its protective package until ready to use it. Never press down upon the quartz window area of the processor, or exert twisting or bending forces on any device. Never subject any MOS device to the discharge of static electricity; touch the chassis of Prompt 48 before inserting a device in the socket on its panel.

1-4. Inserting Processor In Execution Socket

Never insert a processor in the PROGRAMMING SOCKET unless a second processor is properly locked in the EXECUTION SOCKET.

Release the locking lever. Gently seat the processor in the Execution Socket, notched end away from you. Move the locking lever down flush with the panel.

1-1

(9)

Introduction Prompt 48

Step

1.

2.

3.

1-2

1-5. The Purpose of Prompt 48

The difference between a computer and other calculating or controlling devices is the general-purpose nature of their programmability. The 8048 is a true general-purpose digital computer. Its purpose is undetermined until you design software for it, commit that software design to a mask, and maunfacture the chip.

Prompt 48 is a tool to aid you in learning MCS-48 programming and in writing, debugging, and testing the programs you write. There is enough information here to get you started, whether or not you have ever written a program before.

Prompt 48 is a machine-language computer; making it support assembly-language pro- gramming would have considerably raised its cost. Even so, it is general purpose, and can be used to perform a variety of tasks, among which are the control of TTL- compatible devices and the programming of PROMs. It can function as an Intellec Microcomputer Development System peripheral in the latter respect. Once a program has been deposited in an 8748 computer, that device can be installed in the EXECUTION SOCKET on the panel of Prompt 48. The pins of either executory processor-8748 or 8035--<.:an be directly interfaced to your prototype via the I/O PORTS AND BUS CONNECTOR and a cable set provided with Prompt.

All of Prompt 48' s circuitry is located on a single board just beneath the panel. Aside from the power supply, the remainder of the Prompt 48' s cabinet is empty. A slot at the back of the cabinet provides access for interconnections.

1-6. Getting Started

Entering a program into Prompt 48' s random -access memory (RAM) is easy. The example that follows can be loaded and run without any more instructions than are given here in this paragraph. (The MCS-48 Assembly Language Manual has some other sample programs of a tutorial nature.) Do the following, step by step, and you will be running a program in a matter of minutes.

a. Connect power to Prompt 48.

b. Install the 8035 computer in the EXECUTION SOCKET. (Observe the precautions in paragraph 1-3.)

c. Turn power ON. The display should respond with ACCESS = O. If not, press [SYS RST].

d. Enter the program by pressing each COMMANDS or HEX DATA/FUNCTIONS key in the order listed on the next page. Each [ ] represents one keystroke. At the end of each step (which may be several keystrokes), the results shown in the column at right should appear on the display. If you make a mistake and the wrong data appears, you can correct it by keying the field over again before touching the NEXT [, ] key. If you realize a mistake after incrementing to the next address, you can go back and cor- rect it by pressing the [ ] CLEAR ENTRY/PREVIOUS key and then keying the step over again.

Result Instruction

Action Function Address Data Mnemonic Comment

[ ] EXAMINE/MODIFY E ;SELECT FUNCTION

[ ] PROGRAM MEMORY EP ;SELECT PROGRAM MEMORY

[0] EP

a

;ADDRESS

a

[,] [1] [7] EP 0 17 INCA ;INCREMENT ACCUMULATOR

[,] [0] [4J EP 04 JMP ;JUMP TO LOCATION

[,] [0] EP 2 00 ;00

(10)

CHAPTER 2 THE NUMBER SYSTEM AND ITS SYMBOLS

2-1. Why Computers Need Symbols

Digital computers perform functions accurately and at high speed by manipulating symbols (characters) according to a set of instructions. Computer operation consists of the execution of sequences of symbolically coded instructions and data. Within the machine, both data and instructions are usually descriQed in binary-number codes.

To understand the computer, you will need to understand how numbers are represented. Our starting point is the study of the simplest of numbering systems-the binary number system.

But first, some definitions.

2-2. Number Systems

A number system is a set of symbols that may be operated upon by arithmetic rules. The individual symbols are called digits, and each digit is assigned its own name. The decimal system, as the name suggests, has ten digits: 0, I, 2, 3,4, 5, 6, 7, 8, 9. A number system also has a set of rules that define how to arrange the digits to form numbers. A number is, therefore, a sequence of digits interpreted according to a particular set of rules.

Positional notation allows numbers to be written that express all quantities, no matter how large or how small. The real value of a digit depends on its position in the number. The digits of the number 5555 are identical, yet each has a different value. To write 5555 is a compact way of writing five thousand

+

five hundred

+

fifty

+

five or, expressed in powers of 10, 5 X 103

+

5 X 102

+

5 X 101

+

5 x 100 . The number 10 is the base, or radix, of the decimal system. After learning a few simple rules (and memorizing or referring to some unfamiliar addition and multiplication tables), it is easy to perform calculations in any non-decimal system. This chapter is concerned with the binary number system, whose radix is 2, and the hexadecimal system, whose radix is 16.

2-3. Binary Numbers

Binary numbers are written using radix 2. That is, each column represents a power of 2, just as in decimal, each column rep'resents a power of 10. The binary number 101101 can be written 1011012. Its value is expressed in the equation:

101101 2

=

1 X 25

+

0 X 24

+

1 X 23

+

1 X 22

+

0 X 21

+

1 X 2

=

1 X 32

+

0 X 16

+

1 X 8

+

1 X 4

+

0 X 2

+

1 X 1

=4510

2-1

(11)

The Number System and Its Symbols

2-2

The following table lists eleven binary numbers and their decimal equivalents.

Binary , , Decimal

242322212°

0 0 0 0 0 0

0 0 0 0 1 1

0 0 0 1 0 2

0 0 0 1 1 3

0 0 1 0 0 4

0 0 1 0 1 5

0 0 1 1 0 6

0 0 1 1 1 7

0 1 0 0 0 8

0 1 0 0 1 9

0 1 0 1 0 10

Computer people have become accustomed to referring to digits in the binary system as bits, which is a contraction of binary digits.

2-4. Converting Decimal Numbers to Binary Numbers

A simple method, suitable for converting large numbers, consists of repeatedly dividing the decimal number by 2. The remainder at any step of the division can only be 0 or 1. These remainders are the bits of binary equivalent. To illustrate, convert 3710 to its binary equivalent.

37

+ 2

=

18 remainder 1

=

20 (least significant digit) + 2

=

9 remainder 0

=

21

+ 2 = 4 remainder 1 = 22 + 2

=

2 remainder 0

=

23 + 2

=

1 remainder 0

=

24

+ 2

=

0 remainder 1

=

25 Binary equivalent

=

2-5. Converting Binary Numbers to Decimal Numbers

The obvious method for binary to decimal conversion is to select the one bits in the binary number and convert each one to decimal and then add the results together.

3710

=

1 0 0 1 0 1 .

=

1 X 25

+

1 X 22

+

1 X 2 0

=

32

+

4

+

1

=

3710

2·6. Binary Arithmetic

Binary arithmetic operations are much simpler to perform than decimal number system operations. So much simpler that the advantage of using fewer digits to express a given value in the higher radix is more than offset. The .rules of arithmetic are identical in both systems.

Prompt 48

(12)

Prompt 48 The Number System and Its Symbols

2-7. Binary Addition

All of the possible combinations that can occur when two bits are added are shown in the following addition table:

o

0 1 1

+0 +1 +0 +1

o 1 0 with a carry of 1

A carry 1 bit is produced from the addition of 1 and 1. Binary carries are treated in the same way as decimal carries; they are carried over to the left. In decimal, 1

+

1 = 210, but since

1 is the largest bit, 2 must be written as 102 . Example:

Decimal 15

+

7 22

2-8. Binary Subtraction

Binary 1111

+

111 10110

As in the binary addition table the binary subtraction table contains only four entries:

o

1 1 0 -0 -0 -1 -1

o 0 0 with a borrow of 1

A borrow must be made in order to subtract a larger bit from a smaller bit, just as in a decimal subtraction. Since there are only two bits, this only happens when 1 is subtracted from O. In this case a 1 is borrowed from the next column to the left. All binary subtraction is performed according to the subtraction table. Example:

Decimal Binary

15 minuend 1111

- 7 subtrahend - 111

8

---

1000

Decimal Binary

15 1111

- 6 - 110

9 1001

The arithmetic used in most computers performs subtraction in a different way than we are accustomed to using for decimal arithmetic. The method used is called the complement method. Its advantage lies in simpler physical circuitry to obtain the same result.

2-3

(13)

Prompt 48

2-4

The Number System and Its Symbols

Here is how the complement method would work in the familiar decimal system. First, form the ten's complement (in binary we would form the two's complement). To form the ten's complement, subtract each digit from 9, forming the nine's complement, and then add one to the number as a whole: thus the ten's complement of 012345678910 is

9999999999 -0123456789

9876543210 nine's complement +1

9876543211 ten's complement

Then, subtracting a subtrahend from a minuend is simply adding the minuend complement.

Example: Subtract 5610 from 23110

NORMAL COMPLEMENT

231 -056

minuend subtrahend

231

+944 (ten's complement)

175 (1)175

Notice that the carry digit is ignored in the complement method. The subtrahend is the smaller of the two numbers. If not, invert the problem and change the sign of the result.

So the rule for ten's complement subtraction is

Add the ten's complement of the subtrahend to the minuend, ignoring the carry digit.

You can see that in the decimal system the ten's complement system is cumbersome.

The binary number system used by computers, however, makes subtraction by comple- menting simple. first, form the two's complement. Subtract each digit from 1, forming the one's complement, and then add one to the number as a whole:

11111111 -00000101

111110 10 (1' s complement) +1

11111011 (2's complement)

Then, subtracting a subtrahend from a minuend is simply adding the minuend complement:

00001010

+ 11111011 (2's complement) 00000101

As before, the carry bit is ignored.

In fact, subtraction in the MCS-48 family of computers is explicitly programmed by the complement method. Suppose you wanted to subtract A from RO, leaving the answer in A.

You would program CPLA INC A

;forms 1 's complement of A.

;now 2's complement of A.

ADD A,RO ;A now contains the desired subtracted result.

There need not be a subtract (SUB) instruction.

(14)

Prompt 48 The Number System and Its Symbols

2-9. Binary Multiplication

There are two simple, easy-to-remember rules for binary multiplication:

1. The product of 1 x 1 = 1.

2. All other products =

o.

o

1 0 1

xO xO x1 x1 0 0 0

The reason for the simplicity of binary multiplication is readily apparent. Any number, digit or bit multiplied by

a

produces a product of O. The simple procedure of binary mUltiplication is illustrated in the following example:

Decimal Binary

7 111 multiplicand

x 5 xlOl multiplier

35

- -

111

000 partial products

- - -

111

100011 product

Binary multiplication involves a series of shifts and additions of the partial products. The partial products are easily found since they are equal to the multiplicand or to O. Every 1 bit in the multiplier gives a partial product equal to the multiplicand shifted left the correspond- ing number of places. Every

a

in the multiplier produces a partial product of O. Each partial product is shifted left one position from the preceding partial product, the Same as in decimal arithmetic.

It is useful to remember that shift operations are used to multiply or divide binary numbers by powers of 2 (not multiples of 2). A left shift of pne position multiplies by 2; a left shift of two bit positions multiplies by 4. Similarly, a right shift of one position divides by two (i.e., multiplies by 1/2); a right shift of two positions divides by four.

2-10. Binary Division

Binary division is performed in much the same way as decimal long division. The process is much simpler, since there are only two rules in binary division.

o o

2-5

(15)

The Number System and Its Symbols

2-6

Division by 0 (1 +- 0, 0 +- 0) is meaningless in any numbering system. The following examples illustrate the binary division process:

Decimal

Decimal 12

11)m

1011

11 22 22

Binary 11 11 ) 1001 11 011

11 111 100 hll00

100

Binary 110 100 100 100

1100 )10000100

1011 1011 1011

So, a computer does division in the reverse way as multiplication, by a series of subtractions and right shifts to provide partial dividends as opposed to a series of additions and left shifts to provide partial products.

2-11. Hexadecimal Numbers

The principal drawback of binary notation is the relative length of the numbers. It is tedious to write, and so more vulnerable to error.

One shorthand method of expressing any group of four bits is the hexadecimal number system. This is not a code, merely a means of replacing four consecutive bits by a single character. Since any four bits may represent the numbers 0 through 15, then 16 single-digit numbers are required to replace the 16 binary numbers. For convenience, hexadecimal numbers are symbolically represented by a set of familiar characters, arranged in a familiar order.

Prompt 48

(16)

Prompt 48 The Number System and Its Symbols

Binary Decimal Hexadecimal

0000 0 0

0001 1 1

0010 2 2

0011 3 3

0100 4 4

0101 5 5

0110 6 6

0111 7 7

1000 8 8

1001 9 9

1010 10 A

1011 11 B

1100 12 C

1101 13 0

1110 14 E

1111 15 F

Since data is often represented by binary numbers in some codes, hexadecimal notation can be used to express data. Prompt 48 uses 8-bit bytes, which can be expressed in two hexadecimal characters. The computer still reads only binary numbers; hexadecimal is the user's shorthand, not the computer's. The smallest hexadecimal number is 0016

(000000002) and the largest is FF16 (111111112),

When making translations, you may find it helpful to divide each 8-bit byte into two 4-bit nibbles. The left nibble represents the left (most significant) hexadecimal digit, and the right nibble represents the right (least significant) hex digit. For example, 01110011 2 (11510) might for convenience be written:

0111 7

0011 3 i.e., 7316 , which looks a lot like 7310 but is larger in value.

For another example, 110110112 , which translates into decimal as 21910, can be translated into "hex" like this:

1101 D

1011 B

If thinking ofDB16 as a number somewhat larger than the number of bones in your body is hard, you can calculate it using an equation much like the one used to find the decimal value of binary numbers, thusly:

DB16

=

13 X 161

+

11 x 16°

=

13 X 16

+

11 X 1

=

208

+

11

=

21910

the decimal value stated previously. In hex, there are only two digits to contend with, and each of those could be looked up in a table and thereby translated from binary in one step. As you can see, there is no direct way to divide a binary number into decimal nibbles. That's why Prompt 48 uses a hexadecimal display and keyboard.

2-7

(17)

The Number System and Its Symbols

2-8

Since hexadecimal notation is merely a shorthand for binary notation, hexadecimal arithmetic-addition, subtraction, multiplication, and division-is simply binary arithme- tic. Thus,

Binary Decimal Hexadecimal

1001 11 B

HOW +10 +A

---

10011

2 2110 1516

1011 11 B

-1010 -10 -A

I

--

1

Prompt 48 has a built-in hexadecimal calculator which facilitates hex addition and subtraction.

Throughout this book, numerical values are stated in decimal numbers without subscript, and program addresses and steps are stated in hexadecimal numbers without subscript.

Some books use suffIx H to indicate hex, D for decimal, and B for binary.

2-12. Electrical Representation of Binary Digits

So far, the bit has been discussed in terms of 1 or O. This is fine for arithmetic and logic representation using a pencil and paper, but a computer is an electronic device, and needs two signal states' that:

a. Can be represented by high speed circuits.

b. Can be readily distinguished.

c. Cannot be confused.

In general, computers use voltage levels to represent binary digits. The level may be present for a relatively short time period (or pulse) or a longer time period (which still may be a pulse or a level).

2-13. Positive True Logic

One representation of a logic level is termed positive true, and the ~ompanion voltage levels

are

+5 Vdc and OVdc, such that:

+5V = 1 = HIGH = TRUE OV =0 = LOW = FALSE

If the output of a logic element (circuit) is + 5V, that output may be referred to as logic 1, or high, or true, depending upon the function of the logic element, i.e., whether it represents data in some form, or a timing or controlfunction. Conversely, when the output is 0 V it may.

be referred to asa logic 0, or low, or false.

Prompt 48

(18)

Prompt 48 The Number System and Its Symbols

2-14. The Inverse State (Negative True)

Certain logic elements have two outputs, the one being the inverse of the other in tenus of voltage levels. In certain cases a level is purposely inverted because it is easier to use its inverse. What does this mean?

Consider a logic element that has two outputs, which are named for schematic or illustrative purposes. Now suppose that the logic element performs a control function and that the control function is tenued Fetch. The mnemonic for one output could be FETCH, and by adopting the bar convention the other output would be FETCH/. How then is the Fetch control function expressed in these tenus?

FETCH = 5V = HIGH = TRUE FETCH/ = OV = LOW = TRUE

FETCH

=

OV

=

LOW = FALSE FETCH/ = 5V = HIGH = FALSE

The Fetch control is applied

The Fetch control is not applied

Since the two signals are derived from the same logic element, they will always be opposite, the one being the inverse of the other. However, you cannot say that if FETCH

=

TRUE, then FETCH/ = FALSE. Both levels must be either true or false at the same time. The foregoing applies to any signal or bit that has dual representation.

2-9/2-10

(19)
(20)

CHAPTER 3 HOW THE INTEL MCS-48 CHIP-COMPUTERS WORK

3-1. Historical Perspective

The Intel MCS-48 Chip-Computers are truly computers-on-a-chip, unlike earlier' 'micro- processors." Within this single-chip microcomputer are included all the computer building blocks which have traditionally come to be regarded as basic: Central Processing Unit, Memory, and Input/Output.

The concepts leading to present-day computers date back as far as the 1830' s, when Charles Babbage envisioned his" Analytical Engine." Babbage's design included all the major components of a general-purpose digital computer. He foresaw that its "store" (memory) should hold a thousand 50-digit numbers. Its' 'mill" (processor) would perform operations on the information and return the results to the" store." Babbage's concept was complete and accurate, for as in modern-day computers, it included "sequence mechanisms" which would select the proper numbers from the "store" and instruct the "mill" to perform the proper operation. But mechanical technology (later joined by electrical) required one hundred years to realize a working computer according to Babbage's conception.

This was the relay-powered "Complex Computer" built by Dr. George R. Stibitz at Bell Laboritories around 1939. Stibitz used a roomful of reliable, proven telephone relays to perform a limited repertoire of arithmetic operations. It worked, and was very fast alongside the manual calculation methods available to mathematicians in 1939. It was not a general- purpose machine.

3-2. The Harvard Architecture

The great technical visionary, Howard Aiken, conceived that the technique of Stibitz could be extended to fulfill Babbage's dream of a practical, general-purpose computer. His conception was of an electronic machine with vacuum-tube memory banks, used to store both numerical data and changeable programs for the processing of that data. His particular design called for split, independent memories for" data" and "programs." He wrote the specification for such an "Automatic Sequence-Controlled Calculator" in 1937.

Seven years later, the development and manufacturing skills of IBM Corporation successfully completed and installed this system, Mark I, on which the Harvard Computation Laboratory was founded. It was 51 feet (15.5 Meters) in length. Its information was input by four paper-tape readers. Three were dedicated to data, one to programs, whose instructions were coded in the sequence "source, destination, opera- tion." The Mark I was very slow by modern standards: about 1/3 second was required to execute a single ADD instruction.

3-3. Princeton Heard From

A computer named ED V AC was the result when mathematician John von Neumann and his colleagues at Princeton constructed a machine for the U.S. Army. EDV AC could store 4K of a mixture of 40-bit data words and program instructions in its vacuum-tube memory matrix. The principal von Neumann introduced is that of numerical coding of programs, in exactly the same format as data, stored side-by-side in the same memory. This was a technique of such power and flexibility (especially so in an era when memory was costly) that it has been adopted and used virtually universally. Intel's 8008 and 8080 series of microprocessors are designed fundamentally around the Princeton architecture; they are

"von Neumann" machines, employing a "monomemory" addressing scheme. On the other hand, the 4004 and 4040 are" Aiken" machines, featuring the Harvard Architecture, employing separate program and data memories.

3-1

(21)

How the Intel MCS-48 Chip-Computers Work

3-2

3-4. The MCS-48 Architecture

3-5. Bits, Bytes, and Where You Can Put Them

The basic unit of infonnation in virtually any computer system today is the bit. A bit is a binary (base 2) digit; that is, it can be either a 0 or aI, represented in a computer as a low or a high voltage level. In the MCS-48 series computer systems, bits are handled in groups of eight. Space for data is allocated in these eight-bit bytes. For easy identification, the bits in a byte are numbered according to their position, or power of 2, from 0 through 7, or least significant bit (LSB) to most significant bit (MSB), thus:

6 5 4 3 2 0

MSB LSB

An eight-bit byte is conventionally broken up into four-bit half bytes, called nibbles. A nibble, containing four bits, can represent 24

=

16 different numbers, from 0000 to 1111.

For programming convenience, four-bit nibbles are usually represented as a single hexadecimal digit (base 16), from 0 to F16 . To understand the inner workings of the computer you need to think binary, but when you are writing programs for the MCS-48 chip-computers you'll be writing hex numbers, rather than bits.

A register is a place to store binary data so it can be worked with. Most MCS-48 registers are 8-bits wide (one byte). Each MCS-48 Chip-Computer contains Register Memory, Data Memory, and separate Program Memory, thereby reintroducing the Harvard Architecture.

The MCS-48 also retains the Princeton concept of program instructions coded in the same numerical fonnat as data. Program memory is thus also organized as 8-bits (one byte) wide per location.

3-6. Accumulator

The first register to be explained is the accumulator, designated A. An -accumulator is something like the display register in an electronic calculator. The accumulator is the focal point of a majority of the instructions the computer can execute. Most arithmetic and logical functions are perfonned on the data within the accumulator, or between the accumulator data and the contents of other data sources (registers and data memory). The accumulator is also the channel through which all data is transferred to and from external devices, and can be used to access data contained in program memory.

We will illustrate the architectural features of the MCS-48 family with a device known as the Micro map , which will gradually increase in complexity until it becomes a quick reference to the features and capabilities of the MCS -48. The first Micromap, emphasizing the accumulator, appears below.

3-7. Register Memory, Working Registers, and RAM Pointers

The MCS-48 Chip-Computers contain 64 8-bit bytes of register memory, numbered 00-3FI6 . These registers are divided into two major types, working registers and data stor- age registers. The working registers have the special capability of being directly accessible through a wide variety of register-accumulator instructions and register-only instructions.

The working registers are divided into two banks of eight registers each, designated RO, Rl, . . . ,R7, of which only one bank is directly accessible at any given time. Working Register Bank 0 (RBO) is found in locations 0- 7 of the register memory, and working Register Bank 1

Prompt 48

(22)

Prompt 48 How the Intel MCS-48 Chip-Computers Work

PORTS

REGISTER MEMORY

(DATA MEMORY)

ACCUMULATOR

, I

OTHER REGISTERS

I

I I I

PROGRAM MEMORY

(RBI) in locations 1816 -IF16 . The bank currently being used is selectable under software control (see paragraph 3-17).

Two working registers in each bank, RO and Rl, are also called RAM Pointers. Data storage registers are only accessible through the use of the RAM Pointers. The RAM Pointers can (in addition to the general capabilities of work registers) also function as "index" registers.

That is, they can contain the address (register number) of a byte of the register memory whose data is to be accessed through certain instructions.

3-8. Program Memory and Program Counter

Program memory, like register memory, is a place to put information; in this case, the instructions to be carried out by the computer. In MCS-48 computers program memory is 8 bits (one byte) wide. In the 8048 and 8748, there are 1024 (lk) bytes of program memory on-chip, addressed as locations 000-3FF16.

The program memory is accessed by means of the program counter. The program counter is a 12-bit register containing the address of the next instruction' to be executed by the computer. Most instructions are executed sequentially in ascending addresses of program memory. That is, the program counter is "incremented" after each instruction. Breaks in the normal sequence of program execution are achieved through' 'jump" commands, which load the program counter with an address other than that of the next instruction in program memory. Note that a 12-bit register can address 212

=

4096 locations. The 3072 addresses not on-chip are located in external program memory, discussed in Paragraph 3-12.

3-3

(23)

How the Intel MCS-48 Chip-Computers Work

3-4

,.~

8 2 IF

9 8 7

8 7

1

e

PORTS

REGISTER MEMORY

,.

~

R

R R

7 ) REGISTER BANK 1 1

o

R

R R 7

REGISTER BANK 0

ACCUMULATOR

I I

I

I I

OTHER REGISTERS

PROGRAM MEMORY

The MCS-48 Chip-Computers manage program memory in 256-byte pages. The most significant hex digit of the program memory address is the page number; the entire 4096-byte address range of the MCS-48 would amount to sixteen pages. The two least significant hex digits point to 256 adjacent memory locations, numbered X0016 - XFF16 ,

where X is the page number in hex. Memory paging is implied by the fact that only the 8 least significant bits increment automatically after each instruction. The two exceptions to this rule (the only means to cross "page boundaries") are the CALL and JMP instructions,

\yhich provide an additional 3 more significant bits of address information (a total of 11 bits). A 12th and most significant bit exists in the program counter, called the Memory Bank select, or MB bit. This bit may be manipulated by software to select either of two 2k regions (upper or lower) of program memory through the Designated Bank Flag (DBF), which is moved into MB on the execution of a CALL or JMP instruction (see Paragraph 3-17).

3-9. Flags and Stack

The flags in the MCS-48 are independent on-bit registers which are used as aids to various processing tasks. Four of the flags are organized into half of the flags register which contains the processor status word, or PSW. These four are the Carry (C), Auxiliary Carry (AC), user Flag 0 (FO), and working register Bank Select (BS) flags. The C flag represents the carry (or borrow) from the last addition (or subtraction). The AC flag represents the carry from bit 3 to bit 4 of the last addition, which is needed for decimal arithmetic. FO is set, reset, and sensed by software, and is useful as a means of communicating between two parts of a program. BS determines which working register bank is currently in use: RBO (register

Prompt 48

(24)

Prompt 48

"IV

iF

2.

19 18 17

8 7

1

How the Intel MCS·48 Chip.Computers Work

PORTS

REGISTER MEMORY

,.

ACCUMULATOR

, , I ,

MB

(PC II) PROGRAM COUNTER

~

0111111111

OBF

R

R

o 7j

REGISTER BANK 1

1 RI

R

R R 7

REGISTER BANK 0

OTHER REGISTERS

PROGRAM MEMORY FFF

r - - - ,

EXTERNAL PROGRAM MEMORY (OPTIONAL)

400 ' - -_ _ _ _ _ _ ...

3FF

~~

~~

JMP 0 001

INCA

memory locations 0-7) or RB 1 (locations 1816 - IF 16). Contained elsewhere in the MCS -48 are user Flag 1 (FI - used like FO), the Timer Flag (TF - see Paragraph 3-10), and the Designated Bank Flag (DBF - see Paragraph 3-8).

Also stored in the flags register are the three STP bits, the stack pointer. The stack pointer is used to manage the MCS-48 stack. A stack is a splendid way to organize activities that cannot be done at the same time. Here is an example from day-to-day life. Suppose that you are writing at your desk and the phone rings. You set aside the writing (intending to return to it) to take care of the phone call. Then a second person calls. You place the first caller on hold and answer the second caller's question. Then you return to the first caller and ultimately to your writing.

How do you organize your responses to these multiple demands? When the first phone rings you remember (perhaps on a mental list of things to do, or mental "stack") that you will return to the writing. And when the second call comes you decide that the first call can be put on hold, or stacked, for later return.

Your first call is now the most recent item on hold (on your stack). You will return to the first caller when you have disposed of the second caller and then resume writing after both calls are finished. Interrupted activities are pushed onto the stack to save them for later. When an interrupting activity is finished, the interrupted activity is popped off of the stack to restore it

ON CHIP

3-5

(25)

How the Intel MCS-48 Chip-Computers Work

f"..J

2 0 F

9 8 7

9 8

1 0

3-6

PORTS

REGISTER MEMORY

r

ACCUMULATOR

I I

I

I

MB

(PCl1) PROGRAM COUNTER

o 1",1"

I

""

OBF

o

R

R1 R

7jREGISTER BANK 1

lAO,a

FLAGS

R 7

R1 R o

REGISTER BANK 0

TIMER/EVENT COUNTER

F1

D

PROGRAM MEMORY FFFr---~----~---'

EXTERNAL PROGRAM

MEMORY

400L-______________ ~

3FFr---~

OOOL-______________ ~

for completion. The MCS-48 computers have facilities which allow a program to be interrupted, made to perform more urgent tasks, and later be returned to the original activity through the use of a stack.

In the MCSA8 Computers, the stack is implemented by saving the contents of the program counter (return address in the interrupted activity) and the C, AC, FO, and BS bits of the flags register (status of the interrupted activity). The twelve bits of the program counter and the four bits of the flags register are combined into two bytes, which are saved on the stack.

The stack is a special area of register memory, locations 816 -1716 . These sixteen bytes of register memory are divided into eight two-byte stack locations, or levels. This allows eight levels of "nesting," or eight interrupted activities waiting on the stack.

STACKED CURRENT

ACTIVITIES ACTIVITY

1st CALL 2nd CALL

)

WRITING

Prompt 48

ON CHIP

(26)

Prompt 48 How the Intel MCS-48 Chip-Computers Work

The stack is maintained through the use of the stack pointer (STP), the three low order bits of the flags register. These three bits can point to (address) the 23

=

8 stack locations. Note that the STP bits do not form the actual address in register memory of the stack, but rather indicates the next available stack entry, called the stack' 'top." When STP

=

000, the stack is on level 0, and the next available stack location is at register memory locations 8 and 9.

Similarly, when STP = 001, the stack is on levell, and the next location is in register memory A16 and B16.

The format of a stack push is shown in Figure 3-1. The eight low order bits, bits 7 to 0, of the program counter, are saved in the low order byte, the lower address of the stack registers.

The four flag bits are combined with the program counter bits 11-8 (including MB) to form the upper byte of the stack entry. After the transfer, 1 is added to the stack pointer to point to the next available stack entry, on the next level.

A stack pop is shown in figure 3 -2. The stackpointer (STP) points to the next available stack level. First, 1 is subtracted from the stack pointer. Then the data to restore the interrupted activity is transferred from the now available stack location to the appropriate registers.

The stack is also used to manage subroutines. A subroutine is a part of a program that is used ("called") by other parts of the program. An example would be multiplication routine, which would calculate and "return" the answer, the product. As with interrupts, the status and return address are saved on the stack, and can be restored to the flags and program counter registers in order to return to the calling routine (previous activity). In most cases though, the status of the subroutine does not interfere with the main (calling) program (self-interrupted activity), so there is a special instruction to pop only the return address from the stack for use with subroutines (see Paragraph 3 -17).

All this is not to say that the memory in which the stack resides is any different then the data storage registers, for they are equally accessable through the use of the RAM pointers.

While the register memory is available for data storage on those levels of the stack which are not needed to monitor multiple activities, this very availability should be carefully checked.

Writing a byte of unrelated data over a return address can be disastrous.

3-10. Timer/Event Counter

Each MCS-48 computer has an on-chip timer/event counter to count external signals or to generate time delays without tying up the processor. Basically, it is an 8-bit register that (when enabled) increments every time it gets an input, and sets a flag when full. The input can be either an external signal, or an internally generated signal, equal to 1/480 of the clock crystal frequency. These are the event counter and timer modes, respectively. Dividing the clock frequency by 480 means that, for example, ifthe system clock crystal frequency was 3 MHz, the timer would increment every .16 msec. This is equal to 32 instruction cycles.

When the timer/event counter is full (all ones), the next increment resets the timer/event counter to zero, and sets the Timer Flag (TF). This flag can then be used by the software to decide whether it is time to perform a time- or external event-dependent action. The timer/event counter continues incrementing on each input, regardless of the reset when full, until stopped by software. The instructions used to control and monitor the timer/event counter are described in Paragraph 3-16 and the MCS-48 Microcomputer User's Manual.

3-7

(27)

r -(NOT USED) I

~~l

I

POINTER 9

I-:;:;-J

8

rCI~I~I~11

o I 0 I 0

7 6 5 4 3 2 o

1 I

CI~I~I~I

11 I 10 I 9 I 8 SAVED PC 7

M SB

t

I 6

S~VED iROG~AM C?UNT~R I

4 2 o

LSB

Figure 3-1. Stack Push

[~ I

I I CU~REN~ PRO~RAM .1 fOUNlER .. '.. I

11 10 9 8 7 6 5 4 3

MSB

I I

2 o

LSB

I

(28)

1

,

... (NOTUSED) 1 ________________ ,

r-{::- --- ---:

STACK

POINTER 9 C

I

A I F I B I SAVED PC

,

.

, C O S 11 I 10 I 9 I 8

ICI~I~I~I

1 I o STP BITS I 0 I 1

I

8 S~VED ~ROG~AM CfUNTfR I I

7 6 5 4 3 2 o 7 6 5 4 3 2 o

M SB LSB

I

Figure 3-2. Stack Pop

I ~

I I I RESlOREP PRO,GRAM. COU7TER I - ! '

11 10 9 8 7 6 4 3 2

MSB

I I L o

SB

I

(29)

How the Intel MCS·48 Chip·Computers Work

,.~

2 0 F

9 8 7

9 8

1 0

3-\0

PORTS

REGISTER MEMORY

,.

ACCUMULATOR

I I

I

I

MB

(PCl1) PROGRAM COUNTER

o

I I I I I I I I

jiJ

OBF

o

R

R

R

7jREGISTER BANK 1 1

}Ac<D

FLAGS

R

R R 7

1

o

REGISTER BANK 0

TIMER/EVENT COUNTER

I

I I I I I ! I

I

3-11. Input/Output Ports

o

F1 FFF

PROGRAM MEMORY

EXTERNAL PROGRAM MEMORY

400L-_ _ _ _ _ _ - - '

3FF...---.

000 L -_ _ _ _ _ _ - - '

The MCS-48 chip-computers each have 27 lines which can be used for input/output functions. Comprising 24 of these lines are the three on-chip input/output ports, Bus (or PO), PI, and P2.

Bus is an 8-bit bidirectional port with associated input and output strobes. Ports PI and P2 are identical, latched static ports, i.e., data written out to these ports remains until something else is written there. They are called quasi-bidirectional because they can be driven as inputs when they have been latched high as outputs. (That's because the output impedance of each line is relatively high, so that a standard TTL gate can pull it down.) This quasi-bidirectional operation is described fully in the MCS -48 Microcomputer User's Manual.

Of the remaining three lines, TO and TI serve as external signal inputs, and are testable with conditional jump instructions. INT/ is an input which initiates an interrupt if enabled by software. The relevant instructions are given in the MCS -48 Assembly Language Manual, and the hardware operation is described in detail in the MCS -48 Microcomputer User's Manual.

Prompt 48

ON CHIP

(30)

Prompt 48

P2 PI BUS (PO)

,.~

2 0 F

9 8 7

9 8

1 0

How the Intel MCS-48 Chip-Computers Work

PORTS

REGISTER MEMORY

r

ACCUMULATOR

I I

I

I

MB

(PC11) PROGRAM COUNTER

o

I I I I I I I I

rJ

OBF

o

R

R R

7lREGISTER BANK 1 1

},,,o

FLAGS

R 7

R R o

REGISTER BANK 0

TIMER/EVENT COUNTER

I,

I I I I I I

3-12. External Memory and Ports

o

Fl FFF

PROGRAM MEMORY

EXTERNAL PROGRAM MEMORY

400'--_ _ _ _ _ _ ---'

3FF

r---,

000L-_ _ _ _ _ _ _ ....1

In addition to the on-chip features of the MCS-48 computers, there are several expansion features which require additional hardware beyond the single-chip computer. These are external program memory, external data memory, and external I/O ports.

3-13. External Program Memory. If a given application requires more than the 1024 program memory bytes included on-chip, there is provision for expanding the program memory with up to 3072 additional bytes of external memory, making a total program memory of 4096 (4k) bytes possible. (For details on how to implement program memory expansion, see the MCS -48 Microcomputer User's Manual.)

The external program memory is treated in the same manner as in the 256 byte pages (see Paragraph 3-8). There is, however, an additional condition which must be observed when program memory exceeds 2048 bytes. This is the Memory Bank (MB) address bit, the most significant bit in the 12-bit program counter. (Details on how the MB bit is manipulated are given in Paragraph 3 -17.)

ON CHIP

3-11

(31)

How the Intel MCS-48 Chip-Computers Work

P4

PS

P2 Pl BUS (PO)

EXTERNAL PORTS

-

PORTS

REGISTER MEMORY

ACCUMULATOR PROGRAM MEMORY

F F F r - - - . . . ,

MB

(PC11) PROGRAM COUNTER

o

I I I I I , I I

r',J ('

'""

2 0 F

9 8 7

9 8

1 0

3-12

OBF

o

R

R R

7jREGISTER BANK 1 1

}.e. o

R

R R 7

1

o

REGISTER BANK 0

FLAGS

TIMER/EVENT COUNTER

I

I I I I I I I

o

Fl

EXTERNAL PROGRAM MEMORY

400 L-_ _ _ _ _ _ _ ~

3 F F r - - - ,

OOOL-_____________ ~

3-14. External Data Memory. If the data requirements of an application exceed the capacity of the on-chip 64 bytes of register memory, up to 256 bytes of external data memory can be added. This external data memory is accessed through the accumulator, using one of the RAM pointers for addressing. (Complete hardware details for data memory expansion are given in the MCS -48 Microcomputer User's Manual. The instructions which read and write the external data memory are discussed in Paragraph 3 -17).

Prompt 48

ON CHIP

(32)

Prompt 48 How the Intel MCS-48 Chip-Computers Work

3-15. External Ports. The most efficient means of I/O expansion for small MCS-48 systems is the 8243 I/O Expander Device (part of Intel's compatible MCS-48 family) which requires only 4 port lines (the lower half of Port 2) for communication with the MCS-48 Chip-Computer. The 8243 contains four 4-bit I/O ports which serve as extensions of the on-chip I/O and are referred to in software as P4-P7. The following operations may be performed on these ports:

1. Transfer Accumulator Data to Port 2. Transfer Port Data to Accumulator 3. AND Accumulator to Port (result in Port) 4. OR Accumulator to Port (result in Port)

All communication between the MCS-48 Chip-Computer and ports P4-P7 takes place through the Least Significant Nibble of Port 2 (LSN P2). LSN P2 corresponds to pins P20-P23 on the Chip-Computer. Data is transferred between the LSN of the Accumulator and the specified port (P4-P7). A 4-bit transfer from one of these ports to the LSN of the Accumulator sets the Most Significant Nibble (MSN) of the Accumulator to zero.

Hardware details as well as other options for port expansion are given in the MCS-48 Microcomputer User's Manual. The use of related software instructions is discussed in the MCS-48 Assembly Language Manual.

3-16. Data Paths

We have now introduced all the architectural features on the MCS-48 chip-computers.

These features are the:

a. Accumulator,

b. Register Memory (with Working Registers, RAM Pointers, and Data Storage Registers),

c. Program Counter and Program Memory, d. Stack and Flags,

e. Timer/Event Counter, f. Input/Output Ports, and

g. External Data Memory, Program Memory, and I/O Ports.

The MICRO MAP below shows the path that data can take between these processor elements. In this and in the MICRO MAPS to follow, a single line denotes a data path on which data can flow in either direction, and a line with an arrow on one end stands for a data path on which data can only flow in the direction of the arrow.

Paragraph 3 -17 discusses the instructions which facilitate movement along the various MCS-48 data paths, as well as all other instructions available to the MCS-48 programmer.

3-13

(33)

How the Intel MCS~48 Chip-Computers Work

EXTERNAL PORTS

P4t-_ _ _ -I

P7

~

P6 P5 P4

P2 PI BUS(PO)

IF

19 18 17

8 7

o

FF

00 J

3-14

PORTS

REGISTER MEMORY

EXTERNAL DATA MEMORY

~

R7

l"'~~

BANK 1

Rl RO

}MA"

R7

REGISTER BANK

0 Rl RO

,

TIMER/EVENT COUNTER

Ej ·~I~~I~I_I~I~I~I~

/

ACCUMULATOR

I

PROGRAM COUNTER

01

I I

1

I I I

1

, , I

FFF

COO BFF

800 7FF

1

400 3FF

000

FLAGS

PROGRAM MEMORY

Prompt 48

ON CHIP

7 TIMERJCNT INT 3 EXTERNAL INT

o RESET

Referenzen

ÄHNLICHE DOKUMENTE

The use of reference methods, different quality checks like control charts or ion balances and the participation in ring tests has become mandatory within the ICP Forests program

It is interesting to note that among the various technologies more particularly used for the collaborative work, such as the videoconference, the group calendar and the

The United States needs to help the Philippines develop its own set of “anti-access/area denial” capabilities to counter China’s growing power projection capabilities..

The fre- quency dependent conductivity is interpreted in terms of the jump relaxation model, where translational and reorientational hopping takes place..

The onset of the character- istic dispersion (region II), at the high frequency end of region I shifts towards higher frequencies with increas- ing temperature.. The slopes of the lns

The concept of “world literature” introduced by Goethe at the beginning of the 19th century is based on the assumption that there are certain basic conflicts

The Arab League, on the other hand, intended it as a “take-it-or- leave-it” incentive of major proportions: if Israel makes peace with all its Arab neighbours on the basis of

Every stakeholder was looking for a different outcome: the ITU wished to expand its remit over the Internet, European Telecom operators wanted to secure more revenues by