throbber
Inter Partes Review of Pat. No. 9,165,593
`Petitioner Ex. 1033 p. 001
`
`

`
`The Blacksburg Continuing Education^^ Series
`
`The B l a c k s b u rg C o n t i n u i ng
`o r i e n t ed a p p r o a ch
`
`to e l e c t r o n ic topics. Present a nd
`
`E d u c a t i on Series^^' of b o o ks p r o v i de o
`titles
`
`f o r t h c o m i ng
`
`L a b o r a t o r y — or e x p e r i m e n t-
`in
`
`this s e r i es i n c l u d e;
`
`• D B U G: An 8 0 80
`
`Interpretive D e b u g g er
`
`• Design of A c t i ve Filters, W i th E x p e r i m e n ts
`• D e s i gn of O p - A mp Circuits, W i th E x p e r i m e n ts
`
`• Design of P h o s e - L o c k ed Loop C i r c u i t s, W i th E x p e r i m e n ts
`
`• Design of T r a n s i s t or Circuits, W i th E x p e r i m e n ts
`
`• Design of V M OS C i r c u i t s, W i th E x p e r i m e n ts
`•
`
`The 8 0 8 0A B u g b o o k ®; M i c r o c o m p u t er
`
`I n t e r f a c i ng a nd P r o g r a m m i ng
`
`• 8 0 8 0 / 8 0 85 S o f t w a re D e s i gn (2 V o l u m e s)
`
`• 5 55 T i m er A p p l i c a t i o ns S o u r c e b o o k, W i th E x p e r i m e n ts
`
`• G u i de to C M OS D e s i gn Basics: C i r c u i ts a nd E x p e r i m e n ts
`•
`
`I n t e r f a c i ng a nd Scientific D a ta C o m m u n i c a t i o ns Experiments
`
`•
`
`Introductory E x p e r i m e n ts
`and
`
`I n t e r f a c i ng (2 V o l u m e s)
`
`in Digital E l e c t r o n i cs a nd 8 0 8 0A M i c r o c o m p u t er P r o g r a m m i ng
`
`•
`
`Logic & M e m o ry E x p e r i m e n ts Using TTL
`
`I n t e g r a t ed Circuits (2 V o l u m e s)
`
`• M i c r o c o m p u t e r — A n a l og C o n v e r t er S o f t w a re a nd H a r d w a re
`
`I n t e r f a c i ng
`
`• M i c r o c o m p u t er I n t e r f a c i ng W i th the 8 2 55 PPI C h ip
`
`• N CR B a s ic E l e c t r o n i cs C o u r s e, W i th
`• N CR D a ta C o m m u n i c a t i o ns C o n c e p ts
`
`E x p e r i m e n ts
`
`• N CR D a ta P r o c e s s i ng C o n c e p ts C o u r se
`
`• N CR E DP C o n c e p ts C o u r se
`
`• P r o g r a m m i ng a nd
`
`I n t e r f a c i ng the 6 5 02
`
`• 6 8 00 M i c r o c o m p u t er
`
`Interfacing a nd P r o g r a m m i n g, W i th E x p e r i m e n ts
`
`• 6 5 02 S o f t w a re D e s i gn
`
`•
`• TRS-80
`
`I n t e r f a c i ng
`
`TEA: An 8 0 8 0 / 8 0 85 Co-Resident E d i t o r / A s s e m b l er
`
`• Z-80 M i c r o p r o c e s s or P r o g r a m m i ng &
`
`I n t e r f a c i ng (2 V o l u m e s)
`
`In most cases,
`ili-nioiislrate a nd e x p l o re the concepts that o re c o v e r ed
`111.- vi'iy
`
`t h e se b o o ks p r o v i de both
`
`text m a t e r i al a nd e x p e r i m e n t s, w h i ch permit o n«
`
`in
`
`the b o o k. T h e se b o o ks
`
`to
`r e m a in a m o nu
`l e a rn b a s ic electronic m ii
`wiro a c t u al c i r c u i t s, test microcomputer i n t e r f a c e s, a nd p r o g r am c o m p u t e rs b a s ed on |JO|MI
`t he electronic mrvn M
`
`fow
`
`that p r o v i de step-by-step instructions c o n c e r n i ng how
`
`to
`
`IMI microprocessor c h i p s. We h o ve found
`whtr (^(ir^s to
`
`join
`
`t he " e l e c t r o n i cs r e v o l u t i o n ," w i th minimum
`
`time a nd effort.
`
`AtlilllrurmI i n f o r m a t i on a b o ut the " B l a c k s b u rg G r o u p"
`
`is p r e s e n t ed inside
`
`the
`
`r e ar cover.
`
`Jonathan A. Titus, Christopher A. Titus, a nd David G. Larsen
`
`"The Blacksburg G r o u p"
`
`iin.i ,,v,pl„,l ii.i.lriM.irk N.motran,
`
`Inc., Blacksburg, VA 24060
`
`t
`
`I-.
`
`ri-.l"riMl Ir.idomiirk of E & L Instruments,
`
`Inc., Derby, CT 06418
`
`t h at
`
`t he b o o ks o re v e ry useful
`
`to
`
`8 0 8 0 / 8 0 85
`
`Software Design
`
`Book 1
`
`by
`
`Christopher A. Titus, Peter R. Rony,
`David G. Larsen, and Jonathan A. Titus
`
`Also published as
`
`8080/8085 Software Design
`
`by E & L Instruments, Inc.
`
`HouuQrd ID. Sams & Co., Inc.
`
`4 3 00 W I SI
`
`(iL'NU ST.
`
`I N D I A N A P O L I S,
`
`I N D I A NA 4 6 2 68 U SA
`
`Inter Partes Review of Pat. No. 9,165,593
`Petitioner Ex. 1033 p. 002
`
`

`
`Copyright © 1978 by Christopher A. Titus,
`Peter R. Rony, David G. Larsen,
`and Jonathan A. Titus
`
`F I R ST E D I T I ON
`T H I RD P R L \ T I N G - 1 9 80
`
`All rights reserved. No part of this book shall be
`reproduced, stored in a retrieval system, or transmitted
`by any means, electronic, mechanical, photocopying,
`recording, or otherwise, without written permission
`from the publisher. No patent liability is assumed with
`respect to the use of the information contained herein.
`While every precaution has been taken in the
`preparation of this book, the publisher assumes no
`responsibility for errors or omissions. Neither is any
`liability assumed for damages resulting from the use
`of the information contained herein.
`
`International Standard Book Number: 0-672-21541-1
`Library of Congress Catalog Card Number: 78-57207
`
`Printed
`
`in the United
`
`States of
`
`America.
`
`Preface
`
`Fn the supermarket, the electronic cash register not only performs
`.ill of the tasks of its mechanical predecessor, but it can also perform
`inventory control. Some sewing machines no longer require complex
`and cams to do special stitches. Instead, a microcomputer
`•u':us
`controls the position of the needle when a particular stitch is used.
`[\\c near future, you will probably be able to even "teach" your
`In
`• . ( • w i ng machine the latest stitch.
`
`Although it did not look like a revolution at the time, the Intel
`Corporation introduced the world to the concept of microprocessors
`and microcomputers with its four-bit 4004 microprocessor "chip."
`The microcomputer revolution gained momentum as improvements
`were made in earlier integrated circuits, and more and more manu-
`lacturers began to produce microprocessor integrated circuits and
`microcomputers. Now these devices, made from one of the chemical
`components of purified sand, have begun to truly change the way
`in which we live.
`
`Inst(>ad of using a slide rule to perform complex calculations, cal-
`r n l i i l o rs can be used that have more "power" than state-of-the-art
`coinpntcrs produced 10 or 20 years ago. Watches no longer have to
`counterclockwise
`be wound, and, in fact, the terms clockwise and
`iiiAv s o on be archaic. Today, you can even use a checkbook that elec-
`h i u i i c a l ly keeps track of how much money you have in your check-
`nir, acconnt. No longer do you have to balance your checkbook every
`In the not-too-distant future, microwave ovens may "know"
`n i d i i l l i.
`n n i ic iihont cooking than you do.
`
`( )l conrsc, to use a microcomputer to solve a problem requires
`I I I P I II luirdiimre and software. The hardware consists of the micro-
`(•••sor integrated circuit(s) and possibly some memory inte-
`
`Inter Partes Review of Pat. No. 9,165,593
`Petitioner Ex. 1033 p. 003
`
`

`
`Some current microcomputer users program their microcomputers
`in the BASIC* programming language. To do this, a BASIC inter(cid:173)
`preter, an assembly language program, must be stored in from 5000
`to 8000 memory locations. This assembly language program enables
`you to enter a BASIC program into the microcomputer and actually
`execute it. Like everything else in the world, there are advantages
`and disadvantages to programming a microcomputer in the BASIC
`language. Due to the disadvantages of using the BASIC
`language,
`is often used when programming microcom(cid:173)
`assembly
`puters. This is the type of programming language that we will dis(cid:173)
`cuss in this book.
`
`language
`
`grated circuits, light-emitting diodes, and interface electronics so
`(lights, mo(cid:173)
`that the microcomputer can control peripheral devices
`tors, valves, solenoids, or gauges). The software consists of the
`sequence of instructions that the microcomputer executes so that it
`can process data or control peripheral devices. Unfortunately, the
`design and implementation of software is not as well defined as the
`design and implementation of hardware.
`
`is the
`more difficult of the two to teach and to learn. You cannot write an
`assembly language program in 10 or 15 minutes that will calculate
`the cube roots of all numbers between 1 and 1000 to six significant
`language, you probably could. However,
`digits. Using the BASIC
`there are advantages in using assembly language.
`In fact, many
`tasks can be performed using assembly language
`that cannot be
`performed using the BASIC
`language, particularly in the areas of
`process control, peripheral control, high-speed calculations, and
`real-time data acquisition. In fact, most consumer products that in(cid:173)
`corporate microcomputers are programmed in assembly
`language;
`video (television) games, microwave ovens, sewing machines, elec(cid:173)
`tronic cash registers (point-of-sale terminals), gasoline pumps, and
`is a veiy
`blood-pressure monitors. Therefore, assembly language
`powerful and useful language to learn.
`
`There is no doubt in our minds that assembly language
`
`In the first chapter of this book, we do not discuss any assembly
`language programming, but rather the characteristics of the 8080
`includes a dis(cid:173)
`and 8085 microprocessor
`cussion of the various registers contained within these two integrated
`circuits. These registers are important because you will use them
`time and time again in your assembly language programs. The next
`three chapters deal with the assembly language instructions that the
`8080 and 8085 can actually execute. You will not find long, detailed
`programs in these first few chapters, since you will not have enough
`familiarity with all of the important instructions to understand long.
`
`integrated circuits. This
`
`" B A S IC i.s a registered trademark of the trustees of Dartmouth College.
`
`complex programs. When these iiTstructions are understood, you can
`begin to program the microcomputer in assembly language so that
`it performs useful tasks. The remaining chapters of the book deal
`instructions
`with the application of the 8080's assembly language
`to mathematical operations, number-base conversions, and input/
`output device (peripheral device) control.
`
`There are some unusual features of this book which we believe
`that you will appreciate. We have not included a chapter on binary,
`octal, hexadecimal, and decimal numbering systems. In some of the
`chapters, we do show you how some of these operations are per(cid:173)
`formed using paper and pencil. However, we are personally more
`interested in the instruction sequence that the microcomputer must
`execute to perform these same operations. If you need more informa(cid:173)
`find it in just about
`tion on basic mathematical operations, you can
`any other book on computer programming. You will also
`find that
`the programs in this book can be executed on just about any 8080-
`based microcomputer. We do not have hardware or software exam(cid:173)
`ples that feature one or another manufacturer's hardware. The
`program examples will execute equally well on a MITS, Processor
`Technology, Intel Corporation, National Semiconductor Corporation,
`Digital Group, Control Logic, IMS Associates, or E & L Instruments
`8080-based microcomputer. Of course, peripheral devices may vary
`from system to system just as device addresses may vary from system
`l() system.
`
`In the Input/Output chapter (Chapter 7), we have included the
`(•l(-ctrical schematic diagrams for the devices that we are controlling
`listing of a program that controls a
`with software. A software
`peripheral device is worthless unless you can see how the peripheral
`to the microcomputer. Also,
`device is actually wired (interfaced)
`il yon want to use a particular program on your own microcomputer,
`von will probably need the schematic diagram of the peripheral
`device in order to duplicate the hardware.
`
`In the first three chapters of the book, we have included both
`oelal and hexadecimal op codes for the instructions being discussed.
`\Vc pn^fcn- the octal numbering system. We feel strongly that the
`instructions are easier
`(>l> e()d(\ for the 8080's assembly language
`In remember
`in octal, and when you examine an octal op code, it
`V. easy lo determine the registers or memory locations that are af-
`is
`( I led by lh(! instruction. If the hexadecimal numbering system
`used, (his process is very difficult. On the other hand, many pro-
`I'.iammers prefer the hexadecimal numbering system because they
`oiilv hav(> lo remember a two-digit op code rather than a three-
`d i r il o e l al op code. The only conclusion that we could reach was
`111 nse bolli n i M n b c r i ng systems in our examples. We recommend
`ilial a l)e!';inniiig 8080 Or 8085 programmer use octal, simply because
`
`Inter Partes Review of Pat. No. 9,165,593
`Petitioner Ex. 1033 p. 004
`
`

`
`Another goal that we had was to provide detailed descriptive ex(cid:173)
`planations of how the f)rogram examples operate. We do not say,
`"Here it is, you figure out how it works." You would learn very
`little if this approach were used. Instead, we develop programs,
`starting with the simplest sequence of instructions that can accom(cid:173)
`plish a particular task. These programs often have limitations, and
`if they do, we add instructions so that the microcomputer can better
`perform either a more general-purpose task or a specific task. There(cid:173)
`fore, we design the best solution to a problem, learning from pre(cid:173)
`vious examples.
`
`it is easier to remember. At a later time, it may be more convenient
`to use hexadecimal. If you are unsure of which numbering system
`to use, try both and stay with the numbering system that you are
`the most comfortable with. Hexadecimal numbers are usually found
`in the text bracketed with parentheses; e.g.,
`
`(5F).
`
`As you go through this book, you may notice that the computer
`printouts in the program examples are in a format that is different
`than the formats used by other authors. The reason that we have
`chosen the format that we have is so that newcomers to assembly
`language programming can grasp the concepts of assembly language
`programming. One of the most important concepts is the fact that
`multibyte instructions must be stored in consecutive memory loca(cid:173)
`tions. This concept is difficult to grasp if you look at the computer
`printouts used as examples in other books. For this reason, we have
`the
`written a coresident editor/assembler
`listings that we felt would be most appropriate to a book on as(cid:173)
`sembly language programming. It is important to emphasize that
`once you learn the principles of good assembly language program(cid:173)
`ming, it really does not matter what editor/assembler
`software
`package you use
`language program development.
`Remember, editors and assemblers are only the means to the end.
`They are just tools that are used to aid you in the development of
`a properly operating assembly language program.
`
`(TEA)
`
`that produces
`
`for assembly
`
`One of the nice features of software is that it is easy to print and
`distribute. Because of this, a number of professional and hobbyist
`computer magazines provide listings and source and object paper
`tapes or audio cassettes for the programs in their software libraries.
`Software listings often appear in Electronic Design, Computer De(cid:173)
`(Mc-
`sign, and Electronics.
`Pheters, Wolfe & Jones, Cerritos, CA 9 0 7 0 1 ), SCCS Interface
`(SCCS,
`Santa Monica, CA 9 0 4 0 5 ), Kilobaud and Byte
`(both of Peterbor(cid:173)
`ough, NH 0 3 4 5 8 ), and Dr. Dohhs Journal of Computer Calisthenics
`(Menlo Park, CA 9 4 0 2 5) also have numerous pro(cid:173)
`and Orthodontia
`gram listings. There are also a number of software libraries, includ(cid:173)
`ing the Intel User's Library, 3 0 65 Bowers Ave., Santa Clara, CA
`
`The hobbyist magazines, Interface Age
`
`9 5 0 5 1, and the Microcomputer Software Depository, 2 3 61 E. Foot(cid:173)
`hill Blvd., Pasadena, CA 9 1 1 0 7. Entries in the Depository are listed
`in Interface Age every month.
`
`Tychon, Inc., is dedicated to educating the scientist, engineer, and
`electronics/computer hobbyist in the areas of digital electronics,
`microcomputer hardware, and microcomputer software. We cur(cid:173)
`rently have monthly columns that appear in American
`Laboratory
`(International Scientific Communications, Inc., 8 08 Kings High(cid:173)
`the Thai publication. Semiconductor
`way, Fairfield, CT 0 6 4 3 0 ),
`Journal (Science, Engineering and Education Co., Ltd.,
`Electronics
`Bangkok, Thailand), and the German publication,
`Elektroniker
`(Burgdorf, Switzerland). Our columns also appear in
`Electronic
`News (IPC Business Press Pty. Ltd., Sydney, Australia), Ham Radio
`(Concord, M A ), and Radio-
`(Creenville, N H ), Computer Design
`Electronics
`(New York City, N Y ). Our books are currently being
`translated into Italian, German, French, Spani,sh, and Thai.
`
`If you are interested in learning basic digital electronics, a two-
`Se(cid:173)
`
`Integrated
`
`and Scientific Data Communications
`
`Experiments,
`
`Interfacing
`Experiments
`
`and
`in
`
`volume set of books in the Blacksburg Continuing Education
`ries'™, entitled Logic <Lr Memory Experiments Using TTL
`Circuits, will introduce you to the subject and give you the ability
`10 try student-proven experiments. Another book in the series, In-
`has
`Icrfacing
`been .specifically written for those engineers, scientists, and hobby-
`i'.ls interested in asynchronous communications techniques using
`U A U T s. This book includes experiments that will permit you to use
`;r;vii<'hronous communications techniques
`to interface instrumen-
`l.ilioii to computers or other UART-based devices. Three books in
`i hr N c i i cs have been written about the 8 0 80 microprocessor/micro-
`. u r n p n U i r: The 8080A Bugbook®: Microcomputer
`and a two-volume set, Introductory
`rmrnnnming,
`I >i:'.i(iit I'Jectronics cmd SOSOA Microcomputer Programming and In-
`irilacing. These self-teaching texts describe the design of elementary
`ml. i L i cc hardware and software and how they are applied to prob-
`M. n r ., lh(^ substitution of software for hardware, and many other in-
`11 M'.iing topics. One of our latest books. Microcomputer—Analog
`deals entirely with
`t ',nifi-rtcr
`
`. . . .. . . i n p n l c r s. The number of titles in the Blacksburg
`iihir.ilioii
`
`m l.
`
`I
`
`I t . . I ll
`
`M
`
`. l
`
`l\.
`
`i i i\I I lie programming concepts that are presented
`l i a vr \)c('u incorporated into the material taught at seminars
`
`in this
`
`I I I ..
`
`/...../,
`
`!•.
`
`II K^Kistcred trademark of E & L Instruments, Inc., Derby, CT
`
`I I I, I I 'i
`
`i l l ! '; digital-to-analog and analog-to-digital converters to mi-
`Continuing
`Series™ grows constantly. They are listed on the inside
`
`Software and Hardware
`
`Interfacing,
`
`Inter Partes Review of Pat. No. 9,165,593
`Petitioner Ex. 1033 p. 005
`
`

`
`presented by Tychon, Inc., here in Blacksburg. Three courses are
`(626),
`currently being taught: Designing with Microcomputers
`Microprocessor
`the
`8080/8085 Processors (690). If you are interested in these courses,
`write to The Course Director, Tychon, Inc., P . O. Box 242, Blacks(cid:173)
`burg, VA 24060. Courses are also provided through the Center for
`Continuing Education and the Extension Division at Virginia Poly(cid:173)
`technic Institute and State University, Blacksburg, VA 24061. Call
`Dr. Linda Leffel at (703 ) 961-5241 for further information.
`
`Interfacing (628), and Software Design for
`
`Again, we would like to thank Mr. Murray Gallant of E & L In(cid:173)
`struments, Inc., for his continued support of our educational efforts.
`
`CHRISTOPHER A. TITUS
`PETER R. RONY
`DAVID G. LARSEN
`JONATHAN A. TITUS
`
`Contents
`
`I J I ST OF PROGRAM EXAMPLES
`
`CHAPTER 1
`
`AN INTRODUCTION TO THE 8 0 8 0 / 8 0 85 MICROPROCESSORS
`
`The 8080 Microprocessor—Machine and Assembly
`in This
`8085 Microprocessor—Conventions Used
`Format-Similarities Between the 8080 and 8085
`
`Language—The
`Book—Program
`
`CHAPTER 2
`
`l
`
`i
`
`i
`
`j; BASIC 8080/8085 INSTRUCTIONS
`
`Instructions—Using R/W M e m o ry for Data
`'I'lio Data-Movement
`Instructions—Simple Register Pair
`.Storage—The Move-Immediate
`Instructions—Input and O u t p ut Instructions—The Eight-Bit Logical
`Instructions—Mathematical
`and Mathematical Instructions—Logical
`liislructions—Branching, Transfer-of-Control, and Decision-Making
`11 IN 1 n ictions—Conclusion
`
`11
`
`17
`
`29
`
`CHAPTER 3
`
`' . u n i K i i ir INKS AND U SE OF T HE BASIC INSTRUCTIONS
`
`81
`
`( liilliriK Subroutines—Time-Delay Subroutines—Conditional Call and
`l l i l i i r ii Instructions—Using the Basic Instructions—I/O Device Syn-
`I /O and Character Manipulations—
`iliioiii/ulion—Teletypewriter
`I. I i i v p i w r i t cr and Terminal Programs — An Electronic
`L o c k—
`
`Inter Partes Review of Pat. No. 9,165,593
`Petitioner Ex. 1033 p. 006

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket