manual order number 9800451b - amaus.net sdk... · memory substitution errors 4-9 ram-i/ocommand...

105
.. SDK-a5 System Design Kit Users Manual Manual Order Number 9800451 B ..... "'"----------------.1 .

Upload: others

Post on 08-May-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

..

SDK-a5System Design KitUsers ManualManual Order Number 9800451 B

.....

"'"----------------.1 DUlJ~~® .

Page 2: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

SDK-a5System Design KitUsers ManualManual Order Number 9800451B

Copyright © 1978 Intel Corporation

Intel Corporation, 3065 Bowers Avenue, Santa Clara, California 95051

Page 3: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Additional-copies of this manual or other Intel literature may be obtained from:

Literature DepartmentIntel Corporation3065 Bowers AvenueSanta Clara, CA 95051

The information in this document is subject to change without notice.

Intel Corporation makes no warranty of any kind with regard to this material, including, but not limitedto, the implied warranties of merchantability and fitness for a particular purpose. Intel Corporationassumes no responsibility for any errors that may appear in this document. Intel Corporation makes nocommitment to update nor to keep current the information contained in this document.

Intel Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied inan Intel product. No other circuit patent licenses are implied.

Intel software products are copyrighted by and shall remain the property of Intel Corporation. Use,duplication or disclosure is subject to restrictions stated in Intel's software license, or as defined in ASPR7-104.9(a)(9).

No part of this document may be copied or reproduced in any form or by any means without the priorwritten consent of Intel Corporation.

The following are trademarks of Intel Corporation and may be used only to describe Intel products:

iICEiCSInsiteIntelIntelevisionIntellec

iSBCLibrary ManagerMCSMegachassisMicromapMultibus

MultimodulePROMPTProm wareRMXUPI!,Scope

ii

and the combination of ICE, iCS, iSBC, MCS, or RMX and a numerical suffix.

I A164/0280/25K FL I

Page 4: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

CONTENTS

CHAPTER 1DESCRIPTION . 1-1 Move Memory Command, M 4-11

Substitute Memory Command, S . .4-12CHAPTER 2 Examine/Modify CPU RegistersHOW TO ASSEMBLE THE KIT Command, X 4-12

GENERAL. 2-1 Programming Debugging -

GETTING ORGANIZED 2-1 Breakpoint Facility . 4-13

SELECTING TOOLS AND MATERIALS 2-2 Error Conditions - Invalid Characters. 4-13

UNPACKING AND SORTING PARTS 2-3 Address Value Errors 4-13

A REVIEWOF BASIC ASSEMBLY ANDSOLDERING TECHNIQUES 2-6 CHAPTER 5

ASSEMBLY PROCEDURE. 2-7 THE HARDWARE

OVERVIEW 5-1CHAPTER 3 SYSTEM COMPONENTS 5-1FINAL ASSEMBLY AND CHECKOUT The 8085 CPU & The System Buses 5-1GENERAL. 3-1 The 8155. 5-1STRAPPING OPTIONS 3-1 The 8355 & 8755 5-2

POWER SUPPLY WI RING. 3-1 The 8279 . 5-2INSTALLING LARGE IC DEVICES 3-4 The 8205. 5-2STARTING THE FI RST TIME 3-6 SDK-85 MEMORY ADDRESSING. 5-3WHAT IF IT DOESN'T? . 3-7 INPUT/OUTPUT PORT ANDCONNECTING A TELETYPEWRITER 3-8 PERIPHERAL DEVICE ADDRESSING. 5-5

Accessing the 8279 Keyboard/DisplayCHAPTER 4 Controller 5-5OPERATING INSTRUCTIONS PROCESSOR INTERRUPT

WHAT IT DOES . 4-1 ALLOCATION 5-7

THE BUTTONS AND DISPLAYS 4-1 THE SERIAL DATA INTERFACE. 5-7

Reset 4-2 CONVERTER CIRCUIT FOR

Substitute Memory 4-2 RS232C SERIAL PORT. 5-8

Examine Registers 4-4 ADDITIONAL INTERFACES 5-8

Go 4-6Single Step 4-8 CHAPTER 6Vector Interrupt . 4-9 THE SOFTWAREProgram Debugging - THE SDK-85 MONITOR. 6-1

The Use of Breakpoints 4-9 PROGRAMMING HINTS 6-1Error Conditions - Illegal Key 4-9 Stack Pointer 6-1Memory Substitution Errors 4-9 RAM-I/O Command Status Register (CSR) 6-1

TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines 6-1Console Commands. 4-9 PROGRAMMING EXAMPLES 6-1Use of the Monitor for Programming

and Checkout . 4-10 APPENDIX A.Command Structure 4-10 MONITOR LISTINGDisplay Memory Command, D 4-10Program Execute Command, G 4-10 APPENDIX BInsert Instructions into RAM, I 4-11 DIAGRAMS

iii

Page 5: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Figure 1-1. SDK-85 System Design Kit

1-0

Page 6: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

The MCS-85 System Design Kit (SDK-85) containsall the parts with which you can build a complete8085 microcomputer system on a single board, anda library of MCS-85 literature to help you learn touse it. The finished computer has the followingbuilt-in features:

• High-performance, 3-MHz 8085A cpu (1.3 llS

instruction cycle)

• Popu lar 8080A Instruction Set

• Direct Teletypewriter Interface

• Interactive LED Display

• Large Wire-Wrap Area for Custom-DesignedCircuit

• System Monitor Software in ROM

You can assemble the kit in as little as 3 to 5 hours,depending upon your skill and experience at buildingelectronic kits. Only a 5 Volt power source capableof delivering 1.3 Amperes is then needed to makethe computer operate, using its built-in display andkeyboard. If you wish to interface a Teletypewriterto the SDK-85, you will also need a -10 Volt powersupply. After you have completed the basic kit,you may expand both memory and I/O by addingmore RAM-I/O or ROM-I/O devices in the spacesprovided for that purpose. Other spaces are allocatedfor bus expansion drivers and buffers that allow youto address and use external devices located eitherin the wire-wrap area of the board or off the board.You can, for example, access up to 64K of externalmemory via the expansion bus.

CHAPTER 1DESCRIPTION

SDK-8S SPECIFICATIONS

Central Processor

CPU: 8085A

Instruction Cycle: 1.3 microsecond

Tcy : 330 ns

Memory

ROM: 2K bytes (expandable to 4K bytes)8355 or 8755

RAM: 256 bytes (expandable to 512 bytes) 8155

Addressing: ROM 0000-07FF (expandable to OFFFwith an additional 8355 or 8755) RAM 2000­20FF (2800-28FF available with an additional8155)

Input/Output

Parallel: 38 lines (expandable to 76 lines).

Serial: Through SID/SOD ports of 8085. Softwaregenerated baud rate.

Baud Rate: 110

Interfaces

Bus: All signals TTL compatible.

Parallel I/O: All signals TTL compatible.

Serial I/O: 20 mA current loop TTY.

Note: By populating the buffer area of the board,you have access to all bus signals whichenable you to design custom system expan­sions into the kit's wire-wrap area.

1-1

Page 7: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Interrupts

Three Levels: (RST 7.5) - Keyboard Interrupt(RST 6.5) - TTL Input(I NTR) - TTL Input

DMA

Hold Request: Jumper selectable. TTL compatibleinput.

Software

System Monitor: Preprogrammed 8755 or 8355ROM

Addresses: 0000-07 FF

I/O: Keyboard/Display or TTY (serial I/O)

Literature

Design Library (Provided with kit):

• SDK-85 User's Manual

• Microcomputer Systems Databook

• MCS-85 User's Manual

• 8080/8085 Assembly Language ProgrammingManual

Physical Characteristics

Width: 12.0 in.

Height: 10 in.

Depth 0.50 in.

Weight: approx. 12 oz.

Electrical Characteristics (DC Power Required)

Vee: +5V ± 5% 1.3A -

VTTY : -10V ± 10% 0.3A

(VTTy required only if teletypewriter is to be con­nected to the kit)

Environmental

Operating Temperature: 0-55° C

Figure 1-2. Finished Computer

1-2

Page 8: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

2-1 GENERAL

Don't unpack your parts yet. Do a little readingfirst, and you may save yourself time and expense.

I CAUTION IThe metal-oxide-semiconductor (MOS)devices in this kit are susceptible to staticelectricity. Do not remove them fromthe protective, black foam backing sheetuntil you have read the precautions andinstructions in paragraph 2-4.

This manual was published only after the assemblyof several kits by a number of persons of varyingexperience. In this chapter you will find virtuallyeverything you need to know to put together yourMCS-85 System Design Kit.

There are suggestions for laying out an efficientwork area. All of the tools and materials you needare described in a checklist. There is a completeand detailed parts list. Basic assembly and solderingtechniques are reviewed. Following the step-by­step assembly instructions in this chapter, youcan't go wrong.

If you're an experienced kitbuilder, you alreadyknow that it's not a bad idea to read through thisentire chapter first, before starting the job. That

CHAPTER 2HOW TO ASSEMBLE THE KIT

way, there won't be any surprises later. Take yourtime. Don't rush, and don't skip over quality­checking each step you perform. Desoldering,removing, and replacing just one DIP componentbecause it was not oriented properly when firstinstalled will cost you more time than double­checking all of them. Your objective is surely toproduce a working computer, not to win a race.

2-2 GETTING ORGANIZED

Before starting work, it's a good idea to plan andorganize your workplace. Be sure you have roomto accommodate this book, lying open, and alsothe circuit board, along with tools and the hotsoldering pencil. Unless you have the cordless,battery-powered soldering instrument, you'll wantto arrange its cord out of the way to keep fromaccidentally pulling the soldering pencil off itsholder. A muffin pan, an egg carton, or some smallboxes could be used to sort parts into, if you don'thave the traditional plastic, compartmented partsboxes. It might be helpful, too, to write the partvalues and reference designators on small cards asyou sort them, and put these with the parts forquick identification. Arrange everything withincomfortable reach, and you'll do the job quicklywith Iittle chance of errors.

2-1

Page 9: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

2-3 SELECTING TOOLS ANDMATERIALS

These tools and materials will be required toassemble the kit:

o Needle-nose plierso Small Phillips screwdrivero Small diagonal cutterso Soldering pencil, not more than 30 watts,

with extra-small-diameter tip. (1/16 in. isn'ttoo small.) You should also have a secureholder for it.

o Rosin-core solder, 60:40 (60% tin), smalldiameter (.05 in. or less) wire

Note: Soldering paste is not needed. Thesolder will contain sufficient flux.

o Volt-Ohm-Milliammeter

PHILLIPSSCREWDRIVER

NEEDLE-NOSEPLIERS

DIAGONALCUTTERS

VOLT-OHM-MILLIAMMETER

",:'~R BRAID~COP~~~CK)

It is also useful to have the following:

o Soldering aid, with a small-tipped fork at oneend and a reamer at the other, to help incoaxing component leads into holes andmanipulating small parts.

If you should happen to make a soldering error andhave to remove solder from joints, the job will bemade much, much easier if you have the following:

o Solder sucking device, either the bulb variety(shown) or the pump variety

o Large-area desoldering tip for your solderingpencil, to spread heat over several leads of anIC device at the same time

o Length of copper braid to sop up solder like asponge

Note: It is extremely difficult to remove DIPcomponents using just a solderingpencil.

2-2

SOLDERSUCKER

DESOLDERING

~SOLDERING

AID

Page 10: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

2-4 UNPACKING AND SORTINCPARTS ICAUTION I

The MCS-85 System Design Kit is shipped skin­packed on a card that includes a conductivebacking to protect its metal-oxide-semiconductor(MOS) devices from static charge. Don't remove thefour larger-size Intel devices from the foam backinguntil you have completed all of the instructions inth is chapter and are ready to place them on theboard. As a further protection. against possibledamage, these four devices are to be installed insockets, rather than soldered on the board.

Don't remove the other componentsfrom the skin-pack. The black foambacking is an electrically conductivematerial that protects the integrated­circuit devices from static electricity aswell as from physical damage to theirleads and ceramic substrates.

Underneath the two bags of small parts andhardware will be found:

With a knife or sharp-pointed scissors, slit the filmaround the edges of the small-parts bags in thelower left corner of the skin-pack and removethem. First, open the bag of hardware and check tobe sure you have:

o Red plastic window (covered with protectivepaper)

o Two strips of double-coated adhesive tape

o 9 nuts @

o 9 screws, 3/4 in. long @ijj@j@@jjjmiijijwmyJ

o 18 Nylon washers @ ADHESIVETAPE

RED PLASTICWINDOW(FILTER)

9 rubber feet •

9 Nylon spacers, 7/16 in. long

o

o

2-3

Page 11: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Resistors, 1 Watt

Resistor, 1/2 Watt

R1

C1

C5,20

c;;;;;;;=::==?()) ))) )F=~

100 Ohm (brown­black-brown)

22 p.f, 15V

1 p.f, 25V

0:;:;1

1 ==8llllJ==::Jo 200 Ohm (red-black- R34

brown)

o 430 Ohm (yellow- R35orange-brown)

o

o

o 2

Capacitor, tantalum

Capacitor, mono

Next, open the bag of electrical parts and sortthem out by type and value. Give yourself plentyof unobstructed work space and try not to let tinyparts skitter away from you. The bag should yieldthe following:

Resistors, 1/4 Watt

<:JDD0 8 24 Ohm (red- R11, 14, 17,20,

yellow-black) 23,26,27,30

0 47 Ohm (yellow- R5violet-black)

0 200 Ohm (red- R33black-brown)

0 6 270 Ohm (red- R10, 13, 16, 19,violet-brown) 22,25

0 2 1k (1,000) 0 hm R4,31(brown-black-red)

0 1.6k Ohm (brown- R3blue-red)

0 2.7k Ohm (red- R6violet-red)

0 9 3k Ohm (orange- R7,9, 12, 15, 18,black-red) 21,24,28,29

0 3.9k Ohm (orange- R8white-red)

0 4.7k Ohm (yellow- R2violet-red)

0 51 k Ohm (green- R32brown-orange)

Resistor Color Code

Resistors are commonly identified by meansof a code using color bands. Each color repre­sents a number.

The first three bands employ the color codebelow:

Black 0 Green 5Brown 1 Blue 6Red 2 Violet 7Orange 3 Gray 8Yellow 4 White 9

The fourth band indicates percentagetolerance of the resistor value.

First significant digit

Second significant digit

Number of following zeroes

Gold = 5%; silver = 10% tolerance

2-4

Page 12: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Capacitor, ceramic

104

o 6 alphanumeric LED (light-emitting diode)displays

D51-6

o 24 pushbutton switches, with keycaps labeled

o 7 0.1 Ilf e11-16,18

Transistor

o 16 2N2907 transistors 01-16 51-24

Besides the small-parts bags, the skin-pack contains:

A16

A1l

A14

A13

8085A microprocessor (cpu)

8355 (or 8755) ROM (read-onlymemory) with I/O (input/out­put) ports

8155 RAM (random-access, read­write memory) with I/O portsand timer

8279 keyboard/display interface

Note: It's a good idea to check all switcheswith the ohmmeter before installing.If one is bad, you'll save a lot of work.

Large, 40-pin ICs (integrated circuits)

o

oo

o

Y16.144 MHz

Crystal, clock

o 4 40-pin DI P (dual in-line package) socketsfor the four large integrated circuits in­cluded in the kit

o 1

2-5

Page 13: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Small, 16-pin les

D 1

D 1

8205 address decoder

74LS156 scan decoder

A10

A12

bottom or left-to-right, and to form theleads of parts with values printed on them sothat the values are legible after assembly.

3. Fit each part in place and see that no unduestress is placed on the leads. Double-check andbe sure you have the correct part inserted inthe correct holes, properly oriented. Don'ttrim leads before soldering.

I CAUTION ILarge-scale integrated circuits are fragile!Dropping, twisting, or uneven pressuremay break them. The discharge of staticelectricity can destroy them internally.Leave them embedded in the conductive­foam backing sheet until ready to installon the board. Never press down hardupon, twist, or bend the larger devices.Touch the exposed metal traces of theboard with your hand before insertingone in its socket. The soldering of largedevices directly on the circuit board isnot recommended.

2-5 A REVIEW OF BASICASSEMBLY AND SOLDERINGTECHNIQUES

The steps to producing a professional qualityassembled circuit board are:

1. Have your work area organized before startingwork, and keep it that way. (See paragraph2-2.) Sort all parts into bins, cups, trays orboxes so they will be easily located by valuewhen needed.

2. To prepare a part for soldering, bend its leadscarefully with needle-nose pliers to make thepart fit exactly the way you want it to.

It is good practice to orient color-coded resis­tors so that the codes are readily read, top-to-

2-6

4. When ready to solder, be sure your solderingpencil is hot enough to melt solder quickly.Then turn the board face-down on your worksurface. If necessary, hold the parts you areabout to solder in place while turning it overso they won't fall out, and place somethingunder the board to hold the parts in positionwhile you solder on the back surface of theboard. Some people prefer to crimp the leadsto hold the parts in place. That's all right, too.

5. Bring the point of your soldering pencil intocontact with the pad to be soldered, simulta­neously also touching the lead.

6. At once, touch the end of the solder wire tothe pad and lead, opposite the pencil tip. Theamount of time required to melt the solderwill depend upon the amount of foil surfacethere is on the board to carry away heat byconduction. The smallest pads will heat up inless than a second with a 25- or 30-wattpencil; large, ground-plane areas may requireover five seconds.

7. The instant you see and feel the solder start tomelt, withdraw the solder wire from the joint.Only a tiny drop of solder is needed to make agood joint.

8. The instant you see the solder draw into thehole, become shiny, and spread smoothly overthe surface of both pad and lead, withdrawthe soldering pencil. It will take only amoment for th is to happen after step 7.

9. Don't reheat a joint unless there's somethingwrong with it: not enough solder, too muchsolder (causing a "bridge" to an adjacent pador trace), or a "cold solder joint," which

Page 14: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

appears dull on the surface or does notsurround the lead completely and fill the hole.

Note: A little rosin from the solder core,remaining on the board, does no harm.Don't try to clean it off.

light between the soldered pad and any adjacentpads or traces that aren't supposed to be connectedto it, it might be well to sl ip a solder-sucker or wickover the lead under examination, quickly remeltthe solder and draw off the excess.

2-6 ASSEMBLY PROCEDURE

Follow these instructions in order and make acheck mark in the box opposite each step when itis completed.

I

~II

®II

•II

®

D First, place the board on your work surface,lettered side up.

D Install the nine rubber feet. Eight go aroundthe edge of the board, and one goes near themiddle of the board, to the left of the key­board and display area. At each location, pressa nut into the recess in a rubber foot, string awasher on a screw, and insert the screwthrough the hole in the board from the top.

Place a spacer, then another

'

washer on the screw, thenplace the nut and foot onthe end of the screw, andtighten, with the screwdriver,just enough to hold the footfirmly.

Note: Do not apply soldering paste to the work.Fluxing is not required in printed-circuitsoldering, as the boards and componentleads are plated or tinned to prevent oxida­tion of the copper.

2. Use enough heat to cause solder to flow intothe hole in the board and around the leadthat's being soldered into it.

~ WARNING I

1. Use no more heat than absolutely the mini­mum that will make a solid joint.

10. CI ip off the excess length of lead that projectsbeyond the solder "bead," within 1/8 inch ofthe board. Save cut ends to use for strappingoptional connections. (See paragraph 3-2.)

There are two important conditions that governgood soldering technique. They are:

Avoid eye injury when clipping excesslead ends. Hold lead end as you clip it,so it can't fly up in your face.

These conditions are both met simultaneously andeasily only if you are careful, have the proper tools,and arrange your workplace so that the circuitboard can lie flat while you apply steady, firm (butnot hard) pressure with the soldering pencil withoutslipping. A small-diameter soldering tip is a must!Likewise, small-diameter solder wire is essential toachieving satisfactory results.

Always inspect carefully for cold solder joints,solder bridges, or (perish the thought!) lifted tracesafter each soldering operation. A good way tocheck for solder bridges is to hold the newly­soldered connection up to a light. If you can't see

2-7

Page 15: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

o Install capacitor C1 near the top edge of theboard.

o Solder C1 in place. Clip excess lead ends.

~ WARNING IAvoid eye injury. Hold lead ends as youclip them so they can't fly up at you.

Assembly of TTY Interface Area-

o

o

J7

<"l

'"

o

a(9

( .. __ . ! ~o

POWER

+'~:J~~GND'ERS --,

o

o Install a 100 Ohm, 1/2 Watt resistor (brown­black-brown) at R1.

Install a 4.7k Ohm resistor (yellow-violet-red)at R2.

/

Install a 1.6k Ohm resistor (brown-blue-red)at R3.

Install a 1k Ohm resistor (brown-black-red) atR4.

o Install a 47 Ohm resistor (yellow-violet-black)at R5.

o Install a 2.7k Ohm resistor (red-violet-red) atR6.

o Solder the six resistors in place, then clip theirexcess lead ends.

o Install a 1 uf capacitor at C5, and solder andclip it.

o Install a 200 Ohm, 1 Watt resistor (red-black­brown) at R34.

o Install a 430 Ohm resistor (yellow-orange­brown) at R35.

o Solder these two resistors in place, then clipthei r excess Iead ends.

o Install transistors Q1 and Q2, and solder andclip them.

2-8

Page 16: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

o A 16, for the RAM-I/O device, an 8155.

o Solder the three sockets in, and check carefullyfor solder bridges.

9 11

GO

VECTINTR

OSl

RESET

SINGLESTEP

C20

~ SUBST EXAM

~ R31MEM REG

--e=t- R32

Q'"NEXT EXEC

?\10 0Q412

V'_N ~CiCi ii

ADDRESS

DECODER hKEYBO

-loA~ m,ou

e L LO'

-----------' .

8755 (8355)

LOC 0800H-OFFFH

PORTS 8H-BH

13 14 ~C17

8155

LOC 2800H-28FFH

PORTS 28H-20H

17 18 19

ClK

28

30 A15

20 21

IPORT I

~

IPORT 0

---l

"IPORT 9

~

I

---l

TIMER oUT/IN

IPORT 2AH

.-l

IPORT 29H

.-l

LJLJn

I 3132PORT

--.-J 2.3H

"I33

PORT 22H

~

"IPORT 21t-!

~

N N

C19

LJ A17J5

II

~-,PORT 2BH---.J

LJ

Assembly of Processing Area

The processing area includes the clock crystal,address decoder, cpu, RAM-I/O and ROM-I/O areas,and related components.

'~, '!i.. ....

o Install the crystal at Y1, with its leads bent sothat the device lies flat on the board in thespace outlined for it.

o Take a piece of scrap wire trimmed from acomponent previously mounted on the board.Bend it into the shape of a staple. Install itover the crystal, to hold it firmly in place.

o Solder the four connections just made.

o Install the 8205 address decoder at A 10 andsolder it.

o A 11, for the 8085 cpu.

o A 14, for the PROM (ROM)-I/O device, an8755 or 8355.

Install three DIP sockets, crimping the corner leadsof each to hold in place, at:

2-9

Page 17: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Install 0.1 uf ceramic capacitors at:o

o

o

Install a 3k Ohm resistor (orange-black-red) atR7.

Install a 3.9k Ohm resistor (orange-white-red)at RB.

Solder these two resistors and clip off theirlead ends.

ooo

C16

C1B

Now solder the capacitors you have installed,and clip off their excess lead ends.

Install three 0.1 uf ceramic capacitors at:

LJ

9 11

RESET VEerINTR

] SINGLEGOSTEP

SUBST EXAM

R31MEM REG

R32

NEXT EXEC

8085

ADDRESSDECODER I KEYBD

cp~'''__J_ IA~

110~ KEYBOARon LO(v

--------...,j .

8755 (83551

LaC OOOOH-07FFH

PORTS 0-3

8755 (8355)

LaC 0800H-OFFFH

PORTS 8H-BH

15 16

13 14 C) C17

81S5

LOC 2800H-28FFH

PORTS 28H-2DH

8155

LaC 2000H-20FFH

PORTS 20H-25H

A15

,..--- PROM(ROM) I/O

17 18 19

CLK

TIMER oUT/IN

IPORT 2AH

~

IPORT 29H

~

LJLJn

IPORT I

-l20 21

IPORT 0

~

IPORT 9

~

I

-,M M

LJ 28

n 30

I 31PORT 32~2.3H

I33

PORT 22H

~A16

I

~PORT 21H

~

N N

C19

LJ AI7J5

~II

IPORT 28H-!

C11

C12

C13

Solder them and clip off excess lead length.

Install a 1 uf capacitor at C20.

Install a 1k resistor (brown-black-red) at R31.

Install a 51 k resistor (green-brown-orange) atR32.

Install a 200 Ohm resistor (red-black-brown)at R33.

Solder these four components in place andtrim their leads.

ooooooo

o

o

2-10

Page 18: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Assembly of Keyboard and Display Area

Find where the row of resistors, R9 through R30,go. Install eight 3k resistors (orange-black-red) at:

lESS

JDER hKEYBOARD AND DISPLAY

) ] H Al~ sc~4JSb~~ODER~ Q• v

1Iou.. "~3 KEYBOARD DI:~::Y CONTROLLER

-. LOC 1800H1900H.

9 11

S25,----,KEYBOARD: ~122

SETL1~1 ~123~ i

10 12 DISPLAY DRIVERS I 124

D~~6~~D~~D~ND~~D~r:li

iXi~' ·~(dlm·.·ri~EQ~h ~a~a~a ~h 016

~_O_ll_~~~SOI3 014 I 015 ,-~A--'

DODD DOl--_DS_l DISPLAYS ~D_S6-----.J1

D R9

D R12

D R15

D R18

D R21

D R24

D R28 (Careful-the location pattern changeshere!)

D R29

D Now solder all eight resistors in place and cliptheir excess lead ends.

RESETVECT DINTR

SINGLE GO8

ASTEP H

SUBST EXAM 4 S 6 7MEM REG SPH SPL PCH PC L

NEXT EXEC 0

0

2-11

Page 19: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Install six 270 Ohm resistors (red-violet-brown) at:A7~DATAuius BUFF UA~ '~JVV. .DRESSCODER 1hKEYBOARD AND DISPLAY

205 ] 25 S 74LS156 l n26 A12~ SCAN DECODER I I27 L ~ ':

I 11~A~. ""~:;: :O~~;~:"~N"m" C

24

S25

7PC L

o

KEYBOARDTTY

SELECT

6PCH

5SPL

o

4SPH

EXAM

REG

EXEC

10 12 DISPLAY DRIVERS

~ 04 OS 06, r 08

\ .'_NY:"';'''OOC,O_' 'M ...

r'----../ _~"--__~/_...1~ _..... NN ~ N~~

Cl'Cll: OCO:: Cll:ClI:: Cll::Cll:: ClCCl'

9 11

NEXT

SUBSTMEM

0 R10

0 R13

0 R16

0 R19

0 R22

0 R25

0 Solder these six resistors and clip their excesslead ends.

2-12

Page 20: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

A7!DATA-ius BUFF '1jAf .,-~~ y~ .,.." JUI'DRESSCODER] hKEYBOARD AND DISPLAY

205 ] 25 ~ 74LS156 l 0J ~ ID~A1~3. l~"""'~ 'CAN ""om" ~

KEYBOARD DISPLAY CONTROLLER

LOC 1800H1900H

Install eight 24 Ohm resistors (red-yellow-black) at:

0 R11

0 R14

0 R17

0 R20

0 R23

EJ R26

0 R27 (Again, note the change in locationpattern.)

0 R30

0 Solder these eight resistors and clip theirexcess lead ends.

SUBSTMEM

NEXT

9 11

EXAMREG

EXEC

4SPH

o

5SPL

S25

KEYBOARDiTTY

SElECT

6PCH

7PCL

o

24

2-13

Page 21: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

24

525

'-_.

016

A

0812 DISPLAY DRIVERS

4 06 07

GO

VECTINTR

1003

9 11

09

'";~ ~ ri ~: ~~ ~~ ~ ~

t~@(W @(W L~6."~~'~~/ ~// ~ ~

A7!DATA-BUS BUFF 'tt[ ,~_vv JAf '~Lm JJ IDRESSCOOER 1hKEYBOARD AND DISPLAY

205 ] 25 ~ 74LS156 l 0;~ A12( SCAN DECODER~ ..

I __ AI3 • v

J OV'

A

' ~ KEYBOARD DI:~::Y CONTROLLER., LOC 1800H

1900H

011 012 013) '0[JrJ~D a" OA~J1

I 051 056DISPLAYS ----------'

]

RESET

SINGLESTEP

Install fourteen 2N2907 transistors in two rows.Position the seven transistors in the top row so thattheir indexing tabs point upward and to the left, at:

o Q3

o Q4

o Q5

o Q6

o Q7

o Q8

o Q9

Position the seven transistors in the bottom row sothat their indexing tabs point down and to theright, at:

o Q10

o Q11

o Q12

o Q13

o Q14

o Q15

o Q16

o Press all of the transistors down to about1/8 inch from the surface of the board. Letthem stand approximately straight up. Then,turn the board over and solder all of theirleads in place and trim the lead ends.

sUBsTMEM

EXAMREG

4sPH

5sPL

6PCH

7PC L

NEXT EXEC o

o

2-14

Page 22: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Install two 0.1 uf ceramic capacitors at:

Be careful to orient the six alphanumeric LEDdisplays so that the decimal points are even withthe bottom of the digits and install at:

525I-~

KEYBOARD: ~122SETL~~T '" 1

23

~ 124

DS6

RESET VECTINTR

SINGLE GO ASTEP

SUBST EXAM 4 5 6 7MEM REG SPH SPl PCH PC L

NEXT EXEC 0

0

DS1

DS2

DS3

DS4

DS5

DS6

Note: Don't install the red filter over the displayyet. It's a good idea to wait until after finalassembly and checkout to do this, on theremote chance that you might have toremove one of the character displays.

o C14

o C15

o Solder the leads and clip them off close to theboard.

Note: If these components are provided with long,wirewrap leads, you will probably find iteasiest to insert, solder, and clip them oneat a time because of crowded quarters. Theorder shown above with the board turnedbottomside up will be most convenient foryou if you hold the soldering pencil in yourleft hand. If you solder right-handed, youmay prefer to work from DS6 to DS1.

oooooo

o Install one of the 40-pin DIP sockets, for the8279 Keyboard-Display Controller, at A 13,and solder it in.

o Install the 74LS156 scan decoder at A 12, andsolder it.

2-15

Page 23: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

The easiest method of doing this is to insert eachbutton in its turn, bend its leads over on the backof the board to hold it in place, and go on until allbuttons are in place, then solder all of them in onepass, with the board lying flat on the work surfaceand weighted down to make sure the switches areuniformly held firmly against the front surface ofthe board.

o RESET o VECT DC 00 o E o FINTR

o SINGLE o GO 0 8 0 9oA o BSTEP H l

o SUBST o EXAM 4 5 6 7MEM REG oSPH oSPl oPCH opCl

0 Install the twenty-four pushbutton switchesthat make up the keyboard. Be sure each o NEXT o EXEC 00 01 o 2 0 3

, I

button is rightside up and in its proper positionbefore solderi ng. 0 All soldered in place

2-16

Page 24: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

CHAPTER 3FINAL ASSEMBLY AND CHECKOUT

3-1 GENERAL

Now that most of the components are soldered onyour circuit board, it's time to give your handiworka quick visual check to make sure all of the devicesare oriented correctly. The notched ends of the ICsshou Id all be toward your left, and the decimalpoints of the LED displays should be at the bottomline of the characters.

It is recommended that the basic kit computerbe checked out using the procedure in this chapterbefore adding any external options such as tele­typewriter or expansion memory. It is well for youto have the assurance that you have a working cpuand display-keyboard before you add peripheralsto your system. It is therefore recommended thatyou first wire the strapping options in Table 3-1for the 8355 (or 8755) ROM-I/O that was furnishedwith the kit (and contains the SDK-85 SystemMonitor). Then install the strap in Table 3-2 forkeyboard operation, and in Table 3-4 for the basickit without expansion memory. (See paragraph 3-2.)

Paragraph 3-3 tells you how to hook up power tothe MCS-85 System Design Kit, and paragraph3-4 tells you how to start it up and see if it'sworking right. The subsequent paragraphs list theadd-on options you can use without inventing anynew circuitry on the board or off.

3-2 STRAPPING INSTRUCTIONS

The MCS-85 System Design Kit will accept 8355or 8755 ROM-I/O devices at positions A 14 andA 15. These different devices are not completelyelectrically interchangeable, so you must make thestrapping connections in Table 3-1, appropriate tothe type of device in each socket.

To make a strapping connection (jumper), bend ashort length of bare wire (such as the excess leadend cut from a resistor) to fit between the twoholes you wish to strap together, insert the endsof the wire in the holes, and solder them. Thenclip the remaining excess ends, just as you did withthe components. When you install a jumper andsolder it, be sure it doesn't touch any interveningtraces or pads.

IMPORTANT: For normal operation of the SDK­85, it is mandatory to strap the following:

1. One of the three options in Table 3-1.

2. One of the two options in Table 3-2.

3. The two jumpers listed in Table 3-3.

4. Either basic kit operation or one of severalexpansion options listed in Table 3-4.

The keyboard-teletypewriter selection function maybe done with a miniature printed circuit-boardmount, single-pole, double-throw switch, S25, notfurnished in the kit, or may be strapped withwire. Table 3-2 lists the connections. Table 3-3lists keyboard strapping connections always made.

Tables 3-5 through 3-10 list all of the bus and portexpansion connector pinouts. Table 3-11 listssuggested connector types.

3-3 POWER SUPPLY WIRING(See Figure 3-6.)

Connect a +5 Volt, regu lated power supply with itspositive output at the +5V POWE R SUPPLY pointon the board. A 6-pin Molex connector will fit the

(Text continues on page 3-4.;

3-1

Page 25: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

TABLE 3-1

ROM/PROM STRAPPING

Device 8355 8755 8755ALocation Figure 3-1 Figure 3-2a Figure 3-2b

A14 Strap Strap(The SDK-85

Monitor No Straps 28-29 29-30ROM) Required Strap StrapA15

31-32 32-33

Figure 3-1 No Strapping Required for 8355 ROMsTABLE 3-2

TELETYPEWRITER-KEYBOARDSTRAPPING

TELETYPEWRITER KEYBOARDFigure 3-3 Figure 3-4

Strap 22-23 Strap 23-24

TABLE 3-3DISABLING UNUSED KEYBOARD

CONTROLLER FUNCTIONS

Figure 3-5Always strap 9-10.

Always strap 11-12.

Note: These two straps not usually removed,since the MCS-85 System Design Kitdoes not have SHIFT or CONTROLkeys on its keyboard. These strapshave no effect on operation of thecorresponding key functions on ateletypewriter or other ASCII terminalthat is connected to the TTY interface.They are provided for your use if youwish to modify the SDK-85's key­board functions and replace its moni­tor software with your own.

Figure 3-2a Strapping Connections for 8755 PROMS

3-2 Figure 3-2b Strapping Connections for 8755A PROMS

Page 26: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

u( _...

1Figure 3-5 Disabling Unused Keyboard Controller FunctionsTeletypewriter Strapping Connection

Figure 3-6 Power Supply Connections

T

,~NTE

-q 0+10 VOLT SUPPLY

~I 6", 74500 IMJ 7415748216

-05 VOLT SUPPLY

1'J A7"

J 5 A

3-3

Page 27: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

hole pattern on the board (see p. 3-13 for the partnumber). If you are going to use a teletypewriter,connect a -10 Volt power supply with its negativeoutput at the -10V point on the board. Connectthe positive side of the -10 Volt power supply tothe GND bus.

ICAUTION IDo not turn on power until instructed to do so.

3-4 INSTALLING LARGEIC DEVICES

When you've finished all soldering operations onthe board and are ready to fire it up, then it's timeto plug in the large ICs. Once more, please makenote of the precautions for handling these largeMaS devices.

(Text continues on page 3-6.)

TABLE 3-4BUS EXPANSION STRAPPING

FUNCTION

RST 6.5

HOLD

INTR

MemoryAddress

Locations

BASIC KITWITHOUT EXPANSION

MEMORY(Figure 3-7)

Strap 3-5

Strap 6-8

Strap 20-21

Leave 25-26-27 unstrapped.

AUGMENTED KITWITH EXPANSION

MEMORY(Figure 3-8)

(Also See Paragraph 3-7.)

Strap 3-4 if no input is connected toJ 1-20. Leave 3, 4, and 5 not strappedif input is to be supplied for thisrestart function.

Strap 7-8 if no input is connected toJ 1-14. Leave 6, 7, and 8 not strappedif input is to be supplied for th isfunction.

Strap 20-21 if no input is connectedto J 1-18. Leave 20-21 not strappedif input is to be supplied for thisfunction.

Strap 25-26 if all memory locationsare external, i.e., addressed via busexpansion drivers. * (See Figure 3-9.)Strap 25-27 to enable the bus expan­sion drivers only when the upper 32Kmemory locations (8000H-FFFFH)are addressed. (See Figure 3-10. )

*Note: No devices may be installed in positions A 13, A 14, A 15, A 16, and A 17 if this optionis strapped.

3-4

Page 28: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

74LI116 r (ISCAN DECODER I U..

u

SO 10 iii AIDU.::> C,,,r-""'I"""'IVl'I ,-",",Iyen..:>

AlE &15

~ .. ][1A2~CHlDA .

8212HOLD

INT"I - A 15 ADDRESSINTR DRIVERRST6.5

RESET

RSTINI m I

A4)07

!

A6

I ~ ].

8212

[}) 8216'I AD -A7 ADDRFSS

EO AODRIVER

~ . ~ '; A7 DATA 8US BUFF

L-; L-Jn

8085

C9

8279

KEYBOARD DISPLAY CONTROLLER

LOC lB00H1900H

lI

J III

Figure 3-7 Strapping Required for Basic Kit (No Bus Expansion)

LJ L-Jn

Figure 3-8 Strapping Options for Bus Expansion Control Lines

J7

121

,12~EYBOARDI

Figure 3-9 Strapping Options for all External Memory Figure 3-10 Strapping Options for Internal/External Memory

3-5

Page 29: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ICAUTION ILarge-scale integrated circuits are fragile!Dropping, twisting, or uneven pressuremay break them. The discharge of staticelectricity can destroy them internally.Leave them embedded in the conductive­foam backing sheet until ready to installon the board. Never press down hardupon, twist, or bend the larger devices.Touch the exposed metal traces of theboard with your hand before insertingone in its socket. The soldering of largedevices directly on the circuit board isnot recommended. If your Kit is pro­vided with 8755 EPROM, do not removethe opaque sticker covering the window.Ultraviolet radiation including sunlight,can erase the monitor software containedin the device.

Inspect each IC to see that its leads are reasonablystraight. (It's okay for the device to be a bit bow­legged.) The forked end of the soldering aid is agood tool for straightening bent leads. Carefullyplace an IC on its intended socket, oriented pro­perly, with one row of its pins resting lightly inthe socket holes. With your fingers or with the sol­dering aid, gently tease the other row of pins intotheir socket holes. Be sure no single pins have es­caped. Once all pins have started, press downgently with fingers or with something flat to seatthe device in its socket.

Each device must be oriented properly in its socketor it won't work. Every DIP device made has eithera notch of some kind or a dot at one end. On theSDK-85 board, each notch or mark must face tothe left. The markings on the board indicate thisorientation. They also show which device type

goes where. (See the pictorials on pages 2-9 and2-15. )

3-6

3-5 STARTING THE FIRST TIME

Once you are certain that all parts are properlyinstalled, the correct strapping options are soldered,and the power supplies connected, you are readyto start your MCS-85 System Design Computer.Clear the surface of your work table of any toolsor wire that could come in contact with the under­side of the circuit board and short it, and be surethere aren't any wire clippings on top of the boardby accident.

Peel the coverings from the red window and lay iton the display. (Don't stick it down yet.)

Energize the +5 Volt power supply.

Press the B button on the keyboard. The displayshould respond by reading out "- 80 85."

If the above readout appears, go on to Chapter 4 ofthis book and tryout each button and function.Verify that each command produces the specifiedresult, and that all segments of each 7-segmentcharacter display light.

Once you know the displays are all working right,peel the backing from the two strips of double­sided tape and use them to stick the red window inplace.

Page 30: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

3-6 WHAT I F IT DOESN'T?

If there is no response to the 8 command,

D Use the multimeter to check for the presenceand proper polarity of +5 Volts on the board.

D Check all of the strapping connections, andbe sure they are in the right places for theconfiguration you chose.

D Check carefully the seating of each and everypin of each of the four large ICs. Be sure nopins have accidentally bent over and missedthe socket.

D Go back over the Chapter 2 assembly proce­dure and scan and check off all of the com­ponent values and all of the solder connec­tions.

D Check the orientation of all semiconductordevices.

D Inspect for solder bridges or loose solderjoints.

If all devices are properly soldered or firmly intheir sockets and still there's no result, it can bepresumed that there is a bad part somewhere. Thekeyboard switches can be checked using the multi­meter, as mentioned in Chapter 2. If all switches areclosing positively when pressed, and opening whenreleased, further effective troubleshooting can beaccomplished if you have a dual-trace oscilloscopeof at least 5 MHz bandwidth, or a logic analyzer.

D Pin 37 of cpu All (8085) should show aclock output of 3.072 MHz (326 ns period).If it doesn't, there's something wrong with the8085 or the crystal.

D Pin 30 of A 11 should have a positive-goingpulse about 160 ns wide every JiS or so. Thisis the ALE pulse that indicates that the cpu isexecuting instructions.

D Pin 1 of address decoder A 10 (8205) shouldpulse. If not, your 8085 is probably bad.

D If pin 1 of A 10 pulses, check pin 15 of A 10. IfA 10-15 doesn't follow A 10-1, or has bad out­put voltage levels, the 8205 is either bad or in­stalled wrong.

D If all else fails, call the Intel Service Hotline anddescribe the results of the foregoing procedure.

The numbers are:

(800) - 538-8014 when calling from out­(800) - 538-8015 side California

(800) - 672-3507 California only

Note: The Service Hotline is available to pro­vide limited support to help you getyour kit running. If we can't help youover the phone, you may be directedto return your kit to us and we'll fix itfor a flat fee and send it back to you.The Service Hotline is available Mon­day through Friday, between 8 AMand 3: 30 PM, Pacific time.

IMPORTANT: The Service Hotline is not ableto provide help to you in writing programs foryour kit or in making hardware modifications.Please rely on the documentation provided withyour kit for assistance.

TABLE 3-5INTERFACE CONNECTOR J7

PIN ASSIGNMENTS

PIN MARKING ASSIGNMENT

1 - Open14 - Open

2 - Open15 - Open

3 - Open16 - Open

4 - Open17 - Open

5 - Open18 - Open

6 - Open19 - Open

7 - Ground20 - Open

8 - Open21 - Open

9 - Open22 - Open

10 - Open23 - Open

11 - Open24 RX- Receive Return (-)

12 RX+ Receive (+)25 TX- Transmit Return (-)

13 TX+ Transmit (+)

3-7

Page 31: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

3-7 CONNECTING ATELETYPEWRITER

If you wish to use a teletypewriter with yourSDK-85 computer, connect it at Interface Con­nector J7 as shown in Table 3-5. You may use eithera male connector or a female connector. (See

Table 3-11.) Only four pins of this connectorare assigned for Teletypewriter use; the remain­ing pins may be wire-wrapped to serve anyfunction you choose.

TABLE 3-6BUS EXPANSION CONNECTOR Jl PIN ASSIGNMENTS

ASSIGNMENT PIN PIN MARKING ASSIGNMENT I/O

GND 1 2 - OPEN -

GND 3 4 ClK Buffered ClK 0

GND 5 6 S1 Buffered S1 0

GND 7 8 SO Buffered SO 0

GND 9 10 ALE Buffered ALE 0

GND 11 12 HlDA Buffered HlDA 0

GND 13 14 HOLD Buffered HO lD I

GND 15 16 INTA/ Buffered INTA 0

GND 17 18 INTR INTR I

GND 19 20 RST 6.5 Buffered RST 6.5 I

GND 21 22 RST Buffered RESET OUT 0

GND 23 24 RSTIN/ RESET INPUT I

GND 25 26 D7 Buffered D7 I/O

GND 27 28I

Buffered D6 I/O

GND 29 30 CfJ Buffered D5 I/O:::>

I/OGND 31 32 co Buffered D4

GND 33 34e::(

Buffered D3 I/Ol-e::(

I/OGND 35 36 0 Buffered D2

GND 37 38 I Buffered D1 I/O

GND 39 40 DO Buffered. DO I/O

3-8

Page 32: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

TABLE 3-7

BUS EXPANSION CONNECTOR J2 PIN ASSIGNMENTS

ASSIGNMENT PIN PIN MARKING ASSIGNMENT I/O

GND 1 2 ROY READY I

4 WRI-

GND 3 Buffered WR 0-

GND 5 6 RDI Buffered RD 0

GND 7 8 101M Buffered 101M 0

GND 9 10 A15 Buffered A 15 0

GND 11 12 Buffered A 14 0

GND 13 14 Buffered A 13 0

GND 15 16 Buffered A 12 0

GND 17 18 Buffered A 11 0

GND 19 20 Buffered A 10 0

GND 21 22CJ)

Buffered A9 0:::>co

GND 23 24 CJ) Buffered A8 0CJ)

GND 25 26 w Buffered A7 0a:GND 27 28

0 Buffered A6 00

GND 29 30« Buffered A5 0I

GND 31 32 Buffered A4 0

GND 33 34 Buffered A3 0

GND 35 36 Buffered A2 0

GND 37 38 Buffered A 1 0

GND 39 40 AO Buffered AO 0

3-9

Page 33: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

TABLE 3-8I/O PORT CONNECTOR J3 PIN ASSIGNMENTS

ASSIGNMENT PIN PIN MARKING ASSIGNMENT

P1-6* 1 2 l P1-7

P1-4 3 4 P1-5PORT 1

P1-2 5 6 J P1-3

P1-0 7 8 P1-1

PO-6 9 10 l 7 PO-7

PO-4 11 12 f PO-5PORT 0

PO-2 13 14 J t PO-3

PO-O 15 16 P PO-1fr

P9-6 17 18 l P9-7

P9-4 19 20 P9-5PORT 9

P9-2 21 22 J P9-3

P9-0 23 24 P9-1

P8-6 25 26 l P8-7

P8-4 27 28 P8-5PORT 8

P8-2 29 30 J P8-3

P8-0 31 32 P8-1

GROUND 33 34 GROUND

*Note: 1. Pn-m stands for PORT n Bit m (e.g. P9-6 means PORT 9H Bit 6).

2. Ports 0 & 1 are Ports A and B of 8355 (A 14).

3. Ports 8 & 9 are Ports A and B of 8755 (A 15).

3-10

Page 34: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

TABLE 3-9I/O PORT CONNECTOR J4 PIN ASSIGNMENTS

ASSIGNMENT PIN PIN MARKING ASSIGNMENT

P23H-4 1 2 l P23H-5

P23H-2 3 4 PORT 23H P23H-3

P23H-0 5 6 J P23H-1

P22H-6 7 8 l P22H-7

P22H-4 '9 10 P22H-5PORT 22H

P22H-2 11 12 J P22H-3

P22H-0 13 14 P22H-1

P21 H-6 15 16 l P21 H-7

P21 H-4 17 18 P21 H-5PORT 21 H

P21 H-2 19 20 J P21 H-3

P21 H-O 21 22 P21 H-1

OPEN 23 24 OPEN

GROUND 25 26 GROUND

Note: Port 21 H is Port AIPort 22H is Port B of8155 (A16).Port 23H is Port C

3-11

Page 35: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

TABLE 3-10I/O PORT AND TIMER CONNECTOR J5 PIN ASSIGNMENTS

ASSIGNMENT PIN PIN MARKING ASSIGNMENT

P2BH-4 1 2 l P2BH-5

P2BH-2 3 4 PORT 2BH P2BH-3

P2BH-0 5 6 J P2BH-1

P2AH-6 7 8 l P2AH-7

P2AH-4 9 10 P2AH-5PORT 2AH

P2AH-2 11 12

JP2AH-3

P2AH-0 13 14 P2AH-1

P29H-6 15 16 l P29H-7

P29H-4 17 18 P29H-5PORT 29H

P29H-2 19 20

JP29H-3

P29H-0 21 22 P29H-1-

Timer OUT 23 24 TIMER Timer InOUT/IN

GROUND 25 26 GROUND

Note: Port 29H is Port A }Port 2AH is Port B of expansion RAM 8155 (A17).Port 2BH is Port CTimer is on the same 8155 (A 17).

3-12

Page 36: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

TABLE 3-11SUGGESTED CONNECTOR TYPES

REFERENCE FUNCTION NO.OF MFR. MFR'S.DESIGNATION PINS PART NO.

J1 Bus Expansion 40 Spectra Stri p 800-576

J2 Bus Expansion 40 Spectra Strip 800-576

J3 I/O Ports· 34 Spectra Strip 800-579

J4 I/O Ports 26 Spectra Strip 800-583

J5 I/O Ports and Timer 26 Spectra Strip 800-583

J6 Not Used

J7 TTY Interface 25

Female} OptionalAMP 206584

Male AMP 206604

- Power Supply 6 Molex Model No. 1261

Recepticle 03-09-1064

Plug 03-09-2062

3-13

Page 37: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

4-1 WHAT IT DOES

The things you can do with the basic SDK-85 kitare:

• Examine the contents of all memory and reg­ister locations

• Deposit program steps or data in RAM orregister locations

• Execute programs or subroutines uponcommand

• Reset (start) the monitor upon command

• Interrupt and start operation at a locationyou specify upon command

You may select either the keyboard and display onthe board or a teletypewriter as the console deviceby operating a switch or by placing a jumper wireat the appropriate place on the board. (See Chapter3.) Keyboard/display operation and teletypewriteroperation are described separately in the followingparagraphs.

Two of the keyboard buttons continue to functionin teletypewriter mode, as well as in keyboard/dis­play mode. These are the 8 and the @ill keys.

4-2 THE BUTTONS AND DISPLAYS

Keyboard/display operation is done by pressingkeys on the keypad. Responses are displayed eitherby echoing the key pressed or by prompting youwith a message or prompt. When the 8 button ispressed, the monitor is ready to accept commands.For numeric arguments, the valid range is from 1to 4 hexadecimal digits for address information and1 to 2 hex digits for register and memory data.

Longer numbers may be entered, but such numberswill be evaluated modulo 2 16 or 28 respectively,

CHAPTER 4OPERATING INSTRUCTIONS

i.e., only the last four or the last two digits en­tered wi II be accepted.

As noted, the number system being used in theSDK-85 is the hexadecimal, or base-16 numbersystem. Table 4-1 lists the hexadecimal, decimal(base 10), and binary (base two) equivalents. Thetable also shows how each hex digit will appear inthe seven-segment LE D displays.

TABLE 4-1NUMBER SYSTEMS

LEDHEX DECIMAL BINARY DISPLAY

0 0 0000,-,L'

1 1 0001,,

2 2 0010-,,=

3 3 0011-,=,

4 4 0100 LI5 5 0101

,-=,6 6 0110

,-,=,7 7 0111 -,,8 8 1000

,-,,=,9 9 1001

,-,-,A 10 1010

,-,,-,B 11 1011 1=1C 12 1100 ,-

LD 13 1101 ,-IE 14 1110

,-,-F 15 1111 ,-,-

4-1

Page 38: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Whenever the monitor expects a command, the dis­play shows a dash ("-") at the left edge of theaddress field (possibly along with an error mes­sage). When the monitor expects a parameter, adecimal point will be displayed at the right edge ofthe field into which the argument will be placed. Aparameter wi II be either an address or a byte ofdata which is used during the execution of acommand.

In the descriptions of the command modes, uppercase letters and numbers enclosed in boxes repre­sent keyboard keys. Words or phrases in lower caseenclosed in brackets "<>" describe the nature ofthe command parameters you may input.

The () in the Format Statement indicates an op­tional argument.

Reset:

The EJ key causes a hardware reset, and startsthe monitor. The message "-80 85" will be dis­played across the address and data field of the dis­play if you are in display-keyboard mode. If inteletypewriter mode, the sign on message "SDK-85VE R X.X" will be printed. The monitor is ready toaccept a command after a reset, and saves no infor­mation about the state of any user program beforethe reset.

4-2

Substitute Memory:

~<address> ~«data»~«data» ...~

The substitute memory command allows you toread the contents of ROM memory and to examineand modify the contents of RAM memorylocations.

The address argument denotes the contents of thememory address to be examined, and may be from1 to 4 hex digits. If you enter longer numbers, onlythe last 4 digits entered are used). As soon as thenumber is terminated by the ~ key, the contentsof that location are shown in the data field, alongwith a decimal point at the right edge of the field.Entering a new number will cause that number tobe displayed in the data field; however, the con­tents of the memory location will not be changeduntil an~ or~ key is pressed.

Pressing B:J will place the contents displayed in thedata field into the displayed memory address. Thenthe address and contents of the next higher mem­ory location will automatically be shown. Pressing~ will place the contents displayed in the datafield into the memory address displayed in the ad­dress field, and will also terminate the command.

Pressing B:J while the address FFFF is being dis­played will cause address 0000 to be displayed.

Page 39: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

SUBSTITUTE MEMORY EXAMPLE 1

Using~ to list the first few Monitorlocations:

Whenever the command changes the contents of amemory location, it also verifies that the changehas occurred correctly. If the contents of the loca­tion do not agree with what the new value shouldbe (i.e., if the memory location is in ROM or isnonexistent), an error message is generated.

KEYISuBSTI~

~

~

~

~

~

ADDR

0000.

0000

0001

0002

0003

DATA

3E.

00.

32.

00.

SUBSTITUTE MEMORY EXAMPLE 2

Using~ to enter a small program:

KEY ADDR DATA

~MEM

0 0002.

[£] 0020.

[£] 0200.

[£] 2000.

~ 2000 **

rn 2000 03.

0 2000 3E.

~ 2001 **

G1J 2001 04.

~ 2001 47.

~ 2002 **

[I] 2002 oc.

0 2002 CF.

ElNOTE: ** represents unpredictable values.

After loading the above program, use~again to go back and check locations 2000­2002 to see that they contain:

CORRESPONDING8085 ASSEMBLY

LANGUAGEADDRESS DATA INSTRUCTIONS--

2000 3E MVI A,47H

2001 47

2002 CF RST 1

This program will load the A register with thenumber 47 and jump back to the monitor.

4-3

Page 40: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Examine Registers:

~ <reg> ~ «data» ~ «data» ... ~

The examine command allows you to display andmodify the contents of the 8085 CPU registers.Pressing the~ key blanks both the address anddata fields, and displays a decimal point at the rightedge of the address field. At this point, you mustpress a register key (register names are denoted bylegends on the keyboard). Any other key will gen­erate an error response.

If a register key is pressed, the name of the registerwill appear in the address field, and the contents ofthe register will appear in the data field, alongwith a decimal point at the right hand edge.Entering a number will cause the number to bedisplayed in the data field; however, the contentsof the register will not be changed until an~ or~ key is pressed.

Pressing ~ will place the contents displayed in thedata field into the register named in the addressfield, then will display the name and contents ofthe next register in sequence (See Table4-2). Pressing~ will place the contents displayed in the datafield in the register named in the address field, andwill also terminate the command.

Pressing~ while register PCl is being displayedhas the same effect as pressing~ .

TABLE 4-2REGISTER DISPLAY SEQUENCE

KEY/DISPLAYCODE REGISTER

A CPU register A

B CPU register B

C CPU register C

0 CPU register 0

E CPU register E

F CPU flags byte

I interrupt mask

H CPU register H

l CPU register l

SPH most significant byte ofstack pointer

SPl least significant byte ofstack pointer

PCH most significant byte ofprogram counter

PCl least significant byte ofprogram counter

The flag byte contains the 8085 CPU's conditionflags.

The format for the flag byte is:The format for the I register is the lower 4 bits ofthe accumulator following execution of a RIMinstruction. A "1" in an interrupt mask field de­notes a masked condition. A "0" must be enteredto use that interrupt.

7 o

The format for the I register is:

7 0

IE 7.5 6.5 5.5

t--. INTERRUPT MASK

INTERRUPT ENABLE FLAG

4-4

x = UNDEFINED

For more information about the 8085's flags andinterrupt mask feature, consult the MCS-85 User'sManual.

Page 41: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

EXAMINE REGISTER EXAMPLE 1

Using~ to initialize the 8085's stack pointerto 20C2:

EXAMINE REGISTER EXAMPLE 2

Using~ to examine the contents of the8085's Registers:

KEY

IUAM1~

ADDR

SPH

SPH

SPH

SPl

SPl

SPl

DATA

**

02.

20.

**

OC.

C2.

KEY ADDR DATA

~REG

0 A **

~ b **

~ C **

~ d **

~ E **

~ F **

~ **

~ H **

~ l **

~ SPH **

~ SPl **

~ PCH **

~ PCl **

EJ or ~NOTE: ** represents the contents of the

register whose name is in the addressfield of the display.

4-5

Page 42: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Go:

G «address» ~

Pressing the B key causes the contents of the pro­gram counter (PCH and PCl) to be displayed inthe addressed field, along with a decimal point atthe right edge of the field. The program counter isavailable for change, and any number entered (anumber is optional) becomes the new contents ofthe program counter.

Pressing the~ key transfers control of the CPUto the address in the address field (contents of theprogram counter). Before the transfer of control,the address and data display fields are cleared, andan 'E' is displayed at the left edge of the addressfield.

Pressing any other key but~ generates an errormessage.

The monitor regains control of the CPU only aftera 8 or after execution of an RST 0, RST 1, orJMP a instruction in program.

IMPORTANT:

Note that because of the way the GO and SINGLESTEP commands are implemented in the Monitor,Band S~~~~E will not work unless the 8085's stackpointer is pointing to an existing portion of RAMmemory. If at any time these two commands don'tseem to be working, set SPH to 20 and SPl to C2using ~ , then try it again. (locations 20C2 to20F F are reserved for the monitor program, there­fore the stack pointer must be set to 20C2 or lowerso as not to interfere with the monitor.)

4-6

Page 43: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

GO COMMAND EXAMPLE

Now you can execute the program you en­tered in Example 2 of the~ command.First, check to make sure the 3- location pro­gram is in memory, then the program will beexecuted.

Recall that this small program loads the Aregister with the number 47 and restarts themonitor. To verify that the A register nowholds 47 and to get more practice using ~,try the following sequence:

KEY ADDR DATA COMMENTS KEY ADDR DATA COMMENT

~ ~MEM REG

[2] 0002. 0 A 47. A reg now

[9] 0020.holds 47.

[9] 0200.[9] A 00.

[9] 2000.~ Now A holds

~ 2000 3E. MVI A, 47 0

~ 2001 47. 0 **** **

~ 2002 CF. RST 1 [2] 0002.

~ [9] 0020. Run the small

0 **** ** Program again

[2] 0002.[9] 0200.

[9] 0020.[9] 2000.

[9] 0200. ~ - 80 85

[9] ~2000. REG

~ - 80 0 A 47 Now A holds85 47 again

NOTE: ** ** denotes "don't care" valuesNow try placing other values in location 2001using~ and use 0 to execute the programagain, seeing how those values are loaded intothe A register after execution.

4-7

Page 44: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

SINGLE STEP EXAMPLE

To resume full speed operation at this point,do the following:

Single stepping through the SOK-85 Monitor.This is what you should see on the display:

**

E1

22

F5

E1

E1

85

DATA

0010.

- 80

KEY ADDR

SINGLE ****STEP

rn 000a.

~ OOOb.

~ OOOC.

~ OOOF.

~ 0010.

Single stepping is implemented in the SOK-85hardware by repeatedly interrupting the processor.Since interrupts cannot be recognized during theEI and 01 instructions of the 8085, single step willnot stop at either of these instructions.

Single Step:

Pressing the sJ;W key causes the contents of theprogram counter (PCH and PCl) to be displayedin the address field of the display along with a deci­mal point at the right hand edge of the field. Thedata field contains the contents of the addressdenoted by the contents of the program counter.The program counter is made available for change,and any number entered (a number is optional)becomes the new contents of the program counter.

SJ;W «address» ~ ~ ...~

Pressing the~ key causes the CPU to execute theone instruction pointed to by the programcounter. After execution the monitor regains con­trol of the CPU, and the address and data fieldsshow the new contents of the program cou nter(address of next instruction to execute) and con­tents of the byte addressed by the programcounter, respectively. The decimal point is turnedon at the right hand edge of the address field, indi­cating that the program counter is available again.

If the~ key is pressed, no instruction is executed.The address displayed in the address field is madethe contents of the program counter and the singlestep command is terminated. You may now exam­ine or modify registers and memory locations toverify program execution. Pressing the Sm~E keytakes you back to the single step mode, and sub­sequent pressing of the~ key allows you to con­tinue, instruction by instruction, through yourprogram.

4-8

Page 45: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Vector Interrupt:

The~ key is similar to the 0 key in the respectthat it takes control away from the monitor andgives it to another program. The interrupt keycauses immediate recognition of RST 7.5 interruptand control passes to location 3C in the monitor.This location contains an unconditional branch toinstruction location 20CE in user RAM. You mayplace any instruction you wish in Locations 20CEthru 20DO (e.g., a branch to a keyboard interruptroutine). The monitor does not regain control with­out specific action (a 8 command, or a RST 0,RST 1, or JMP 0 program instruction). In branchingback to the monitor, unless the RST 1 instruction isexecuted, the monitor loses all past informationabout the user program.

Since an interrupt is recognized by the hardware,the monitor cannot clear the display; thus the dis­play may remain unchanged after interrupt.

IMPORTANT: Two conditions must be satisfiedfor the Vector Interrupt feature to be enabled:

1. Interrupts must be enabled (by executing anEI instruction).

2. RST 7.5 must be unmasked (mask reset bythe SI M instruction or by modifying the1- Register).

Program Debugging - The Use of Breakpoints

Along with the "cold start" reset caused when the8 button is pressed, the monitor also implementsa IIwarm start" procedure. Execution of an RST 1instruction will cause the monitor to enter this" warm start" routine. The monitor will display thesame message as a8 (/-80 85'), but all registersand user memory will be preserved in the state theywere in at the time of execution of the RST 1. Nosystem reset or initialization will be performed.

By placing RST 1 instructions at key RAM loca­tions where you want to examine the CPU status,you can break from your program and then exam­ine and set memory locations and registers, orsingle-step a portion of your program.

To resume execution of the user program, pressG. The PC value of the next instruction appearsin the address field of the display. Then press~to continue execution.

Error Conditions - Illegal Key

If a key is pressed which is illegal in its context(e.g., a command key is pressed when the monitoris expecting a number), the command is abortedand an error message is generated. Th is messagetakes the form II-Err", displayed in the addressfield. The monitor is then ready to accept a com­mand. The error message will be cleared when acommand key is pressed. Therefore, you can cancela command before you press~ or~ by pressingany illegal key instead.

Memory Substitution Errors

If the substitute memory command determinesthat the contents of a memory location were notchanged correctly (i.e. location is in ROM or isnonexistent), the command is aborted and an errormessage is generated. This message also takes theform II-Err", displayed in the address field. Themonitor is then ready to accept a new command.The error message will be cleared when a commandkey is pressed.

4-3 TELETYPEWRITER OPERATION

Console Commands

This portion of the SDK-85 monitor communicatesvia a teletypewriter (console). Operation consistsof dialogue between the operator and the monitorin the monitor's command language. After youpress the 8 button on the SDK-85 keypad, themonitor begins the dialogue by typing a sign-onmessage on the console ("MCS-85 Kit") and thenrequests a command by typing a prompt character("."). Commands are in the form of a single alpha­betic character specifying the command, followedby a list of numeric or alphabetic parameters.Numeric parameters are entered as hexadecimalnumbers. The monitor recognizes the characters 0through 9 and A through F as legal hexadecimaldigits. Longer numbers may be entered, but onlythe last four digits will be retained.

4-9

Page 46: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

The only command requiring an alphabetic param­eter is the "X" command. The nature of suchparameters will be discussed in the section explain­ing the command.

Use of the Monitor for Programming and Checkout

The monitor allows you to enter, check out, andexecute small programs. It contains facilities formemory display and modification, 8085 CPU regis­ter display and modification, program loading fromthe console device, and program initiation with abreakpoint facility. In addition, the ~ key on thekeyboard may be used to initiate your own key­board interrupt routine.

Command Structure

In the following paragraphs, the monitor commandlanguage is discussed. Each command is described,and examples of its use are included for clarity.Error conditions that may be encountered whileoperating the monitor are described on page 4-13.

The monitor requires each command to be termi­nated by a carriage return. With the exception ofthe "s" and 'X" commands, the command is notacted upon until the carriage return is sensed.Therefore, you may abort any command, beforeentering the carriage return, by typing any illegalcharacter (such as RUBOUT).

Except where indicated otherwise, a single space issynonymous with the comma for use as a delimiter.Consecutive spaces or commas, or a space orcomma immediately following the command letter,are illegal in all commands except the "X" com­mand (see below).

Items enclosed in parentheses "( )" are optional.

Display Memory Command, D:

o <low address>, <high address>

Selected areas of addressable memory may beaccessed and displayed by the 0 command. Theo command produces a formatted listing of thememory contents between <low address> and<high address>, inclusive, on the console. Eachline of the listing begins with the address of thefirst memory location displayed on that line,represented as 4 hexadecimal digits, followed byup to 16 memory locations, each one representedby 2 hexadecimal digits.

Program Execute Command, G:

G «entry point»

Control of the CPU is transferred from the moni­tor to the user program by means of the programexecute command G. The entry point should be anaddress in RAM which contains an instruction inthe program. If no entry point is specified, themonitor uses, as an address, the value on top ofthe stack when the monitor was entered.

G COMMAND EXAMPLE

G2000

Control is passed to location 2000.

D COMMAND EXAMPLE

09,26

0009 EF 20 E1 22 F2 20 F5

0010 E1 22 ED 20 21 00 00 39 22 F4 20 21 ED 20 F9 C5

0020 05 C3 3F 00 C3 57 01

4-10

Page 47: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Insert Instructions into RAM, I:

I <address><data>

Single instructions, or an entire user program, areentered into RAM with the I command. Aftersensing the carriage return terminating the com­mand line, the monitor waits for the user to enter astring of hexadecimal digits (O to 9, A to F). Eachdigit in the string is converted into its binary value,and then loaded into memory,. beginning at thestarting address specified and continuing into se­quential memory locations. Two hexadecimal digitsare loaded into each byte of memory.

Separators between digits (spaces, commas, car­riage returns) are ignored; illegal characters, how­ever, will terminate the command with an errormessage (see page 4-13). The character ESC or ALT­MODE (which is echoed to the console as "$")terminates the digit string.

I COMMAND EXAMPLE 1

12010

112233445566778899$

This command puts the following pattern intoRAM:

2010 112233 44 55 66 77 88 99

I COMMAND EXAMPLE 2

12040

123456789$

This command puts the following pattern intoRAM:

2040 12 34 56 78 90

Note that since an odd number of hexadeci­mal digits was entered initially, a zero wasappended to the digit string.

Move Memory Command, M:

M <low address>, <high address>, <destination>

The M command moves the contents of memorybetween <low address> and <high address> inclu­sive, to the area of RAM beginning at <destina­tion>. The contents of the source field remainundisturbed, unless the receiving field overlaps thesource field.

The move operation is performed on a byte-by-bytebasis, beginning at <low address>. Care should betaken if <destination> is between <low address>and <high address>. For example, if location 2010contains 1A, the command M2010, 201 F 2011will result in locations 2010 to 2020 containing"1 A 1A 1A .. .", and the original contents of mem­ory will be lost.

The monitor will continue to move data until thesource field is exhausted, or until it reaches addressFFFF. If the monitor reaches FFFF withoutexhausting the source field, it will move data intothis location, then stop.

M COMMAND EXAMPLE

M2010,204F,2050

64 bytes of memory are moved from 2010­204F to 2050-208F by this command.

4-11

Page 48: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Substitute Memory Command, S:

S <address> «data»

The S command allows you to examine and op­tionally modify memory locations individually.The command functions as follows:

1. Type an S, followed by the hexadecimal ad­dress of the first memory location you wish toexamine, followed by a space or comma.

2. The contents of the location are displayed,followed by a dash (-).

3. To modify the contents of the location dis­played, type in the new data, followed by aspace, comma, or carriage return. If you donot wish to modify the location, type onlythe space, comma, or carriage return. Thenext higher memory location will automati­cally be displayed as in step (2).

4. Type a carriage return. The S command willbe terminated.

S COMMAND EXAMPLE

S2050 AA- BB-CC 01-13 23-24~

Location 2050, which contains AA, is un-changed, but location 2051 (which used tocontain BB) now contains CC, 2052 (whichused to contain 01) now contains 13, and2053 (which used to contain 23) now con­tains 24.

Examine/Modify CPU Registers Command, X:

x «register identifier»

Display and modification of the CPU registers isaccomplished via the X command. The X commanduses <register identifier> to select the particularregister to be displayed. A register identifier is asingle alphabetic character denoting a register,as defined in Table 4-3.

4-12

TABLE 4-3X COMMAND REGISTER IDENTIFIERS

IDENTIFIER REGISTERCODE

A Register A

B Register B

C Register C

D Register D

E Register E

F Flags byte

I Interrupt Mask

H Register H

L Register L

M Registers H and L com-bined

S Stack Po inter

P Program Counter

The command operates as follows:

1. Type an X, followed by a register identifier ora carriage return.

2. The contents of the register are displayed (twohexadecimal digits for A, B, C, D, E, F, I, H,and L, four hexadecimal digits for M, S, & P),followed by a dash (-).

3. The register may be modified at this time bytyping the new value, followed by a space,comma, or carriage return. If no modificationis desired, type only the space, comma, orcarriage return.

4. If a space or comma is typed in step (3), thenext register in sequence will be displayed asin step 2 (unless P was just displayed whichcase the command is terminated). If a carriagereturn is entered in step 3, the X command isterminated.

Page 49: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

5. If a carriage return is typed in step (1) above,an annotated list of all registers and their con­tents is displayed.

Note: The bits in the flag byte (F) and inter­rupt mask (I) are encoded as follows:

The format for the F register:

Error Conditions - Invalid Characters

Each character is checked as it is entered from theconsole. As soon as the monitor determines thatthe last character entered is illegal in its context, itaborts the command and issues an "*,, to indicatethe error.

7 o

The format for the I register:

INVALID CHARACTER EXAMPLE

D2000,205G*

The character G was encountered in a param­eter list where only hexadecimal digits anddelimiters are valid.

7 o

Note: For more information on the 8085's inter­rupt masks, please consult the MCS-85User's Manual.

Program Debugging - Breakpoint Facility

The monitor treats the RST 1 instruction (CF) asa special sequence initiator. Upon execution of anRST 1 instruction the monitor will automaticallysave the complete CPU status and output the sign­on message "MCS-85 Kit" to the console. You mayat that time display the contents of the CPU statusregister by initiating an "X" command. Afterexamining the machine status and making anynecessary changes you can resume execution ofthe program by inputting "G" and Carriage Returnon the console. You can step through large por­tions of your program by inserting RST 1 instruc­tions at key locations.

Address Value Errors

Some commands require an address pair of theform <low address>, <high address>. If, on thesecommands, the value of <low address> is greaterthan or equal to the value of <high address>, theaction indicated by the command will be per­formed on the data at low address only. Addressesare evaluated modu 10 216. Thus, if a hexadecimaladdress greater than FFFF is entered, only the last4 hex digits will be used. Another type of addresserror may occur when you specify a part ofmemory in a command which does not exist in thehardware configuration you are using.

In general, if a nonexistent portion of memory isspecified as the source field for an instruction, thedata fetched will be unpredictable. If a nonexistentportion of memory is given as the destination fieldin a command, the command has no effect.

4-13

Page 50: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

5-1 OVERVIEW

This portion of the SDK-85 User's Manual shouldprovide you with sufficient knowledge to writeprograms to exercise the basic system as well asproviding capability to use the basic kit as a nu­cleus around which you can build larger systems.

Figure 5-1 is a functional block diagram of theSDK-85. The components enclosed in dashed boxeshave places in the SDK-85 printed circuit board,but these are not needed for a minimum systemand are not included in the kit. In addition, somecontrol lines have been omitted from the blockdiagram for the sake of simplicity. The full SDK­85 schematic diagrams have been included in anappendix for your reference.

The text to follow describes each of the elementsin the system:

CHAPTER 5THE HARDWARE

medium-sized systems. The 8085 multiplexes itsdata bus with the low 8 bits of its address bus.The 8155 and 8355/8755 Memory I/O componentsin the kit are designed to be compatible with thisbus structure, precluding the need for external buslatches.

Four vectored interrupt inputs are available inaddition to the standard 8080A-type interrupt.There is also a serial input and serial output dataline pair that is exercised under program control toprovide the SDK-85's simple teletype I/O.

The basic clock frequency of the 8085 in the kit is3.072 MHz (internally divided by 2 from the 6.144MHz crystal input).

5-2 SYSTEM COMPONENTS The 8155

The 8085 CPU & The System Buses

The 8085 CPU is an evolutionary enhancement ofIntel's industry standard 8080A. It is 100% soft­ware compatible with the 8080A while offering thebenefits of single power supply, higher integration,higher performance, and improved system timing.

The 8085 CPU is fully described in the Intel®MCS-85™ User's Manual so a detailed descriptionwi II not be repeated here.

As the system block diagram shows, the 8085derives its timing inputs directly from a crystal.In addition the 8085 drives the system with con­trol signals available on-chip. No additional statusdecoding circuitry is required for most small- to

The 8155 is a highly integrated chip designed forcompatibility with the 8085's bus structure. It con­tains 256 bytes of static RAM memory, 22 pro­grammable I/O lines, and a 14-bit timer/counter.The function of the 8155 is described in detail inthe Intel MCS-85 User's Manual.

One 8155 is included with the SDK-85 kit andspace for another has been provided on the ci rcu itboard. The RAM memory in the 8155 is availablefor storage of user programs as well as for tempo­rary storage of information needed by systemprograms.

The 8155's timer is used by the SDK-85 monitor'sSingle Step routine to interrupt the processor fol­lowing the execution of each instruction.

5-1

Page 51: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

The 8355 & 8755 The 8279

The 8355 and 8755 are two more chips speciallydesigned for compatibility with 8085 systems. The8355 contains 2048 bytes of mask programmedread only memory (ROM) and 16 I/O lines. The8755 has an identical function and pinout to the8355, but contains ultraviolet erasable and repro­grammable read only memory (EPROM) instead ofthe ROM.

The 8279 is a keyboard/display controller chipthat handles the interface between the 8085 andthe keypad and LED display on the SDK-85 board.The 8279 refreshes the display from an internalmemory while scanning the keyboard to detectkeyboard inputs. The 8279 is described in detailin the MeS-85 User's Manual.

The 8205

The SDK-85 contains either one 8355 or one 8755that is programmed with the system monitor.Space for a second 8755 or 8355 has been allocatedon the PC board.

The basic SDK-85 also contains an 8205 chip (one­out-of-8 decoder) that decodes the 8085's memoryaddress bits to provide chip enables for the 8155,the 8355/8755, and the 8279.

CPUADDRESSDECODER

ROM/IO (8355)EPROM/IO (8755) RAM/IO/COUNTER KEYBOARD DISPLAY

ADDRESS DATAFIELD FIELD

FOR BUS EXPANSION

DATABUS

8216IL.. ...

r----'

8212 JPL .J

16 ADDRESSBUS

r----'8212

L.. ...

I I I I ~,-, n n.I,n /-, /-'.1I

Ct. ,=/. C/. D. D.C/.

I I II SDK-85 KEYBOARD LAYOUT

I1 I I

RESET ~NEg C D E F

I I I I~

SINGLE GO 8 9 A BSTEP H L

I I I I rv' SUBST EXAM 4 5 6 7MEM REG SPH SPL PCH PCL

SERIAL I I I I NEXT EXEC 0 1 2 3

~I/~T~O I I

: ,DTI--,:10 LINES I L ~

I ~ 'D I~ 74LS156IrD 1 II

r..; ~- -.., {r '" 7'7 8755 8155

I: I II 'III

II, 8355 ~II I8085 8205 8155 .II 8279 I I

-~L ~ L >- ~I I{ ~ L ;:,. L ;>. 1/> L ~ I ,(';:.. L ~ L ;:,. I

I I II I I

TA/ '" J7 I I'" )' I", 7' 1 V I~ 71-

ESS I I I XBUS I I I I y

I II I r

~7' I I I II ~

:~I I I I I ):

II Y

I I I II I I I I

'" 71 I '" ? " '\ ? r

~~~ II I I ~

I I Iy

ADDR

DAADDR

CONT

INTERRUPTINPUTS

I I I I

r - - ~ OPTIONAL. A PLACE HAS BEEN PROVIDED ON THE PC BOARD FOR THE DEVICE BUT THEL __ ... DEVICE IS NOT INCLUDED.

Figure 5-1 SDK-85 Functional Block Diagram

5-2

Page 52: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

TABLE 5-18205 CHIP ENABLES

OUTPUT ACTIVE ADDRESS RANGE SELECTED DEVICE

CSO 0000-07FF 8755/8355 MONITOR ROM (A14)

CS1 0800-0FFF 8755/8355 EXPANSION ROM (A15)

CS2 1000-17FF N/C

CS3 1800-1 FFF 8279 KEYBOARD/DISPLAY CONTROllER (A13)

CS4 2000-27FF 8155 BASIC RAM (A16)

CS5 2800-2FFF 8155 EXPANSION RAM (A17)

CS6 3000-37FF N/C.CS7 3800-3FFF N/C

AXX = IC# on schematic diagram in Appendix

N/C = not connected - avilable for user expansion

5-3 SDK-85 MEMORYADDRESSING

Each memory/I/O chip in the basic SDK-85 Systemof Figure 5-1 is enabled by a signal coming fromthe 8205 address decoder. Table 5-1 lists each chipenable output accompanied by the address spaceover which it is active and the SDK-85 device thatis selected.

Note that the 8279 is really an-input/output devicethat is communicated with by the 8085 as thoughit were a series of memory locations.

The above chip enable table can be expanded toform a memory map that illustrates the active por­tions of the SDK memory (see Figure 5-2). Usingthe terminology of Figure 5-2, the basic SDK-85with no additional memory/I/O chips provides thememory blocks marked MONITOR ROM andBASIC RAM. You must confine your programsto a subset of the space available in the BASICRAM, the remainder of BASIC RAM being requiredfor monitor storage locations. A list of the monitor­reserved RAM locations is provided in Table 5-2.

Note that RAM memory locations 20C2 through2000 are places for jump instructions pointing tothe places in memory for the computer to gofollowing the execution of an RST 5 instruction, anRST 6 instruction, an interrupt signal on theRST 6.5 input, etc. If you do not use any of theseinstructions or interrupt lines, then this RAM areais available for other programming.

When you add an expansion 8155 in the space pro­vided on the SDK-85 board, the RAM locationsshown in Figure 5-2 as EXPANSION RAM aremade available for programming. The monitorreserves no space in the EXPANSION RAM, soall 256 locations are available for programming.

An extra 8355 or 8755 device when plugged intothe appropriate spot on the board gives you pro­gram memory space in the area denoted EXPAN­SION ROM in the memory map.

The areas marked "FOlD BACK" in Figure 5-2indicate address space that is unused, but unavail­able for expansion, because these locations aremultiple mappings of the basic locations.

5-3

Page 53: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

TABLE 5-2MONITOR-RESERVED RAM LOCATIONS

LOC. CONTENTS

20C2 User may place a JMP instr. to a RST 5 routine in,

locs 20C2 - 20C4.

20C5 JMP to RST 6 routine Loaded>20C8 JMP to RST 6.5 routine (hardwired user interrupt) by

20CB JMP to RST 7 routine user

20CE JIVP to "VECT INTR" key routine ,

20D1-20E8 Monitor Stack (temporary storage used by monitor)

20E9 E Register,

20EA D Register

20EB C Register

20EC B Register

20ED Flags

20EE A Register

20EF L Register > storage for user register images

20FO H Register

20F1 Interrupt Mask

20F2 Prog. Cntr. - Low byte

20F3 Prog. Cntr. - HI byte

20F4 Stack Ptr. - Low byte

20F5 Stack Ptr. - Hi byte~

20F6 Current Address

20F8 Current Data

20F9-20FC Output buffer & Temp Locs.

20FD Register Pointer

20FE Input Buffer

20FF 8155 Command/Status Register image

5-4

Page 54: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

MEMORY ADDRESS

Please consult the MCS-85 User's Manual for theuse of the various special purpose registers referredto in the table (Direction Registers, Command/Status Registers, etc.), and for complete instruc­tions for exercising the memory-I/O chips (8155/8355/8755) .

As was mentioned in the memory addressing sec­tions, the 8279 is a peripheral chip that is selectedusing memory-mapped I/O. Table 5-4 shows thetwo memory locations that are used to communi­cate with the 8279. Consult the MCS-85 User'sManual for detailed operating instructions.

Accessing the 8279 Keyboard/Display Controller

and drivers in the SDK-85 system structure isshown in Figure 5-1.

Hardware Note: The timer/counter of the first8155 (RAM) is dedicated as a timer. It is hardwiredto receive the 8085's system clock (3.072 MHzClK) as its count input. This timer is used by thekeyboard monitor's SI NG lE STEP function, soyou should beware of timer conflicts if you desireto count and use the SI NG lE STEP function atthe same time. (See paragraph 6-2.)

As mentioned before, the 8155 and 8355/8755that come with the SDK-85 Kit have on-boardinput/output ports. These ports are accessed usingthe IN and OUT instructions of the 8085. Eachindividual port being referenced has a unique 8-bitaddress. Table 5-3 contains all the port addressesfor an expanded SDK-85 containing two 8155'sand two 8355/8755's.

IMPORTANT:As Figure 5-2 indicates, the optional expansionbuffers leading to the SDK-85 board's prototypingarea are enabled only over the address range8000- FFFF. If you desi re to use any of the"OP EN"expansion areas shown in Figure 5-2 (enabled bythe 8205 chip selects), you will have to becomefamiliar with the SDK-85 schematics at the backof this manual and implement custom modifica­tions to the SDK-85 circuitry.

5-4 INPUT/OUTPUT PORTAND PERIPHERALDEVICE ADDRESSING

ACTIVE 8205CHIP ENABLE

}C~

}~

} CS3

} CS2

} CSl

}C~

i-./ OPEN ,.r/

EXPANSION RAM (FOLD BACK)

EXPANSION RAM(256 LOC.)

BASIC RAM (FOLD BACK)

BASIC RAM(256 LOC.)

1900 - KEYBD/DISPLY CTLRCOMMAND LOC.

1800 - KEYBD/DISPLY CTLRDATA LOC.

OPEN (2K)

EXPANSION ROM (2K)

MONITOR ROM (2K)

180017FF

290028FF

0000

080007FF

30002FFF

1000OFFF

280027FF

210020FF

20001FFF

FFFFI 1MEMORY SPACE WHEREEXPANSION BUFFERS

I ARE ENABLED r8000 __7FFF

Figure 5-2 SDK-85 Memory Map

Any of the areas marked "OPEN" in Figure 5-2 arefree for expansion. You may mount extra memorychips in the wire-wrap area of the SDK-85 boardor on other circuit boards. The 8205 addressdecoder has 3 uncommitted chip select lines toallow the addition of three 2048-byte memoryblocks without additional decoding circuitry.

If you want to expand on the basic SDK-85 youdon't have to stick to the multiplexed-bus MCS 85memory/I/O family. Mounting pads are present onthe circuit board that accommodate an 8212 latchfor address/data bus demultiplexing. To providethe current drive capability to operate much largersystems, spaces are also allocated for another 8212to buffer the unmultiplexed half of the address andfive 8216 buffer/drivers to buffer the data bus, andcontrol signals. The function of these componentsis described in detail in the 8085 manual. The func­tional positioning of the optional latch, buffers,

5-5

Page 55: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Figure 5-3 Data Format

Figure 5-4 Display Configuration

Example; a "4" would be represented as1001 1001 = 99 (Hex)

SEGMENT

8279 DISPLAYRAM OUTPUT

1....-- DESIGNATION

DATA FIELD

OJ

e ...

LSB

ADDRESS FIELD

~

a

fl'b~/Z/~

d d.p.

TABLE 5-4ACCESSING THE 8279

KEYBOARD DISPLAY CONTROLLER

deb a d.p. 9

LOCATIONREAD/ FUNCTIONWRITE

1800 Read Read KeyboardFIFO

Write Write Data toDisplay

1900 Read Read StatusWord

Write Write CommandWord

MSB

These are six active LED displays available for use.They are configured in a four-place address fieldand a two-place data field as in Figure 5-4.

The hardware is designed so that writing a zero intoa bit position turns on the corresponding LEDsegment.

TABLE 5-3SDK-85 I/O PORT MAP

The data format for character bytes being dis­played by the 8279 is one bit corresponding toeach of the seven LE D segments plus one bit forthe decimal point. Figure 5-3 shows the bitconfiguration.

PORT FUNCTION

00 Monitor ROM PORT A

01 Monitor ROM PORT B

02 Monitor ROM PORT AData Direction Register

03 Monitor ROM PORT BData Direction Register

08 Expansion ROM PO RT A

09 Expansion ROM PO RT B

OA Expansion ROM PO RT AData Direction Register

OB Expansion ROM PO RT BData Direction Register

20 BASIC RAM COMMAND/STATUSRegister

21 BASIC RAM PORT A

22 BASIC RAM PORT B

23 BASIC RAM PORT C

24 BASI C RAM Low Order Byteof Timer Count

25 BASI C RAM High Order Byteof Timer Count

28 EXPANSION RAMCOMMAN D/STATUS Register

29 EXPANSION RAM PORT A

2A EXPANSION RAM PORT B

2B EXPANSION RAM PORT C

2C EXPANSION RAM Low Order Byteof Timer Count

2D EXPANSION RAM High Order Byteof Timer Count

5-6

Page 56: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

The display digits are stored within the 8279 dis­play RAM in the locations listed in Table 5-5.

5-6 THE SERIAL DATAINTERFACE

8279 DISPLAY RAMLOCATION PURPOSE

0 Address digit 11 22 33 4

4 Data Digit 15 2

6 UNUSED7 UNUSED

5-5

TABLE 5-5

PROCESSOR INTERRUPTALLOCATION

The SDK-85 has the capability of communicatingwith a teletype, using the 8085 serial input andserial output data lines (Sl D and SOD respectively)to send and receive the serial bit strings that encodedata characters.

To send data to the teletype, the 8085 must togglethe SOD line in a set/reset fashion controlled bysoftware timing routines in the SDK-85 monitor.

Input data is obtained by monitoring and timingchanges in the level of the Sl D pin. Again, a moni­tor routine is called upon to do the job.

These teletype communications routines are acces­sible to the user.

Both subroutines communicate at a data rate of110 baud, the standard rate for teletypewriters.

The 8085 has four Vector Interrupt input pins inaddition to an 8080A-compatible interrupt input.The name of each interrupt and its function in theSDK-85 hardware is listed in Table 5-6.

The function of the on-chip interrupts is describedin detail in the 8085 Manual.

TABLE 5-68085 ON-CHIP INTERRUPT ALLOCATION

INPUT FUNCTION

RST 5.5 Ded icated to 8279

RST 6.5 Avai lable User Interrupt

RST 7.5 @ill button interrupt

TRAP 81 55 Timer Interrupt

INTR Available User Interrupt

Since the 8085 serial input and output lines aredesigned for communicating with other integratedcircuits, additional electronic circuitry is neededbefore they can be connected to a terminal. TheTTY interface in the top right corner of the boardallows the SDK-85 to be connected to any tele­type that uses 20 mA "current-loop" input andoutput.

5-7

Page 57: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

5-7 CONVERTER CIRCUIT FORRS232C SERIAL PORT

If you are fortunate enough to have a CRT termi­nal that can operate at a 110-baud rate, and wishto use it with the SDK-85 computer, you mayfind that it is compatible only with "RS232c"voltage-level serial ports and not with currentloops. If this is the case,

o Wire the MC1488 and MC1489 convertercircuit (shown in Figure 5-5) into the wire­wrap area of the SDK-85 board.

o Remove R6, and connect the input line ofthe converter circuit to its lower pad. (Youcould put a switch in this line if you wantedto.)

o Open both the TTY and KEYBOARD jump­ers, and connect the output line of the con­verter to the middle pad, which is strapping

+5V

14

point 23. (If you are using a switch, one witha center off position could be used.)

o Connect your CRT as shown in Figure 5-5.

o Connect the 3 different voltages to thecircuit.

5-8 ADDITIONAL INTERFACES

Additional interface considerations are discussed inIntel Application Note AP-29, which also describesa low-cost cassette tape-recorder interface, thatcan be added to your SO K-85 kit. AP-29 can beordered by sending $1.00to: Literature Department,Intel Corp., 3065 Bowers Ave., Santa Clara, Ca.95051.

SID

8085

JUMPERPIN 23

11REMOVE .---+--f

R6

9J

<..>

<?

MC1489

7

13

CRTTERMINAL

DDDCJDDDDDDDD000000000000000000000000

4 CONVERTER INPUT LINESOD

+(9 TO 15)V -(9 TO 15)V

GND 20

2

MC1488

7

3

330pF

Figure 5-5 Modification for RS-232c Operation

5-8

Page 58: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

6-1 THE SDK-85 MONITOR

The SDK-85 monitor program provides utilityfunctions employing either a teletypewriter or thekit's on-board keyboard and display as console.The program resides in 2k (k = 1024) bytes of theROM memory, between location 0 and location7FF. the routines that service each console de-vice are independent; the two devices do not func­tion simultaneously. You may select either thekeyboard and display or the teletypewriter as theconsole device by actuating a switch (not furnished)or by changing strapping connections. Both can beused to perform substantially the same tasks. (SeeChapter 4.)

6-2 PROGRAMMING HINTS

Stack Pointer

The 8085 makes use of a 16-bit internal registercalled the Stack Pointer to point to an area ofmemory called the stack. The 8085's stack isused for saving many things, such as memoryaddresses for returns from subroutines.

It is important always to define the stack pointerat the beginning of your program to avoid storingdata in the wrong place. Locations 20C2 through2000 in RAM are reserved by the monitor forjump instructions when all interrupts are used.Thus, you should set the stack pointer initially at20C2 (by the use of the program instructionLXI SP, 20C2H (31 C2 20), the keyboard command

~ [;1J(20)~ (C2) EJ, or the teletypewriter"XS" command) in order to keep your own stackclear of data and programs you want to protect.If less than the full complement of interrupts is

CHAPTER 6THE SOFTWARE

utilized, some or all of the unused space above20C2 can be allocated to stack as described above.Remember that the stack must still occupy an un­broken string of contiguous memory locations.

RAM-I/O Command Status Register (CSR)

The basic 8155 command status register (port 20)is used to set up the on-chip I/O ports and timer.It can only be written to; it cannot be read. Youcan write to this register in your programs, butthere is a precaution you should take: at any timewhen you write to the CSR in the basic RAM, youshould also write the same pattern to RAM location20FF. The reason is this: The S~~~~E command causesthe monitor to change the CSR in order to setup the timer for execution of the command. If itis not told what value you previously put there (bysaving the value in 20FF), that value will inevitablybe overwritten and lost. Following each single step,the monitor reads location 20FF, logically DRs itstimer command to the content of that location, andwrites the CSR with the new command, therebyretrieving your previous configuration.

Access to Monitor Routines

You may "borrow" several of the SDK-85 monitorroutines to simplify your programming task. Table6-1 provides descriptions and calling addresses forthese routi nes.

6-3 PROGRAMMING EXAMPLES

The programming examples presented at the end ofthis chapter demonstrate how to use the monitorroutines to operate the keyboard and display.

6-1

Page 59: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

TABLE 6-1MONITOR ROUTINE CALLING ADDRESSES

6-2

Calling Address

07FD

07FA

05EB

06C7

0363

036E

02E7

05F1

Mnemonic

CI

co

CROUT

NMOUT

UPDAD

UPDDT

RDKBD

DELAY

Description

Console Input

This routine returns a character (in ASCII code - see 8085/8080reference card for codes) received from the teletype to the callerin the A register. The A register and CPU condition codes areaffected by this operation

Console Output

This routine transmits a character (in ASCII code), passed fromthe caller in the C register, to the teletypewriter. The A and Cregisters, and the CPU condition codes are affected.

Carriage Return, Line Feed

CROUT sends carriage return and line feed characters to theteletype. The contents of the A, B, and C registers are destroyedand the CPU condition codes are affected.

Hex Number Printer

NMOUT converts the 8-bit unsigned integer in the A register into2 ASCII characters representing the 2 hex digits and prints thetwo digits on the teletypewriter. The contents of the A, Band Cregisters and the condition code flags are affected.

Update Address

Update address field of the display. The contents of the D-Eregister pair are displayed in the address field of the display.The contents of all the CPU registers and flags are affected.

Update Data

Update data field of the display. The contents of the A registerare displayed in hex notation in the data field of the display.The contents of all of the CPU registers and flags are affected.

Read Keyboard

This routine waits until a character is entered on the hex keypadand upon return places the value of the character in the A regis­ter. The A, H, and L registers and the flag flip flops are affected.

NOTE: For RDKBD to work correctly, you must first:

1. Unmask RST 5.5 using the SIM instruction.

Time Delay

This routine takes the 16-bit contents of register pair DE andcounts down to zero, then returns to the calling program. TheA, D, and E registers and the flags are affected.

Page 60: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

TABLE 6-1MONITOR ROUTINE CALLING ADDRESSES (CONT'D)

Calling Address

02B7

Mnemonic

OUTPT

Description

Output Characters to Display

The routine sends characters to the display with the parametersset up by registers A, B, Hand L.

Reg A = 0 = use address field= 1 = use data field

Reg B = 0 = decimal point off= 1 = decimal point at right edge of field

Reg HL = starting address of characters to to sent.

CharacterDisplayed

o123456789AbCdEFHLPIrS

Blank

Hexadecimal memorycontent pointed toby the HL register

00010203040506070809OAOBOC00OEOF10111213140515

6-3

Page 61: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

PROGRAM EXAMPLE - RDKBD

After executing 02000, the program waits until a key is pressed. Then the value of the key is placedin the A register and the monitor is restarted. Use~ to see that the key value is now in the A register.

ADDRESS DATA SYMBOLIC

2000 31 LX I SP, 20C2H2001 C22002 202003 3E MVI A, 08H2004 082005 30 SIM2006 CD CALL RDKBD2007 E72008 022009 CF RST 1

COMMENTS

; define stack pointer

; unmask interrupt; read keyboard value; into Reg A

; break point, go back to monitor

PROGRAM EXAMPLE - UPDDT

Display FF in data field of display.

ADDRESS DATA

2000 312001 C22002 202003 3E2004 FF2005 CD2006 6E2007 032008 76

SYMBOLIC

LXI SP, 20C2H

MVI A, FFH

CALL UPDDT

HLT

COMMENTS

; define stack pointer

; load FF into Reg A

; output Reg A to data field

; HALT

To change the display value use~ to vary the content of location 2004

PROGRAM EXAMPLE - RDKBD, UPDDT

Putting the two preceding examples together into one program causes the display to show the key value.

ADDRESS DATA SYMBOLIC COMMENTS

2000 31C220 LXI SP, 20C2H ; define stack pointer2003 3E08 MVI A, 08H2005 30 SIM ; unmask interrupt2006 CDE702 LOOP: CALL RDKBD ; read keyboard value into Reg A2009 CD6E03 CALL UPDDT ; output Reg A to data field200C C30620 JMP LOOP ; keep looping

6-4

Page 62: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

PROGRAM EXAMPLE - ADD TWO NUMBERS IN HEX NOTATION

This program is an adaptation of the program above. The computer reads in two one-digit numbersusing RDKBD. Then it adds them, and displays the sum (base 16) on the LED display using UPDDT.

ADDRESS DATA SYMBOLIC COMMENTS

2000 31C220 LXISP,20C2H ; initialize stack pointer2003 3E08 MVI A, 08H2005 30 SIM ; unmask interrupts2006 CDE702 LOOP: CALL RDKBD ; get first number2009 47 MOV B,A ; save nu mber in B reg.200A CDE702 CALL RDKBD ; get second number2000 80 ADD B ; add the two nu mbers200E CD6E03 CALL UPDDT ; display the su m2011 C30620 JMP LOOP ; keep looping

Note: for decimal (base10) addition of digits 0-9, insert the DAA instruction (opcode 27) betweenADD B and CALL UPDDT in the above program.Additional Suggestion: Try modifying this program to perform 2-digit decimal number addition.(Hint: use the 8085's RLC instruction.)

PROGRAM EXAMPLE - 4-DIGIT HEX COUNTER

This program displays a 4-digit hexadecimal (base 16) count in the address field of the display usingthe UPDAD routine from the monitor.

ADDRESS DATA SYMBOLIC COMMENTS

2000 31C220 LXI SP 20C2 ; initialize stack pointer2003 13 LOOP: INX D ; add 1 to the 16-bit count2004 D5 PUSH D ; save the count in the stack2005 CD6303 CALL UPDAD ; display the count2008 110018 LXID,1800 ; set delay count200B CDF105 CALL DELAY ; wait out the delay200E D1 POP D ; restore the count to D & E regs200F C30320 JMP LOOP ; keep counting

6-5

Page 63: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

PROGRAM EXAMPLE - DECIMAL COUNTER

The following program displays a count in the data field of the display. The count may be stopped bypressing the @ill button. The count resumes when any other key (except 8) is pressed. The liE" inthe address field of the display signifies that a user program is executing.

ADDRESS DATA

2000 312001 802002 202003 3E2004 082005 302006 FB2007 782008 3C2009 27200A 47200B C5200C CD2000 6E200E 03200F 162010 182011 CD2012 F12013 052014 C12015 C32016 062017 20

20CE FB

20CF 762000 C9

SYMBOLIC

LXI SP, 2080H

MVI A, 08

SIMLOOP: EI

MOV A, BINR ADAAMOV B, APUSH BCALL UPDDT

MVI 0, 18H

CALL DELAY

POP BJMP LOOP

EI

HLTRET

COMMENTS

; INITIALIZE STACK POINTER.

; USE THE 8085's SIM INSTR TO; ENABLE THE VECT INTR BUTTON.

; INCREMENT AND ADJUST THE COUNT; FOR DECIMAL COUNTING.

; DISPLAY COUNT IN DATA FIELD OF; DISPLAY.

; WAIT OUT A PROGRAMMABLE DELAY; PERIOD BEFORE CONTINUING.

; GO BACK TO THE BEGINNING.

; CONTROL BRANCHES TO LOCATION; 20CE WHEN VECT INTR IS PRESSED.; WAIT HERE FOR KEY DEPRESSION.; RESUME THE COUNT.

To execute the program, type in 0 2000 ~.

Try to stop the count right at 00 using the~ key.

Change the speed of the count by using~ to vary the contents of location 2010.

Additional Suggestions:

This counter can be turned into a digital stopwatch second counter by inserting the following instruc­tions between DAA and MOV B, A in the above program:

200A200C200F

FE60C21020AF

CPI A,60JNZ 2010XRAA

; check to see if count = 60; continue if count :f 60.; if count = 60 then set thecount = 0

In addition, you will have to insert another MVI 0 and CALL DE LAY before POP B and vary bothdelay counts in order to get exactly one second between counts on the LED display.

Additional Programming Idea: Expand on the digital stopwatch program by displaying hours andminutes in the address field of the LE 0 display.

6-6

Page 64: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

PROGRAM EXAMPLE - FLASH HELP

Load into Locations 2000 through 2007 (use the Substitute Memory command) the followingdata: 10, OE, 11, 12, 15,15,15,15. Then load and execute the following program (G2010~)'The display will flash "HELP".

COMMENTS

; define stack pointer; use data field; no decimal indicator; use characters starting; at Location 2006; output the two characters; to data field

ADDRESS DATA SYMBOLIC

2010 31C220 LXI SP, 20C2H2013 3E01 MVI A, 12015 0600 MVI B,O2017 210620 LXI H, 2006H

201A CDB702 CALL OUTPT

DPY:201D 3EOO MVI A,O201F 0600 MVI B,O2021 210020 LXI H, 2000H

2024 CDB702 CALL OUTPT

; use address field; no decimal indicator; use characters starting; at Location 2000; output the four characters; to address field

2027 11FFFF LXI D,OFFFFH*202A CDF105 CALL DELAY

202D 3EOO MOV A, 0202F 0600 MOV B, 02031 210420 LXI H, 2004H2034 CDB702 CALL OUTPT

2037 11FFFF LXI D,OFFFFH203A CDF105 CALL DELAY203D C31D20 JMP DPY

; set up delay value; time delay

; output BLAN KS to; Display

; time Delay; REPEAT

* Delay time proportional to value. Any number from 1 through FFFF may be chosen.

Additional Suggestions:

You may select any other 4-letter word from the characters on p. 6-3 and place the hex codes forthose letters in memory locations 2000-2003. Then restart the program from location 2010 andyour new word will flash on the display.

In addition, you may place the hex codes from p. 6-3 for a 2-letter word (like "HI") in memorylocations 2004 and 2005, and the 2-letter word will flash in between the flashes of the 4-letter word.

6-7

Page 65: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

PROGRAM EXAMPLE - USING THE 8155 AND 8355 DEVICE OUTPUT PORTS

ADDRESS DATA SYMBOLIC COMMENTS

2000 31C220 LXI SP, 20C2H ; initialize stack pointer2003 3E03 MVI A,03 ; put 8155 command in A reg.2005 0320 OUT 20H ; program the 8155 CS R2007 3EFF MVI A, FF ; put 8355 DDR value in A reg.2009 0302 OUT 02 ; program PORT A DDR2008 0303 OUT 03 ; program PORT 8 DDR2000 03 LOOP: INX8 ; increment 16-bit count200E 79 MOV A, C200F 0321 OUT 21 ; send low byte of count2011 0300 aUTO ; to 8155 PORT A and

; to 8355 port A2013 78 MOV A, 82014 0322 OUT 22 ; send hi byte of

; count to 8155 port 82016 0301 OUT01 ; send hi byte of

; count to 8355 port 82018 C30D20 JMP LOOP ; loop back.

This program is an example showing how to configure the input/output ports of the 8155 and 8355devices as output ports. The command register of the 8155 is loaded with the value 03 at the begin­ning of the program to signify that both 8155 ports A and 8 will be outputs. Likewise, both portsA and 8 of the 8355 are programmed to be outputs by writing all one's (FF) to both Data DirectionRegisters in the 8355.

The program increments a 16-bit binary count and sends the cou nt out through the ports of the 8155and 8355. If you have a logic probe or oscilloscope, you can look at the corresponding outputs onconnector pads J3 and J4 on the SDK-85 PC board.

6-8

Page 66: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

APPENDIX AMONITOR LISTING

Page 67: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ASM80 :Fl:SDK85.SRC MACROFILE MOD85 XREF PRIN'f(:Fl:SDK85.LS'l')

ISIS-II 8080/8085 MACRO ASSEMBLER, X108 SDK85 PAGE

LOC OBJ SEQ SOURCE STATEMENT

••••.••=.ABSTRACT

CMMND

PROGRAM ORGANIZATION

i0-NO WAIT STATESil·A WAIT STATE IS GENERATED FOR EVERY M CYCLEiTHE APPROPRIATE DELAY TIME MUST BE USED FOR

iTTY DELAY OR SET UP SINGLEiSTEP TIMER FOR EACH CASE

SDK85NAME

SET

CLEARCLDISCLOSTDISPCERRGTHEXHXDSPININTINSDGNXTRGOUTPTRDKBDRETFRETTRGLOCRSTORSETRGUPDADUPDDT

EXAMGOCMDSSTEPSUBST

MONITOR EQUATES

THE PROGRAM IS ORGANIZED AS FOLLOWS1) COLD START ROUTINE (RESET)2) WARM START - REGISTER SAVE ROUTINE3) INTERRUPT VECTORS4) KEYBOARD MONITOR5) TTY MONITOR6) LAYOUT OF RAM USAGE

THE KEYBOARD MONITOR BEGINS WITH THE COMMAND RECOGNIZER, FOLLOWED BYTHE COMMAND ROUTINE SECTION, UTILITY ROUTINE SECTION AND MONITORTABLES. THE COMMAND AND UTILITY ROUTINES ARE IN ALPHABETICAL ORDERWITHIN THEIR RESPECTIVE SECTIONS.THROUGHOUT THE KEYBOARD MONITOR, A COMMENT FIELD BEGINNINGWITH -ARG - " INDICATES A STATEMENT WHICH LOADS A VALUE INTOA REGISTER AS AN ARGUMENT FOR A FUNCTION. WHEN THE DESIRED VALUELIST OF KEYBOARD MONITOR ROUTINES

SET CONDITIONAL ASSEMBLY FLAG

THIS PROGRAM IS A SMALL MONITOR FOR THE INTEL 8085 KIT ANDPROVIDES A MINIMUM LEVEL OF UTILITY FUNCTIONS FOR THE USER EMPLOYINGEITHER AN INTER-ACTIVE CONSOLE (I.E. TELETYPE) OR TKE KIT'SKEYBOARD/LED DISPLAY. THE KEYBOARD MONITOR ALLOWS THE USER TO PERFORMSUCH FUNCTIONS AS MEMORY AND REGISTER MANIPULATION, PROGRAM LOADING,PROGRAM EXECUTION, INTERRUPTION OF AN EXECUTING PROGRAM, ANDSYSTEM RESET •.

PROGRAM: SDK-85 MONITOR VER 2.1

i***************************************************** *****************

,i***************************************************** *****************

COPYRIGHT (C) 1977INTEL CORPORATION3865 BOWERS AVENUESANTA CLARA, CALIFORNIA 95051

,i***************************************************** ******************

,i***************************************************** *****************

,i***************************************************** *****************

,i***************************************************** *****************

WAITS

RAMST EQU 2000H i START ADDRESS OF RAM - THIS PROGRAM ASSUMESTHAT 256 BYTES OF RANDOM ACCESS MEMORY BEGIN AT THIS ADDRESS.THE PROGRAM USES STORAGE AT THE END OF THIS SPACE FOR VARIABLES,SAVING REGISTERS AND THE PROGRAM STACK

123456789

10111213141516171819202122232425262728293031323334353637383940414243444546474rj

49505152535455565758596861626364656667686978717273747576777879888182838485868788899091929394959697

0000

2000

Page 68: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8B88/8885 MACRO ASSEMBLER, X188 SDK85 PAGE

LOC OBJ SEQ SOURCE STATEMENT

MONITOR MACROS

i***************************************************** *****************

i***************************************************** *****************

,i***************************************************** *****************

BRANCH IF FUNCTION RETURNS FALSE

5 USER BRANCHES - 3 BYTES EACH

GE'r CONTROL CtJARACTERSET KEYBOARD/DISPLAY MODEGO FINISH COLD STARTTHEN JUMP BACK HERE

RAM USAGE - CURRENTLY, 23 BYTES ARE USED FOR/SAVING REGISTERS AND VARIABLES

MONITOR STACK USAGE - MAX OF 12 LEVELS

SAVE H & L REGISTERSGET USER PROGRAM COUNTER FROM TOP OF STACK/AND SAVE IT

i BRANCH IF FUNCTION RETURNS TRUE

iTIMER VALUE FOR SINGLE STEP IF ONE WAIT STATE INSERTED

23

24

WHEREWHERE

WHEREWHERE

WAITS237

15

A,KMODECNTRLCLOST

INDICATES USE OF ADDRESS FIELD OF DISPLAYCONTROL CHARACTER TO INDICATE OUTPUT TO/ADDRESS FIELD OF DISPLAYADDRESS FOR SENDING CONTROL CHARACTERS TO/DISPLAY CHIP

i COMMA FROM KEYBOARDi'INITIAL VALUE FOR COMMAND STATUS REGISTER

OUTPUT PORT FOR COMMAND STATUS REGISTERCONTROL CHARACTER TO INDICATE OUTPUT TO/DATA FIELD OF DISPLAYINDICATOR FOR DOT IN DISPLAYADDRESS FOR SENDING CHARACTERS TO DISPLAYINDICATES USE OF DATA FIELD OF DISPLAYMASK FOR TURNING ON DOT IN DISPLAYHIGH ORDER 1 INDICATES EMPTY INPUT BUFFERCONTROL CHARACTER TO SET DISPLAY OUTPUT TO/ALL ONES DURING BLANKING PERIODCONTROL CHAR. TO SET KEYBOARD/DISPLAY MODE

, (2 KEY ROLLOVER, 8 CHARACTER LEFT ENTRY)256 - RMUSE iSTART OF MONITOR STACK

INDICATOR FOR NO DOT IN DISPLAYNUMBER OF COMMANDSNUMBER OF REGISTER SAVE LOCATIONSPERIOD FROM KEYBOARDPROMPT CHARACTER FOR DISPLAY (DASH)CONTROL CHARACTER TO INDICATE INPUT FROM/KEYBOARDOUTPUT PORT FOR HIGH ORDER BYTE OF TIMER VALUEOUTPUT PORT FOR LOW ORDER BYTE OF TIMER VALUETIMER MODE - SOUARE WAVE, AUTO RELOADSTART TIMER

, UNMASK INPUT INTERRUPT256 - (RMUSE + SKLN + UBRLN) i START OF USER

i /BRANCH LOCATIONSI-WAITS iTIMER VALUE FOR SINGLE STEP IF NO WAIT STATE197

BoRES10

25H24H40H0C0H0EHRAMST +

1900H

o90H

I1Ho20H94H

1180aH108H80H0CCH

8REGISTERS

LSAVHPSAVPSWHFSAV SAVE FLIP/FLOPS & REGISTER AH,0 CLEAR H & LSP GET USER STACK POINTERSSAV i /AND SAVE ITH,BSAV+l i SET STACK POINTER FOR SAVING

i /REMAINING REGISTERSi SAVE B & Ci SAVE 0 & Ei LEAVE ROOM FOR VECTORED INTERRUPTS

EOU

EQU

EQU

EQUEQU

EOUEOUEQUEQUEQUEOU

IFEQUENDIFIFEOUENDIF

EOU

EQU

EQUEQUEOUEOU

EOUEQUEQUEQUEOUEOU

RST ENTRY POINT

RST 1 ENTRY POINT - WARM START

ORG 28H

MACROJCENDM

MACROJNCENDM

MVISTAJMP

.. RESET" KEY ENTRY POINT - COLD STARTRST 0 ENTRY POINT

TIMER INTERRUPT (TRAP) ENTRY POINT (RST 4.5)ORG 24HJMP STP25 BACK TO SINGLE STEP ROUTINE

ORGSAVESHLDPOPSHLDPUSHPOPSHLDL;aDADSHLDLXISPHLPUSHPUSHJMP

RMUSE

,UBRLN

ADFLDADISP

CLDBK:

KMODE

,TRUE

TIMER

,SKLN

,FALSE

COMMACSNITCSRDDISP

C~TRL

TIMHITIMLOTMODETSTRTUNMSKUSRBR

DOTDSPLYDTFLDDTMSKEMPTYKBNIT

MNSTK EOU RAMST +NODOT EQU 0iNUMC - DEFINED LATERiNUMRG - DEFINED LATERPERIO EOU 10HPRMPT EOU eFBHREAD EOU 40H

'rIMER

9899

la0101la2103104105106107108109110III11211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916816116216316416516616716816917017117217317417517617717817918018118218318418518618718H189190191192193194195196

aa18

00C5

0a17

20E9008a

0011030000200094

0aaF

a0aa0a9~

1900

0001180000010008008000CC

0~00

0000 3E00~002 3200190005 C3F101

00250a24004000C0000E20C2

8008

001000FB0840

8808 22EF28a80B El8a0C 22F220000F F58a10 El0all 22ED200014 2100000017 390018 22F420001B 21ED20001E F9001F C50020 050021 C33F00

0024a024 C35701

Page 69: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8080/8~85 MACRO ASSEMBLER, X108 SDK85 PAGE

BEGINNING OF KEYBOARD MONITOR CODE

HARD WIRED USER INTERRUPT ENTRY POINT (RST 6.5)

INPUT INTERRUPT ENTRY POINT (RST 5.5)

;****.*.***.****************.***.**************************************

SET INPUT BUFFER EMPTY FLAG

INITIALIZE MONITOR STACK POINTER

BRANCH TO INPUT INTERRUPT ROUTINE

BRANCH TO RST 6.5 LOCATION IN RAM

GET HIGH ORDER BYTE OF COMMAND ADDRESS IN HPUT LOW ORDER BYTE IN LROUTINE ADDRESS IS NOW IN H & LBRANCH TO ADDRESS IN H & L

GET ADDRESS OF COMMAND ADDRESS TABLEADJUST COMMAND COUNTERACTS AS POINTER TO COMMAND ADDRESS TABLEADD POINTER TO TABLE ADDRESS TWICE BECAUSETABLE HAS 2 BYTE ENTRIESGET LOW ORDER BYTE OF COMMAND ADDRESS

OUTPUT PROMPT CHARACTER TO DISPLAYGET ADDRESS FOR CONTROL CHARACTEROUTPUT CONTROL CHARACTER TO USE ADDRESS FIELDADDRESS FOR OUTPUT CHARACTEROUTPUT PROMPT CHARACTERREAD KEYBOARDCOUNTER FOR NUMBER OF COMMANDS IN CGET ADDRESS OF COMMAND TABLE

RECOGNIZE THE COMMAND ?YES - GO PROCESS ITNO - NEXT COMMAND TABLE ENTRYEND OF TABLE ?NO - GO CHECK NEXT ENTRYYES - COMMAND UNKNOWNDISPLAY ERROR MESSAGE AND GET ANOTHER COMMAND

INTERRUPTS DISABLED WHILE MONITOR IS RUNNING(EXCEPT WHEN WAITING FOR INPUT)TTY OR KEYBOARD MONITOR ?IS TTY CONNECTED ?YES - BRANCH TO TTY MONITORNO - ENTER KEYBOARD MONITOR

; BRANCH TO RST 5 LOCATION IN RAM

; BRANCH TO RST 6 LOCATION IN RAM

; BRANCH TO RST 7 LOCATION IN RAM

OUTPTA,DTFLDB,NODOTH,SGNDT

RSET5

OUTPTA,EMPTYIBUFF

H,MNS'rK

2CHININ'r

ERR

H,CNTRLM,ADISPHM,PRMPTRDKBDB,NUMCH,CMDTB

30HRSET6

H,CMDADC; COUNTERBBA,MHH,ML,A ,

COMMAND

34HRST65

GO

38HRSET7

MCMD15HCCMD10

SIGN-ON MESSAGEA ARG - USE ADDRESS FIELD OF DISPLAYB,NODOT ARG - NO DOT IN ADDRESS FIELDH,SGNAD ARG - GET ADDRESS OF ADDRESS FIELD PORTION OF

/SIGN-ON MESSAGEOUTPUT SIGN-ON MESSAGE TO ADDRESS FIELDARG - USE DATA FIELD OF DISPLAYARG - NO DOT IN DATA FIELDARG - GET ADDRESS OF DATA FIELD PORTION OF/SIGN-ON MESSAGEOUTPUT SIGN-ON MESSAGE TO DATA FIELD

LXIOCR

CALLMVISTA

LXISPHL

CALLMVIMVILXI

RST ENTRY POINT

LXIMVIOCRMVICALLLXILXI

PCHL

ou'rpUTXRAMVILXI

; CONTINUE SAVING USER STATUSRIM GET USER INTERRUPT STATUS AND INTERRUPT MASKANI "FH KEEP STATUS & MASK BITSSTA ISAV SAVE INTERRUPT STATUS & MASKMVI A,UNMSK UNMASK INTERRUPTS FOR MONITOR USESIM01

DADDADMOVINXMOVMOV

JMP

ORGJMP

RIMRLCJC

HVECTORED INTERRUPT" KEY ENTRY POINT (RST 7.5)ORG 3CHJMP USINT BRANCH TO USER INTERRUPT LOCATION IN RAM

ORGJMP

ORGJMP

CMFJZINXOCRJNZ

JMP

ORGJMP

SOURCE STATEMENT

FUNCTION: CMMND - COMMAND RECOGNIZERINPU'rS: NONEOUTPU'rS: NONECALLS: RDKBD,ERR,SUBST,EXAM,GOCMD,SSTEPDESTROYS: A,B,C,D,E,H,L,F/FIS

.*.*. RST 6 ENTRY POINT

.**.*

;***************.********************************.*********************

RES10:

,;* ••***.* •• *** •• *••**** •• *.*.*.***.***•••••*•• **.* ••***•• *.*•••*•••• ***

,CMMND:

CMD15:

CM01":

SEQ

19719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726ij269270271272273274275276277278279280281282283284285286287288289290291292293294295

0028 C3C220

0084 C31502

0087 217C03008A 00

0078 BE007C CA8700007F 23008~ 000081 C27B00

005E CDB7020061 3E800063 32FE20

0~66 21E9200069 F9

003C003C C3CE20

002C002C C38E02

00300030 C3C520

004E AF004F 06000051 21A603

003F 200040 E60F0042 32F1200045 3E0E0047 300048 F3

00340034 C3C820

0054 CDB7020057 3E010059 06000~5B 21AA03

0049 20004A 07004B DAFA03

0091 E9

008B 09008C 090080 7E008E 23008F 660090 6F

~~6A 2100190060 369~

006F 250070 36FB0072 CDE7020075 0104000078 217ij03

LOC OBJ

. 00380038 C3CB20

Page 70: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

~IS-Il ij~d0/8085 MACRO ASSEMBLER, X108 SDK85 PAGE

LOC OBJ SEQ SOuRCE STATEMENT

FUNCTION: GOCMD - EXECUTE USER PROGRAMINPUTS: NONEOUTPUTS: NONECALLS: DISPC,ROKBD,CLEAR,GTHEX,ERR,OUTPTDESTROYS: A,B,C,D,E,H,L,F/F'S

FUNCTION: EXAM - EXAMINE AND MODIFY REGISTERSINPUTS: NONEOUTPUTS: NONECALLS: CLEAR,SETRG,ERR,RGNAM,RGLOC,UPDDT,GTHEX,NXTRGDESTROYS: A,B,C,O,E,H,L,F/F'S

FUNCTION: SSTEP - SINGLE STEP (EXECUTE ONE USER INSTRUCTION)INPUTS: NONEOUTPUTS: NONECALLS: DISPC,RDKBD,CLEAR,GTHEX,ERRDESTROYS: A,B,C,D,E,H,L,F/FIS

NO - CLEAR DISPLAY AND TERMINATE COMMAND

YES - GET REGISTER SAVE LOCATION IN H & LUPDATE REGISTER CONTENTS

DISPLAY USER PROGRAM COUNTERREAD FROM KEYBOARDIS CHARACTER A PERIOD ?YES - GO EXECUTE THE COMMANDNO - ARG - CHARACTER IS STILL IN AREPLACE CHARACTER IN INPUT BUFFERARG - DOT IN ADDRESS FIELDCLEAR DISPLAYARG - USE ADDRESS FIELDGET HEX DIGITSWAS LAST CHARACTER A PERIOD ?NO - DISPLAY ERROR MSG. AND TERMINATE COMMANDPUT HEX VALUE FROM GTHEX TO H & LHEX VALUE IS NEW USER PC

OUTPUT REGISTER NAME TO ADDRESS FIELDGET REGISTER SAVE LOCATION IN H & LGET REGISTER CONTENTSSTORE REGISTER CONTENTS AT CURRENT DATAARG - DOT IN DATA FIELDUPDATE DATA FIELD OF DISPLAYARG - USE DATA FIELD OF DISPLAYGET HEX DIGITS - WERE ANY DIGITS RECEIVED?NO - DO NOT UPDATE REGISTER CONTENTS

DISPLAY USER PROGRAM COUNTERREAD FROM KEYBOARDWAS CHARACTER A PERIOD ?YES - CLEAR DISPLAY AND TERMINATE COMMANDWAS LAST CHARACTER ,I?YES - GO SET TIMER

FROM KEYBOARD WAS NEITHER PERIOD NOR COMMAREPLACE THE CHARACTER IN THE INPUT BUFFERARG - DOT IN ADDRESS FIELDCLEAR DISPLAYARG - USE ADDRESS FIELD OF DISPLAYGET HEX DIGITS - WERE ANY DIGITS RECEIVED ?NO - DISPLAY ERROR MSG. AND TERMINATE COMMAND

YES - ARG - NO DOT IN ADDRESS FIELDCLEAR DISPLAYARG - USE ADDRESS FIELD OF DISPLAYARG - NO DOT IN ADDRESS FIELDGET ADbRESS OF EXECUTION MESSAGE IN H & LDISPLAY EXECUTION MESSAGE

, RESTORE USER REGISTERS INCL. PROGRAM COUNTER;/I.E. BEGIN EXECUTION OF USER PROGRAM

WAS LAST CHARACTER A pERIOD ?; YES - CLEAR DISPLAY AND TERMINATE COMMAND

WAS LAST CHARACTER ',' ?NO - DISPLAY ERROR MSG. AND TERMINATE COMMAND

; YES - ADVANCE REGISTER POINTER TO;/NEXT REGISTER

ANY MORE REGISTERS ?YES - CONTINUE PROCESSING WITH NEXT REGISTER

COMMAND ROUTINES

: ARG - DOT IN ADDRESS FIELD OF DISPLAY; CLEAR DISPLAY; GET REGISTER DESIGNATOR FROM KEYBOARD AND:/SET REGISTER POINTER ACCORDINGLY

WAS CHARACTER A REGISTER DESIGNATOR?NO - DISPLAY ERROR MSG. AND TERMINATE COMMANDERR

ERR

B,NODOTCLEARAB,NODOTH,EXMSGOUTPTRSTOR

PSAV

EXMS5EXMI5CLOIS

IBUFFB,DOTCLEARB,ADFLDGTHEXPERIOERR

PERIOCLDISCOMMAERRNXTRG

DISPCRDKBDPERIOGIl

B,DOTCLEARSETRG

RGNAMRGLOCA,MCURDTB,DOTUPDOTB,DTFLDGTHEXEXM10EXM10RGLOCH,E

DISPCRDKBDPERIOCLDISCOMMASTP20

CHARACTERIBUFFB,DOTCLEARB,ADFLDGTHEXERR

MVICALLCALL

CPIJZCPIJNZCALL

MVICALLXRAMVILXICALLJMP

CALLCALLCPIJZCPIJZ: NO ­STAMVICALLMVICALLFALSE

TRUEJCJMP

FALSEJNC

CALLCALLCPIJZ

STAMVICALLMVICALLCPIJNZXCHGSHLD

CALLCALLMOVSTAMVICALLMviCALLFALSEJNCCALLMOV

296 :**********************************************************************297298299 ,300 :**********************************************************************3013S2303304305386307 ,388 EXAM:389318311312313314315+316 EXM85:317318319320321322323324325326+327328329 EXH18:338331332333334335336337338+339348 ;341 ;**********************************************************************342 ;343344345346347348 ,349 GOCMD:358351352353354355356357358359360361362363364 G10:365366367368369370371372373 ,374 :**********************************************************************375376377378379380381 ,382 SSTEP:383384385386387388389390391392393394395

0100 32FE200110 06010112 COD7010115 06000117 CD2B02

00FD CD00029100 CDE7020103 FE100105 CAE90101"S FEll019A CA2601

8192 "611""94 CDD7111897 CD4413

.,C5 OA9011I.C8 C3E9.1

le9A 021582

8190 COl913IIAI COFC02IIA3 7EIIA4 32F828ItA7 8681""A9 C06BI3IIAC 161181AE C02BI2

1181 028811IIB4 CDFCI2IIB7 73

IIBS FEllIIBA CAE911"80 FEll'"BF C21512.IC2 COASI2

88CB CDII92.8CE CDE7929101 FE198803 CAEC89

9806 32FE298809 8681180B C00791IIOE 9691IIEI C0289291E3 FE1981E5 C2159219E8 EBIIE9 22F229

IIEC 86SS8SEE CDD781S8F1 AFSIF2 8609SSF4 21A2930SF7 CDB702S8FA C31B03

Page 71: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8181/8085 MACRO ASSEMBLER, X118 SDK85 PAGE

,i····················································· .

FUNCTION: SUBST - SUBSTITUTE MEMORYINPUTS: NONEOUTPUTS: NONECALLS: CLEAR,GTHEX,UPDAD,UPDDT,ERRDESTROYS: A,B,C,D,E,H,L,F/F'S

STP20:

STP21:

FOR

EI INSTRUCTIONNOYES - SET USER INTERRUPT STATUS

HEX VALUE FROM GTHEX TO H & LHEX VALUE IS NEW USER PCWAS LAST CHARACTER FROM GTHEX A PERIOD ?YES - CLEAR DISPLAY AND TERMINATE COMMANDNO - MUST HAVE BEEN A COMMA

SAVE NEW USER INTERRUPT STATUS

GET USER INTERRUPT MASKKEEP INTERRUPT STATUSSAVE USER INTERRUPT STATUSGET USER PCGET USER INSTRUCTION01 INSTRUCTION ?NOYES - RESET USER INTERRUPT STATUS

GO GET READY FOR ANOTHER INSTRUCTION

ARG - DOT IN ADDRESS FIELDCLEAR THE DISPLAYARG - USE ADDRESS FIELD OF DISPLAYGET HEX DIGITS - WERE ANY DIGITS RECEIVED?NO - DISPLAY ERROR MSG. AND TERMINATE COMMAND

WAS ',' THE LAST CHARACTER FROM KEYBOARD?NO - GO TERMINATE THE COMMANDARG - NO DOT IN ADDRESS FIELDUPDATE ADDRESS FIELD OF DISPLAYGET CURRENT ADDRESS IN H & LGET DATA BYTE POINTED TO BY CURRENT ADDRESSSTORE DATA BYTE AT CURRENT DATAARG - DOT IN DATA FIELDUPDATE DATA FIELD OF DISPLAYARG - USE DATA FIELDGET HEX DIGITS - WERE ANY HEX DIGITS RECEIVED?(SAVE LAST CHARACTER)NO - LEAVE DATA UNCHANGED AT CURRENT ADDRESS

ASSIGN HEX VALUE RETURNED BY GTHEX TO/ CURRENT ADDRESS

i 8RANCH HERE WHEN TIMER INTERRUPTS AFTERi/ONE USER INSTRUCTION

SAVE PSWGET USER IMAGE OF WHAT'S IN CSRCLEAR 2 HIGH ORDER BITSSET TIMER STOP BITSTOP TIMERRETRIEVE PSWSAVE H & LGET USER PROGRAM COUNTER FROM TOP OF STACKSAVE USER PC

TEMP

8o

PSAVPERIOCLDIS

(EI)STP23A,08H

ERR

ISAV08HTEMPPSAVA,M(01)STP21ASTP22

CURAD

B,DOTCLEARB,ADFLDGTHEXERRERR

PSWUSCSR3FH40HCSRPSWLSAVHPSAVPSWHFSAV SAVE FLIP/FLOPS AND A REGISTERH,I CLEAR H & LSP GET USER STACK POINTERSSAV i SAVE USER STACK POINTERH,8SAV+1 i SET MONITOR STACK POINTER

i/SAVING REMAINING USER REGISTERSSAVE B & CSAVE 0 & EGET USER INTERRUPT MASKKEEP MASK 8ITSGET USER INTERRUPT STATUSOR IT INTO MASKSAVE INTERRUPT STATUS & MASKUNMASK INTERRUPTS FOR MONITOR USE

17HH,TEMPMISAVA,UNMSK

SSTEP

COMMASUB15B,NODOTUPDADCURADA,MCURDTB,DOTUPDDTB,DTFLDGTHEXPSWSUB10SUB10CURAD YES - GET CURRENT ADDRESS IN H & LH,E STORE NEW DATA AT CURRENT ADDRESSi MAKE SURE DATA WAS ACTUALLY STORED IN CASEi/CURRENT ADDRESS IS IN ROM OR IS NON-EXISTAN1A,E ; DATA TO A FOR COMPARISON

STA

MOV

CPIJNZMVI

LOAANISTALHLDMOVCPIJNZXRAJMP

MVI A,(TIMER SHR 8) OR TMODE i HIGH ORDER BITS OF TIMER VALUEi /OR'ED WITH TIMER MODE

OUT TIMHIMVI A,TIMER AND IFFH i LOW ORDER BITS OF TIMER VALUEOUT TIMLOLOA USCSR GET USER IMAGE OF WHAT'S IN CSRORI TSTRT SET TIMER COMMAND 8ITS TO START TIMEROUT CSR START TIMERJMP RSTOR RESTORE USER REGISTERS

PUSHLOAANIoaIOUTPOPSHLDPOPSHLDPUSHPOPSHLDLXIDADSHLOLXISPHLPUSHPUSHRIMANILXIORASTAMVISIMJMP

MVICALLMVICALLFALSEJNCXCHGSHLD

JNCXCHGSHLDCPIJZ

C?IJNZMVICALLLHLDMOVSTAMVICALLMVICALLPUSHFALSEJNCLHLDMOV

SOURCE STATEMENT

STP23:

STP22:

,STP25:

,SUBST:

SU805:

SEQ

396+397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439441441442443444445446447448449451451452453454455456457458459460461462463464465466467468469470471472473+474475476477478479480481482483484485486487488489490+491492493494495

113B FEFB1130 C245110141 3E08

0142 32FD20

0145 3E40

0147 03251149 3EC50148 03241140 3AFF210151 F6CI0152 03210154 C31803

0126 3AF1201129 E608012B 32FD21112E 2AF2201131 7E0132 FEF30134 C23Bll1137 AF0138 C34211

119C FEll019E C2CFllI1A1 161101A3 CD5FI301A6 2AF620I1A9 7E01AA 32F82001AD 061101AF CD6B030182 06110184 CD2B020187 F5

1188 D2C40101BB 2AF62101BE 73

1188 16018180 CDD7111190 06111192 CD2802

0195 0215120198 E80199 22F621

01BF 7B

LOC OBJ

011A 0215020110 EBI11E 22F2201121 FE101123 CAE901

1157 F58158 3AFF218158 E63F8150 F648815F 03208161 F11162 22EF211165 £11166 22F2211169 '5116A £11168 22£028116E 2111111171 391172 22'4281175 21E0211178 F91179 C5117A 05.178 21117C £617117£ 21'D211181 861182 32r121.185 3£.£1187 3.0188 C3FD80

Page 72: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8089/8085 MACRO ASSEMBLER, X108 SDK85 PAGE 6

IN B

WAS DATA STORED CORRECTLY?NO - DISPLAY ERROR MSG. AND TERMINATE COMMAND

INCREMENT CURRENT ADDRESS

RETRIEVE LAST CHARACTER

WAS LAST CHARACTER I. I ?NO - DISPLAY ERROR MSG. AND TERMINATE COMMANDYES - CLEAR DISPLAY AND TERMINATE COMMAND

ARG - USE ADDRESS FIELD OF DISPLAYARG - FLAG FOR DOT IN ADDR. FIELD ISARG - ADDRESS OF BLANKS FOR DISPLAYOUTPUT BLANKS TO ADDRESS FIELDARG - USE DATA FIELD OF DISPLAYARG - NO DOT IN DATA FIELDARG - ADDRESS OF BLANKS FOR DISPLAYOUTPUT BLANKS TO DATA FIELDRETURN

ARG - NO DOT IN ADDRESS FIELDCLEAR THE DISPLAYGO GET ANOTHER COMMAND

GET USER PROGRAM COUNTERMAKE IT THE CURRENT ADDRESSGET THE INSTRUCTION AT THAT ADDRESSMAKE IT THE CURRENT DATAARG - DOT IN ADDRESS FIELDUPDATE ADDRESS FIELD OF DISPLAYARG - NO DOT IN DATA FIELDUPDATE DATA FIELD OF DISPLAY

GET CONTROL CHARACTERINITIALIZE KEYBOARD/DISPLAY BLANKINGINITIAL VALUE OF COMMAND STATUS REGISTERINITIALIZE CSRINITIALIZE USER CSR VALUEBACK TO MAIN PROCEDURE

UTILITY ROUTINES

A

H,BLNKSOUTPTA,DTFLDB,NODOTH,BLNKSOUTPT

B,NODOTCLEARCMMND

A,KBNITCNTRLA,CSNITCSRUSCSRCLDBK

PSAVCURADA,MCURDTB,DOTUPDADB,NODOTUPDDT

XRA

LXICALLMVIMVILXICALLRET

LHLDSHLDMOVSTAMVICALLMVICALLRET

MVICALLJMP

MVISTAMVIOUTSTAJMP

SOURCE STATEMENT

CMP MJNZ ERR

LHLD CURADINX HSHLD CURADPOP PSWJMP SUB05

CPI PERIOJNZ ERRJMP CLDIS

FUNCTION: CLEAR - CLEAR THE DISPLAYINPUTS: B - DOT FLAG - 1 MEANS PUT DOT IN ADDRESS FIELD OF DISPLAY

- 0 MEANS NO DOTOUTPUTS: NONECALLS: OUTPTDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: CLEAR SENDS BLANK CHARACTERS TO BOTH THE ADDRESS FIELD

AND THE DATA FIELD OF THE DISPLAY. IF THE DOT FLAG ISSET THEN A DOT WILL APPEAR AT THE RIGHT EDGE OF THEADDRESS FIELD.

FUNCTION: CLDIS - CLEAR DISPLAY AND TERMINATE COMMANDINPUTS: NONEOUTPUTS: NONECALLS: CLEARDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: CLDIS IS JUMPED TO BY COMMAND ROUTINES WISHING TO

TERMINATE NORMALLY. CLDIS CLEARS THE DISPLAY ANDBRANCHES TO THE COMMAND RECOGNIZER.

FUNCTION: DISPC - DISPLAY PROGRAM COUNTERINPUTS: NONEOUTPUTS: NONECALLS: UPDAD,UPDDTDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: DISPC DISPLAYS THE USER PROGRAM COUNTER IN THE ADDRESS

FIELD OF THE DISPLAY, WITH A DOT AT THE RIGHT EDGEOF THE FIELD. THE BYTE OF DATA ADDRESSED BY THE PROGRAMCOUNTER IS DISPLAYED IN THE DATA FIELD OF THE DISPLAY.

FUNCTION: CLOST - COLD STARTINPUTS: NONEOUTPUTS: NONECALLS: NOTHINGDESTROYS: ADESCRIPTION: CLOST IS JUMPED TO BY THE MAIN COLD START PROCEDURE,

COMPLETES COLD START INITIALIZATION, AlP JUMPS BACKTO THE MAIN COLD START PROCEDURE.

496497498 SUB10:499500501502503504 SU815:585506507508509 ,518 ;************************.*********************************************511512513 ,514 ;*********************************.* •• *••*.*•• ****.***.*********•••*•••515516517518519520521522523524525526 ,527 CLEAR:528529530531532533534535536537 ,538 ; ••••*••••••*••••••••••••••• *•••*••••••••••••*•• *•••••••••••••••*••••••539548541542543544545546547548 ,549 CLDIS:558551552553 ,554 ; ••••*•••••••*••••••*•••••••••••••••••••••••••••*•••••••••••••••••*••••555556557558559561561562 ,563564 ;565 CLOST:566567568569578571572 ,573 , ••• *••••••••••••••••••••••*•••••••••••••*•••••• *.* •• *** •• *•• *••••*.*.*574 ,575576577578579588581582583584 ,585 DISPC:586587588589598591592593594595

SEQLOC OBJ

01C0 BE01Cl C21502

01C4 2AF62001C7 2301ca 22F62001ca F101CC C39C01

01CF FE100101 C215020104 C3E901

0107 AF

0108 219A0301DB CDB70281DE 3E01I1EI 8608I1E2 219AI3lIES CDB712I1E8 C9

81E9 161181EB CDD711I1EE C36611

0208 2AF2288213 22F6288286 7E8287 32F828828A 8681820C CD5F83828F 86888211 CD6B838214 C9

I1F1 3ECCI1F3 321119I1F6 3EII81F8 0321I1FA 32FF21lIFO C31818

Page 73: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8888/8885 MACRO ASSEMBLER, X188 SDK85 PAGE

**********************************************************************

SOURCE STATEMENT

:~.*.***.*.*.******.***~**** ••*.*•••*.* •••• *.~*.*.*•• **••**************

,:**********************************************************************

ARG - USE ADDRESS FIELDARG - NO DOT IN ADDRESS FIELDARG - ADDRESS OF ERROR MESSAGEOUTPUT ERROR MESSAGE TO ADDRESS FIELDARG - USE DATA FIELDARG - NO DOT IN DATA FIELDARG - ADDRESS OF BLANKS FOR DISPLAYOUTPUT BLANKS TO DATA FIELDGO GET A NEW COMMAND

SAVE LAST CHARACTER: SHIFT HEX DIGIT FLAG TOi/CARRY BIT; RESTORE LAST CHARACTERi RETURN

READ KEYBOARDIS CHARACTER A HEX DIGIT?NO - GO CHECK FOR TERMINATORYES - ARG - NEW HEX DIGIT IS IN AARG - RETRIEVE HEX VALUEINSERT NEW DIGIT IN HEX VALUERETRIEVE DISPLAY FLAG

; SET HEX DIGIT FLAG;/(I.E. A HEX DIGIT HAS BEEN READ)

SAVE DISPLAY AND HEX DIGIT FLAGSSAVE HEX VALUETEST DISPLAY FLAGSHOULD ADDRESS FIELD OF DISPLAY BE USED ?YES - USE HEX VALUE AS ISNO - ONLY LOW ORDER BYTE OF HEX VALUE SHOULD/BE USED FOR DATA FIELD OF DISPLAYPUT LOW ORDER BYTE OF HEX VALUE IN 0

RESET HEX DIGIT FLAGSAVE DISPLAY AND HEX DIGIT FLAGSSET HEX VALUE TO ZEROSAVE HEX VALUE

ARG - HEX VALUE TO BE EXPANDED IS IN 0 & EEXPAND HEX VALUE FOR DISPLAYARG - ADDRESS OF EXPANDED HEX VALUE IN H & LARG - PUT DISPLAY FLAG IN AARG - DOT IN APPROPRIATE FIELDOUTPUT HEX VALUE TO DISPLAY

i 'GO GET NEXT CHARACTERCHARACTER wAS NOT A HEX DIGIT

RETRIEVE HEX VALUERETRIEVE HEX DIGIT FLAG IN CWAS LAST CHARACTER ',' ?YES - READY TO RETURNNO - WAS LAST CHARACTER '. I ?

i YES - READY TO RETURNINVALID TERMINATOR - IGNORE ANY HEX DIGITS READ

SET HEX VALUE TO ZERORETURN FALSE

AB,NODOTH,ERMSGOUTPTA,DTFLDB,NODOTH,BLNKSOUTPTCMMND

oINSDGBC,l

GTH18

RDKBD10HGTH20

A,B

BoA,B

HXDSP

D,E

C,0B0,0o

a,AA,C

A,BB,DOTOUTPTGTH05; LASToBCOMMAGTH25PERIOGTH25i NO ­0,8RETF

XRAMVILXICALLMVIMVILXICALLJMP

CALL

MVIPUSHLXIPUSH

MOV

MOVMOVRRCMOVRET

POPCALLPOPMVI

CALLCPIJNC

PUSHPUSHMOVRRCJNC

MOVMVICALLJiofP

LXIJMP

POPPOPCPIJZCPIJZ

FUNCTION: GTHEX - GET HEX DIGITSINPUTS: a - DISPLAY FLAG - 0 MEANS USE ADDRESS FIELD OF DISPLAY

- 1 MEANS USE DATA FIELD OF DISPLAYOUTPUTS: A - LAST CHARACTER READ FROM KEYBOARD

DE - HEX DIGITS FROM KEYBOARD EVALUATED MODULO 2**16CARRY - SET IF AT LEAST ONE VALID HEX DIGIT WAS READ

- RESET OTHERWISECALLS: RDKBD,INSDG,HXDSP,OUTPTDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: GTHEX ACCEPTS A STRING OF HEX DIGITS FROM THE KEYBOARD,

DISPLAYS THEM AS THEY ARE RECEIVED, AND RETURNS THEIRVALUE AS A 16 BI't:' INTEGER. IF MORE THAN 4 HEX DIGITSARE RECEIVED, ONLY THE LAST 4 ARE USED. IF THE DISPLAYFLAG IS SET, THE LAST 2 HEX DIGITS ARE DISPLAYED IN THEDATA FIELD OF THE DISPLAY. OTHERWISE, THE LAST 4 HEXDIGITS ARE DISPLAYED IN THE ADDRESS FIELD OF THEDISPLAY. IN EITHER CASE, A DOT WILL BE DISPLAYED AT THERIGHTMOST EDGE OF THE FIELD. A CHARACTER WHICH IS NOTA HEX DIGIT TERMINATES THE STRING AND IS RETURNED ASAN OUTPUT OF THE FUNCTION. IF THE TERMINATOR IS NOTA PERIOD OR A COMMA THEN ANY HEX DIGITS WHICH MAY HAVEBEEN RECEIVED ARE CONSIDERED TO BE INVALID. THEFUNCTION RETURNS A FLAG INDICATING WHETHER OR NOT ANYVALID HEX DIGITS WERE RECEIVED.

FUNCTION: ERR - DISPLAY ERROR MESSAGEINPUTS: NONEOUTPUTS: NONECALLS: OUTPTDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: ERR IS JUMPED TO BY COMMAND ROUTINES WISHING TO

TERMINATE BECAUSE OF AN ERROR.ERR OUTPUTS AN ERROR MESSAGE TO THE DISPLAY ANDBRANCHES TO THE COMMAND RECOGNIZER.

,ERR:

,GTHEX:

GTH85:

GTH18:

GTH25:

GTH20:

SEQ

596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649658651652653654655656657658659668661662663664665666667668669678671672673674675676677678679688681682683684685686687688689698691692693694695

0215 AF0216 06000218 219E03021B CDB702021E 3E010220 06080222 219A030225 CDB7020228 C36600

LOC OBJ

022B 8E000220 C5022E 1100088231 05

8232 CDE7028235 FE188237 025582

823A 01023B CD9F82823E C1823F 8E81

0241 C58242 05824j 788244 8F8245 024982

8248 53

8249 CD6C82

024C 788240 8681824F CDB7020252 C33282

8255 010256 C18257 FEll8259 CA6782025C FE10825E CA6782

8261 1108888264 C3F702

8267 478268 798269 8F026A 78826B C9

Page 74: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II d080/8085 MACRO ASSEMBLER, X108 SOK8S PAGE

LOC OI3J SEQ SOURCE STATEMENT

.* ••• *•••••••••••••••••••••••••• *•••• *••• *••••• *••••••••••••••••••••••

,;** ••• ** •••••••• *•••• *.* •••••• *••• ***.*••• *•••• ** ••• ** •••••••••••••••••

,; ••••••• *•••••••••••• *••••••••••••••••••••••••••••••••••••••••••••• *•••

FUNCTION: NXTRG - ADVANCE REGISTER POINTER TO NEXT REGISTERINPUTS: NONEOUTPUTS: CARRY - 1 IF POINTER IS ADVANCED SUCCESSFULLY

GET FIRST DATA BYTECONVERT 4 HIGH ORDER BITS/TO A SINGLE CHARACTER

GET ADDRESS OF OUTPUT BUFFERSTORE CHARACTER IN OUTPUT BUFFERGET FIRST DATA BYTE AND CONVERT 4 LOW ORDER/BITS TO A SINGLE CHARACTERNEXT BUFFER POSITIONSTORE CHARACTER IN BUFFERGET SECOND DATA BYTECONVERT 4 HIGH ORDER BITS/TO A SINGLE CHARACTER

NEXT BUFFER POSITIONSTORE CHARACTER IN BUFFERGET SECOND DATA BYTE AND CONVERT LOW ORDER/4 BITS TO A SINGLE CHARACTERNEXT BUFFER POSITIONSTORE CHARACTER IN BUFFERRETURN ADDRESS OF OUTPUT BUFFER IN H & L

INSERT LOW ORDER DIGIT

SAVE H & LSAVE F/F'S & REGISTER AADDRESS FOR CONTROL CHARACTER OUTPUTOUTPUT CONTROL CHARACTER FOR READING/FROM KEYBOARDADDRESS FOR CHARACTER INPUTREAD A CHARACTERZERO 2 HIGH ORDER BITSSTORE CHARACTER IN INPUT BUFFERRESTORE F/F'S & REGISTER ARESTORE H & L

PUT H & L BACK IN 0 & E

PUT 0 & E IN H & LSHIFT H & L LEFT 4 BITS

A,D

0FHH,OBUFFM,AA,D0FHHM,AA,E

0FHHM,AA,E0FHHM,AH,OBUFF

HPSWH,CNTRLM,READ

HA,M3FHIBUFFPSWH

HHHHLL,A

MOVRRCRRCRRCRRCANILXIMOVMOVANIINXMOVMOVRRCRRCRRCRRCANIINXMOVMOVANIINXMOVLXIRET

PUSHPUSHLXIMVI

OCRMOVANISTAPOPPOPRET

XCHGDADDADDADDADADOMOVXCHGRET

FUNCTION: ININT - INPUT INTERRUPT PROCESSINGINPUTS: NONEOUTPUTS: NONECALLS: NOTHINGDESTROYS: NOTHINGDESCRIPTION: ININT IS ENTERED BY MEANS OF AN INTERRUPT VECTOR (IV2C)

WHEN THE READ KEYBOARD ROUTINE IS WAITING FOR ACHARACTER AND THE USER HAS PRESSED A KEY ON THEKEYBOARD (EXCEPT "RESET" OR "VECTORED INTERRUPT").ININT STORES THE INPUT CHARACTER IN THE INPUT BUFFER ANDRETURNS CONTROL TO THE READ KEYBOARD ROUTINE.

FUNCTION: INSDG - INSERT HEX DIGITINPUTS: A - HEX DIGIT TO BE INSERTED

DE - HEX VALUEOUTPUTS: DE - HEX VALUE WITH DIGIT INSERTEDCALLS: NOTHINGDESTROYS: A,F/F'SDESCRIPTION: INSDG SHIFTS THE CONTENTS OF 0 & E LEFT 4 BITS

(1 HEX DIGIT) AND INSERTS THE HEX DIGIT IN A IN THE LOWORDER DIGIT POSITION OF THE RESULT. A IS ASSUMED TOCONTAIN A SINGLE HEX DIGIT IN THE LOW ORDER 4 BITS ANDZEROS IN THE HIGH ORDER 4 BITS.

FUNCTION: HXDSP - EXPAND HEX DIGITS FOR DISPLAYINPUTS: DE - 4 HEX DIGITSOUTPUTS: HL - ADDRESS OF OUTPUT BUFFERCALLS: NOTHINGDESTROYS: A,H,L,F/F'SDESCRIPTION: HXDSP EXPANDS EACH INPUT BYTE TO 2 BYTES IN A FORM

SUITABLE FOR DISPLAY BY THE OUTPUT ROUTINES. EACH INPUTBYTE IS DIVIDED INTO 2 HEX DIGITS. EACH HEX DIGIT ISPLACED IN THE LOW ORDER 4 BITS OF A BYTE WHOSE HIGHORDER 4 BITS ARE SET TO ZERO. THE RESULTING BYTE ISSTORED IN THE OUTPUT BUFFER. THE FUNCTION RETURNS THEADDRESS OF THE OUTPUT BUFFER.

,HXDSP:

,ININT:

,INSDG:

69669769869970070170270370470S7067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527S3754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794

026C 7A0260 0F026E 0F026F 0F0270 0F0271 E60F0273 21F9200276 770277 7A0278 E60F027A 230278 77027C 7B0270 0F027E 0F027F 0F0280 0F0281 Eb0F8283 230284 770285 7B0286 E60F0288 230289 77028A 21F9200280 C9

028E E5028F F50290 2100190293 3640

0295 250296 7E0297 E63F0299 32FE20029C "Fl0290 El029E C9

029F EB02A0 2902Al 2902A2 2902A3 2902A4 8502A5 6F02A6 EB02A7 C9

Page 75: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8888/8885 MACRO ASSEMBLER, X188 SDK85 PAGE 9

- 0 OTHERWISE

SOURCE STATEMENT

;RDKBD:

,;**********************************************************************

GET REGISTER POINTERDOES POINTER POINT TO LAST REGISTER?YES - UNABLE TO ADVANCE POINTER - RETURN FALSENO - ADVANCE REGISTER POINTERSAVE REGISTER POINTERRETURN TRUE

USE DATA FIELD ?YES - GO SET UP TO USE DATA FIELDNO - COUNT FOR ADDRESS FIELDCONTROL CHARACTER FOR OUTPUT TO ADDRESS/FIELD OF DISPLAY

SET BUFFER EMPTY FLAGRETURN WITH INTERRUPTS DISABLED

COUNT FOR DATA FIELDCONTROL CHARACTER FOR OUTPUT TO DATA FIELD/OF DISPLAY

GET OUTPUT CHARACTERSAVE OUTPUT CHARACTER ADDRESS IN 0 & EGET DISPLAY FORMAT TABLE ADDRESSUSE OUTPUT CHARACTER AS A POINTER TO/DISPLAY FORMAT TABLEGET DISPLAY FORMAT CHARACTER FROM TABLETEST COUNTER WITHOUT CHANGING ITIS THIS THE LAST CHARACTER ?NO - GO OUTPUT CHARACTER AS ISYES - IS DOT FLAG SET ?NO - GO OUTPUT CHARACTER AS ISYES - OR IN MASK TO DISPLAY DOT WITH/LAST CHARACTER

COMPLEMENT OUTPUT CHARACTERSEND CHARACTER TO DISPLAYRETRIEVE OUTPUT CHARACTER ADDRESSNEXT OUTPUT CHARACTERANY MORE OUTPUT CHARACTERS ?YES - GO PROCESS ANOTHER CHARACTERNO - RETURN

RGPTRNUMRG-1RETFARGPTRRETT

M,EMPTY

A,M

OUT05C,4A,ADISP

H,DSPTBLL,AA,MH,CHOUT288OUT20DTMSK

DSPLY

HCOUT15

C,2A,DDISP

MVIMVI

LOACPIJNCINRSTAJMP

STA CNTRL

JMP OUTl0

RacJCMVIMVI

MOVXCHGLXIADDMOVMOVMOVOCRJNZOCRJNZORI

CiofASTAXCHGINXOCRJNZRET

MVI01RET

LXI H,IBUFF ; GET INPUT BUFFER ADDRESSMOV A,M ; GET BUFFER CONTENTS

; HIGH ORDER BIT • I MEANS BUFFER IS EMPTYORA A ; IS A CHARACTER AVAILABLE ?JP RDKI8; YES - EXIT FROM LOOPEI ; NO - READY FOR CHARACTER FROM KEYBOARDJMP' RDKBD

FUNCTION: RDK8D - READ KEYBOARDINPUTS: NONEOUTPUTS: A - CHARACTER READ FROM KEYBOARDCALLS: NOTHINGDESTROYS: A,H,L,F/F'SDESCRIPTION: RDKBD DETERMINES WHETHER OR NOT THERE IS A CHARACTER IN

THE INPUT BUFFER. IF NOT, THE FUNCTION ENABLESINTERRUPTS AND LOOPS UNTIL THE INPUT INTERRUPTROUTINE STORES A CHARACTER IN THE BUFFER. WHENTHE BUFFER CONTAINS A CHARACTER, THE FUNCTION FLAGSTHE BUFFER AS EMPTY AND RETURNS THE CHARACTERAS OUTPUT.

FUNCTION: OUTPT - OUTPUT CHARACTERS TO DISPLAYINPUTS: A - DISPLAY FLAG - 0 = USE ADDRESS FIELD

1 = USE DATA FIELDB - DOT FLAG - 1 OUTPUT DOT AT RIGHT EDGE OF FIELD

o NO DOTHL - ADDRESS OF CHARACTERS TO BE OUTPUT

CALLS: NOTHINGDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: OUTPT SENDS CHARACTERS TO THE DISPLAY. THE ADDRESS

OF THE CHARACTERS IS RECEIVED AS AN ARGUMENT. EITHER2 CHARACTERS ARE SENT TO THE DATA FIELD, OR 4 CHARACTERSARE SENT TO THE ADDRESS FIELD, DEPENDING ON THEDISPLAY FLAG ARGUMENT. THE DOT FLAG ARGUMENT DETERMINESWHETHER OR NOT A DOT (DECIMAL POINT) WILL BE SENTALONG WITH THE LAST OUTPUT CHARACTER.

CALLS: NOTHINGDESTROYS: A,F/F'SDESCRIPTION: IF THE REGISTER POINTER POINTS TO THE LAST REGISTER IN

THE EXAMINE REGISTER SEQUENCE, THE POINTER IS NOTCHANGED AND THE FUNCTION RETURNS FALSE. IF THE REGISTERPOINTER DOES NOT POINT TO THE LAST REGISTER THEN THEPOINTER IS ADVANCED TO THE NEXT REGISTER IN THE SEQUENCEAND THE FUNCTION RETURNS TRUE.

,;**********************************************************************

NXTRG:

OUT10:

OUT05:

OUT20:

OUT15:

,OUTPT:

RDKI8:

SEQ

795796797798799d00801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869878871872873874875876877878879888881882883884885886887888889898891892893

02A8 3AFD2002AB FE0C02AD D2F70202B0 3C02B1 32FD2002B4 C3FA02

02C6 320019

02B7 0F02B8 DAC20202BB 0E040280 3E90

02BF C3C602

02C2 0E0202C4 3E94

LOC OBJ

02C9 7E02CA EB02CB 21840302CE 8502CF 6F0208 7E8201 618202 258203 C2DC028206 058207 C2DC8282DA F688

82DC 2F8200 32881882E8 E882E1 2382E2 8082E3 C2C98282£6 C9

82£7 21FE2882£A 7£

12£8 B712EC F2F38212£' r882r8 C3£782

12'3 368882F5 F382F6 C9

Page 76: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8080/80H5 MACRO ASSEMBLER, X108 SDK85 PAGE 10

LOC OBJ SEQ SOURCE STATEMENT

; SET CARRY TRUE; . COMPLEMENT CARRY TO MAKE IT FALSE

; SET CARRY TRUE

; MULTIPLY POINTER VALUE BY 4;/(REGISTER NAME TABLE HAS 4 BYTE ENTRIES); GET ADDRESS OF START OF REGISTER NAME TABLE; ARG - ADD TABLE ADDRESS TO POINTER - RESULT IS;/ADDRESS OF APPROPRIATE REGISTER NAME IN H & L

ARG - USE ADDRESS FIELD OF DISPLAY; ARG - NO DOT IN ADDRESS FIELD; OUTPUT REGISTER NAME TO ADDRESS FIELD

; GET REGISTER POINTER

RGPTR GET REGISTER POINTERH,0 /IN H & LB,RGTBL GET REGISTER SAVE LOCATION TABLE ADDRESSB POINTER INDEXES TABLEL,M : GET LOW ORDER BYTE OF REGISTER SAVE LOC.H, (RAMST SHR 8) GET HIGH ORDER BYTE OF

/~EGISTER SAVE LOCATION

AB,NODOTOUTPT

RGPTRH,0HHB,NMTBLB

THE TIMING OF THIS ROUTINE IS CRITICAL TO THECORRECT OPERATION OF THE SINGLE STEP ROUTINE.IF ANY MODIFICATION CHANGES THE NUMBER OF CPUSTATES NEEDED TO EXECUTE THIS ROUTINE THEN THETIMER VALUE MUST BE ADJUSTED BY THE SAME NUMBER.

STCRET

STCCMCRET

RET

LHLDMVILXIDADMOVMVI

XRAMVICALLRET

LHLDMVIDADDADLXIDAD

THIS IS ALSO THE ENTRY POINT FOR THE TTY MONITORTO RESTORE REGISTERS.

FUNCTION: RETT - RETURN TRUEINPUTS: NONEOUTPUTS: CARRY • 1 (TRUE)CALLS: NOTHINGDESTROYS: CARRYDESCRIPTION: RETT IS JUMPED TO BY ROUTINES WISHING TO RETURN TRUE.

RETT SETS CARRY TO 1 AND RETURNS TO THE CALLER OFTHE ROUTINE INVOKING RETT.

FUNCTION: RETF - RETURN FALSEINPUTS: NONEOUTPUTS: CARRY • 8 (FALSE)CALLS: NOTHINGDESTROYS: CARRYDESCRIPTION: RETF IS JUMPED TO BY FUNCTIONS WISHING TO RETURN FALSE.

RETF RESETS CARRY TO 0 AND RETURNS TO THE CALLER OFTHE ROUTINE INVOKING RETF.

FUNCTION: RGLOC - GET REGISTER SAVE LOCATIONINPUTS: NONEOUTPUTS: HL - REGISTER SAVE LOCATIONCALLS: NOTHINGDESTROYS: B,C,H,L,F/F'SDESCRIPTION: RGLOC RETURNS THE SAVE LOCATION OF THE REGISTER

INDICATED BY THE CURRENT REGISTER POINTER VALUE.

*••• *

FUNCTION: RGNAM - DISPLAY REGISTER NAMEINPUTS: NONEOUTPUTS: NONECALLS: OUTPTDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: RGNAM DISPLAYS, IN THE ADDRESS FIELD OF THE DISPLAY,

THE REGISTER NAME CORRESPONDING TO THE CURRENTREGISTER POINTER VALUE.

FUNCTIO~:' RSTOR - RESTOR USER REGISTERSINPUTS: NONEOUTPUTS: NONECALLS: NOTHINGDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: RSTOR RESTORES ALL CPU REGISTERS, FLIP/FLOPS,

INTERRUPT STATUS, INTERRUPT MASK, STACK POINTERAND PROGRAM COUNTER FROM THEIR RESPECTIVE

SAVE LOCATIONS IN MEMORY. BY RESTORING THE PROGRAMCOUNTER, THE ROUTINE EFFECTIVELY TRANSFERS CONTROL TOTHE ADDRESS IN THE PROGRAM COUNTER SAVE LOCATION.

894 ,895 ; ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

89689789889998891190298390490S ;906 RETF:917918989918 ,911 ; ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••912913914915916917918919928921 ,922 RETT:923924925 ,926 ; ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••927928929930931932933934935 ,936 RGLOC:937938939940941942943944945 ,946 ; ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••947948949950951952953954955956 ,957 RGNAM:958959968961962963964965966967968969 ,970 ; ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••971972973974975976977978979981981 ;982983984985986987988989991991992 ;993 RSTOR:

02FC 2AFD2002FF 26000301 01ED030304 090305 6E0306 2620

0308 C9

12F7 3712F8 3F12F9 C9

12FA 3782FB C9

0389 2AFD28038C 2680038£ 29038F 290318 01B9830313 09

8314 AF0315 06000317 CDB702031A C9

Page 77: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8181/8185 MACRO ASSEMBLER, X118 SDK85 PAGE 11

RESTORE USER STACK POINTER

PUT USER PROGRAM COUNTER ON STACKRESTORE H & L REGISTERSJUMP TO USER PROGRAM COUNTER

DUMMY INSTRUCTIONS - WHEN SINGLE STEP ROUTINE/IS BEING USED, THE TIMER IS RUNNING AND/EXECUTE TIME FOR THIS ROUTINE MUST NOT/VARY.

SET MONITOR STACK POINTER TO START OF STACK/WHICH IS ALSO END OF REGISTER SAVE AREARESTORE REGISTERS

GET CURRENT ADDRESSARG - PUT CURRENT ADDRESS IN 0 & EEXPAND CURRENT ADDRESS FOR DISPLAYARG - ADDRESS OF EXPANDED ADDRESS IS IN H & LARG - USE ADDRESS FIELD OF DISPLAYARG - DOT FLAG IS IN BOUTPUT CURRENT ADDRESS TO ADDRESS FIELD

GET USER INTERRUPT MASKENABLE SETTING OF INTERRUPT MASK AND/RESET RST7.5 FLIP FLOP

; RESTORE USER INTERRUPT MASKINTERRUPT STATUS

GET USER INTERRUPT MASKSHOULD USER INTERRUPTS BE ENABLED ?NO - LEAVE INTERRUPTS DISABLEDYES - ENABLE INTERRUPTS FOR USER PROGRAM

LXI H,MNSTKSPHLPOP DPOP BPOP PSWLaLD SSAVSPHLLHLD PSAVPUSH HLHLD LSAVRET

CALL RDKBD READ FROM KEYBOARDCPI 10H IS CHARACTER A DIGIT?JNC RETF NO - RETURN FALSE - CHARACTER IS NOT A

/REGISTER DESIGNATORSUI YES - TRY TO CONVERT REGISTER DESIGNATOR TO

/ INDEX INTO REGISTER POINTER TABLEWAS CONVERSION SUCCESSFUL?

JC RETF NO - RETURN FALSEMOV C,A INDEX 'l'O B & CMVI 8,0LXI H,RGPTB GET ADDRESS OF REGISTER POINTER TABLEDAD B INDEX POINTS INTO TABLEMOV A,M GET REGISTER POINTER FROM TABLESTA RGPTR SAVE REGISTER POINTERJMP RETT RETURN TRUE

LDA ISAVORI 18H

SIMRESTORE USERLOA ISAVANI 88HJZ RSR85EIJMP RSR11

STCJNC RSR11

LHLD CURADXCHGCALL HXDSP

XRA A

CALL OUTPTRET

LOA CURDT GET CURRENT DATAMOV D,A ARG - PUT CURRENT DATA IN DCALL HXDSP EXPAND CURRENT DATA FOR DISPLAY

ARG - ADDRESS OF EXPANDED DATA IS IN H & LMVI A,DTFLD ARG - USE DATA FIELD OF DISPLAY

ARG - DOT FLAG IS IN BCALL OUTPT OUTPUT CURRENT DATA TO DATA FIELD

SOURCE STATEMENT

FUNCTION: SETRG - SET REGISTER POINTERINPUTS: NONEOUTPUTS: CARRY - SET IF CHARACTER FROM KEYBOARD IS A REGISTER DESIGNATOR

RESET OTHERWISECALLS: RDKBDDESTROYS: A,B,C,H,L,F/F'SDESCRIPTION: SETRG READS A CHARACTER FROM THE KEYBOARD. IF THE

CHARACTER IS A REGISTER DESIGNATOR, IT IS CONVERTED TOTHE CORRESPONDING REGISTER POINTER VALUE, THE POINTER ISSAVED, AND THE FUNCTION RETURNS 'TRUE'. OTHERWISE, THEFUNCTION RETURNS 'FALSE'.

FUNCTION: UPDAD - UPDATE ADDRESS FIELD OF DISPLAYINPUTS: B - DOT FLAG - 1 MEANS PUT DOT AT RIGHT EDGE OF FIELD

o MEANS NO DOTOUTPUTS: NONECALLS: HXDSP,OUTPTDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: UPDAD UPDATES THE ADDRESS FIELD OF THE DISPLAY USING

THE CURRENT ADDRESS.

OUTPUTS: NONECALLS: HXDSP,OUTDTDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: UPDDT UPDATES THE DATA FIELD OF THE DISPLAY USING

THE CURRENT DATA BYTE.

994995996997998999

18881811110218831884 RSR05:18051886181710081009 RSR10:101011111012101310141015101610171018101911201021 ,1122 ;**********************************************************************1023102410251026102710281029103010311032103310341035 ,1036 SETRG:10371038103910401041104210431044104510461047104810491050105110521053 :**********************************************************************1054105510561057105810591060106110621063 ,1064 UPDAD:106510661067106810691070107110721073 ,1074 :**********************************************************************10751076 FUNCTION: UPDDT - UPDATE DATA FIELD OF DISPLAY1077 : INPUTS: B - DOT FLAG - 1 MEANS PUT DOT AT RIGHT EDGE OF FIELD1078 8 MEANS NO DOT117910801081108210831184 ,1185 UPDDT:1.086118718881189189018911892

SEQ

0344 CDE7020347 FE100349 D2F702

034C 0603

034E DAF7020351 4F0352 06000354 21AC030357 090358 7E0359 32FD20035C C3FA02

LOC OBJ

131B 3AF121131E F618

8321 31

1321 3AF1211324 E6181326 CA2D838329 PB132A C33113

8320 37832E 023113

1331 21E9201334 F98335 011336 C11337 F11338 2AF421133B F9033C 2AF220133F E51341 2AEF211343 C9

1367 CDB702036A C9

136B 3AF820136E 57136F CD6C02

1372 3El1

0374 CDB702

035F 2AF6200362 E80363 CD6C02

0366 AF

Page 78: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8080/8085 MACRO ASSEMBLER, X108 SDK85 PAGE 12

MONITOR TABLES

1····**·******··*·····*···**·*··*··*···*····*·*·****··**.*.*•• *.**.****

,1**********************************************************************

,1*************************************************·*··*.**••*.****••***

EXECUTION MESSAGE

ERROR MESSAGE FOR ADDR. FIELD

FOR ADDRESS OR DATA FIELD

P

L

R (LOWER CASE)

BLANK

H

B (LOWER CASE)

ADDRESS OF SINGLE STEP ROUTINEADDRESS OF EXAMINE REGISTERS ROUTINEADDRESS OF SUBSTITUTE MEMORY ROUTINEADDRESS OF GO ROUTINE

o (LOWER CASE)

5 AND S67

GO COMMANDSUBSTITUTE MEMORY COMMANDEXAMINE REGISTERS COMMANDSINGLE STEP COMMANDNUMBER OF COMMANDS

EIGHT, FIVE 1 SIGN ON MESSAGE (DATA FIELD)

/FOR ADDRESS FIELDBLANK,BLANK,EIGHT,ZERO SIGN ON MESSAGE (ADDR. FIELD)

12813H14HISH$-CMDTB

BLANK,BLANK,BLANK,BLANK

BLANK,LETRE,LETRR,LETRR

SSTEPEXAMSUBSTGOCMD

LETRE,BLANK,BLANK,BLANK

$ - DSPTB0F3H

6080B5H0F4H

66H ,$ - DSPTB$ - DSPTB0D6H0D7H

70H ,$ - DSPTB0F78 8

76H , 9$ - DSPTB

77H , A$ - DSPTB0C7H ,$ - DSPTB

93H , C$ - DSPTB0E5H ,$ - DSPTB

97H , E$ - DSPTB

17H , F$ - DSPTB

67H$ - DSPTB

83H$ - DSPTB

37H$ - DSPTB

60H ,$ - DSPTB

05H ,$ - DSPTB

00H

DISPLAYFORMAT CHARACTER

TABLE FOR TRANSLATING CHARACTERS FOR OUTPUT

EQUDBDBDBDBDBEQUEQUDBDBDBEQUDBDBEQUDBEQUDBEQUDBEQUDBEQUDBEQUDBEQUDBEQUDBEQUDBEQU08EQU08EQUDB

DBDBDBDBEQU

OWOWOWow

,1**********************************************************************

SOURCE STATEMENT

RET

LETRP

,1**********************************************************************

LETRF

EIGHT

LETRC

NUMC

LETRI

LETRH

BLANK

FIVELETRS

LETRB

,1 COMMAND TABLE, COMMAND CHARACTERS AS RECEIVED FROM KEYBOARDCMOTB:

,ZERO

LETRD

LETRA

LETRE

LETRR

LETRL

,BLNKS: 03

,1··*****·*****·***·************···*****·***********·*·***.****.******.*

,DSPTB:

11 COMMAND ROUTINE ADDRESS TABLE, (MUST BE IN REVERSE ORDER OF COMMAND TABLE)CMDAD:

: MESSAGES FOR OUTPUT TO DISPLAY

11741175 SGNAD: DB

1172 ERMSG: DB

1173 EXMSG: DB

1176 SGNDT: DB

11771178

SEQ

1093109410951096109710981199118811811102110311041185110611071108118911181111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171

1378 121379 13137A 14137B 151814

037C FD01137E 92010380 8B011382 ca01

00000384 F30385 600386 B50387 F40388 66000500150389 06038A 07038B 700.,18038C F70380 76000A038E 77000B038F C7000C0390 9300001391 E5101E0392 97001F0393 1700100394 670kill0395 8300120396 3700130397 6001140398 0500150399 00

1377 C9

039A 15039B 15039C 150390 15039E 15939F 0E03A0 1403A1 1403A2 0E03A3 1503A4 1503A5 15

03A6 1503A7 1503A8 08

03A9 ''''03AA 0803AB 05

LOC OBJ

Page 79: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8888/8885 MACRO ASSEMBLER, X108 SDK8.5 PAGE 13

SOURCE STATEMENT

,,*********************************************.*.*************.*** •••••

,, ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• * ••••

; REGISTER SAVE LOCATION TABLE; ADDRESSES OF SAVE LOCATIONS OF REGISTERS IN THE ORDER IN WHICH, THE REGISTERS ARE DISPLAYED BY THE EXAMINE COMMAND,RGTBL:

DB ASAV AND 0FFH A REGISTERDB BSAV AND IFFH B REGIS'rERDB CSAV AND eFFH C REGISTERDB DSAV AND IFFH 0 REGISTER03 ESAV AND IFFH E REGISTERDB FSAV AND 0FFH FLAGSOB ISAV AND 0FFH INTERRUPT MASKDB HSAV AND IFFH H REGISTERDB LSAV AND IFFH L REGISTERDB SPHSV AND IFFH STACK POINTER HIGH ORDER BYTEDB SPLSV AND IFFH STACK POINTER LOW ORDER BYTEDB PCHSV AND IFFH PROGRAM COUNTER HIGH ORDER BYTE

REGISTER POINTER TABLETHE ENTRIES IN THIS TABLE ARE IN THE SAME ORDERAS THE REGISTER DESIGNATOR KEYS ON THE KEYBOARD.EACH ENTRY CONTAINS THE REGISTER POINTER VALUE WHICHCORRESPONDS TO THE REGISTER DESIGNATOR. REGISTERPOINTER VALUES ARE USED TO POINT INTO THE REGISTERNAME TABLE (NMTBL) AND REGISTER SAVE LOCATIONTABLE (RGT8L).

DB 6 INTERRUPT MASKDB 9 SPHDB II SPLDB 11 PCHDB 12 PCLDB 7 HDB 8 LDB I ADB 1 BDB 2 CDB 3 0DB 4 EOil 5 FLAGS

JNMT8L: , REGISTER NAME TABLE

, NAMES OF REGISTERS IN DISPLAY FORMATDB 8LANK, BLANK, BLANK, LETRA , A REGISTER

DB BLANK,BLANK,BLANK,LETRB B REGISTER

DB BLANK, BLANK, BLANK, LETRC C REGISTER

DB BLANK,BLANK,BLANK,LETRD o REGISTER

DB BLANK, BLANK, BLANK, LETRE E REGISTER

DB BLANK,BLANK,BLANK,LETRF FLAGS

DB BLANK,BLANK,BLANK,LETRI INTERRUPT MASK

DB BLANK, BLANK, BLANK, LETRH H REGISTER

DB BLANK, BLANK, BLANK, LETRL L REGISTER

DB BLANK,LETRS,LETRP,LETRH STACK POINTER HIGH ORDER BYTE

DB BLANK,LETRS,LETRP,LETRL STACK POINTER LOW ORDER BYTE

DB BLANK,LETRP,LETRC,LETRH PROGRAM COUNTER HIGH BYTE

DB BLANK,LETRP,LETRC,LETRL PROGRAM COUNTER LOW BYTE

,RGPTB:

1216

1215

1218

1212

1217

1218

1289

1288

12201221122212231224122512261227122812291231123112321233123412351236123712381239

1219

1213

1214

1211

SEQ

11791181118111821183118411851186118711881189119811911192119311941195119611971198119912881211128212131284128512861217

83AC 1683Ao 8913AE 8A83AF 188381 IC83Bl 878382 188383 888384 II8385 828386 838387 848388 85

83ED EE03EE EC83EF EB03F0 EA03Fl E913F2 ED83F3 Fl03F4 F013F5 EF03F6 F513F7 F483F8 F3

8389 15.38A 15.388 15.38C 8A1380 1513BE 15138F 1513CI 8883Cl 1583C2 1513C3 1513C4 8C83C5 1583C6 1583C7 1583C8 1013C9 1513CA 1513CB 1513CC 8E13CO 1513CE 1513CF 150301 IF1301 151302 150303 151304 130305 158306 150307 151308 100309 1583DA 1513DB 1513DC 111300 1583DE 0583DF 1203E0 l~

03El 1503E2 IS03E3 1203E4 1103E5 1503E6 12~3E7 ~C

03Ets 1003E9 1503EA 1203E8 0C03EC 11

LOC 08J

Page 80: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8080/8085 MACRO ASSEMBLER, X108 SOK85 PAGE 14

ABSTRACT

PROGRAM ORGANIZATION

GETCM

SDK-85 TTY MONITOR

~CODE FOR BREAK CHARACTER (ESCAPE)LOCATION OF START OF BRANCH TABLE IN ROMCODE FOR CARRIAGE RETURNCODE FOR ESCAPE CHARACTERMASK TO SELECT LOWER HEX CHAR FROM BYTEMASK TO INVERT HALF BYTE FLAGCODE FOR LINE FEEDDENOTES LOWER HALF OF BYTE IN ICMDLENGTH OF SIGNON MESSAGE - DEFINED LATERSTART OF MONITOR STACK - DEFINED IN/KEYBOARD MONITORNUMBER OF VALID COMMANDS - DEFINED LATERMASK FOR CHECKING MEMORY ADDR DISPLAYMASK TO CLEAR PARITY BIT FROM CONSOLE CHARSTART ADDRESS OF RAM - DEFINED INKEYBOARD MONITOR

PCLSV AND 0FFH i PROGRAM COUNTER LOW ORDER BYTE($ - RGTBL) i NUMBER OF ENTRIES IN

i /REGISTER SAVE LOCATION TABLE

IBH07FAH0DHIBH0FH0FFH0AHo

0FH07FH

DBEQU

SOURCE STATEMENT

NUMRG

i***************************************************** ************

MONITOR EQUATES

,i***************************************************** ************

CICNVBNCOCROUTDELAYECHOERRORFRETGETCHGETHXGETNMHILONMOUTPRVALREGDSRGADRSRETSTHF0STHLFVALDGVALDL

DCMDGCMDICMDMCMDSCMDXCMD

,i***************************************************** *****************i***************************************************** *****************

THE LISTING IS ORGANIZED IN THE FOLLOWING WAY. FIRST THE COMMANDRECOGNIZER, WHICH IS THE HIGHEST LEVEL ROUTINE IN THE PROGRAM.NEXT THE ROUTINES TO IMPLEMENT THE VARIOUS COMMANDS. FINALLY,THE UTILITY ROUTINES WHICH ACTUALLY DO THE DIRTY WORK. WITHINEACH SECTION, THE ROUTINES ARE ORGANIZED IN ALPHABETICALORDER, BY ENTRY POINT OF THE ROUTINE.

MACROS USED IN THE TTY MONITOR ARE DEFINED IN THE KEYBOARD MONITOR.

LIST OF FUNCTIONS

THIS PROGRAM WAS ADAPTED, WITH FEW CHANGES, FROM THE SDK-88 MONITOR.THIS PROGRAM RUNS ON THE 8085 BOARD AND IS DESIGNED TO PROVIDETHE USER WITH A MINIMAL ~NITOR. BY USING THIS PROGRAM,THE USEa CAN EXAMINE AND ~HANGE MEMORY OR CPU REGISTERS, LOADA PROGRAM (IN ABSOLUTE HEX) INTO RAM, AND EXECUTE INSTRUCTIONSALREADY IN MEMORY. THE MONITOR ALSO PROVIDES THE USER WITHROUTINES FOR PERFORMING CONSOLE I/O.

,i***************************************************** *****************i********·*·····················********************** *****************

,BRCHR EQUBRTAB EQUCR EQUESC EQUHCHAR EQUINVRT EQULF EQULOWER EQUiLSGNON EQUiMNSTK EQU

iNCMDS EQUNEWLN EQUPRTY8 EQUiRAMST EQU

SEQ

124012411242124312441245124612471248124912501251125212531254125512561257125812591268126112621263126412651266126712681269127.127112721273127412751276127712781279128.1281128212831284128512861287128812891298129112921293129412951296129712981299138813011302138313B4130513861307138813891318131113121313131413151316131713181319132B1321132213231324132513261327132813291330133113321333133413351336133713381339

000F007F

001B07FA000D001B000F00FF.,00A0000

LOC OBJ

03F9 F20080

Page 81: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8080/8085 MACRO ASSEMBLER, X108 SDK85 PAGE 15

LOC OBJ SEQ SOURCE STATEMENT

SIZE OF ENTRY IN RTAB TABLESHIFTED START BITSTOP BITUNSHIFTED START BITCODE FOR ICMD TERMINATING CHARACTER (ESCAPE)DENOTES UPPER HALF OF BYTE IN ICMD

COMPARE TABLE ENTRY AND CHARACTERBRANCH IF EQUAL - COMMAND RECOGNIZEDELSE, INCREMENT TABLE POINTERDECREMENT LOOP COUNTBRANCH IF NOT AT TABLE ENDELSE, COMMAND CHARACTER IS ILLEGAL

FETCH NEXT CHAR TO C REGSEND IT TO THE CONSOLEPOINT TO NEXT CHARACTERDECREMENT BYTE COUNTERRETURN FOR NEXT CHARACTER

GET COMMAND CHARACTER TO AECHO CHARACTER TO USERPUT COMMAND CHARACTER INTO ACCUMULATORC CONTAINS LOOP AND INDEX COUNTHL POINTS INTO COMMAND TABLE

IF GOOD COMMAND, LOAD ADDRESS OF TABLE/OF COMMAND ROUTINE ADDRESSES

ALWAYS WANT TO RESET STACK PTR TO MONITOR'/STARTING VALUE SO ROUTINES NEEDN'T CLEAN UPPROMPT CHARACTER TO CSEND PROMPT CHARACTER TO USER ~ERMINAL

WANT TO LEAVE ROOM FOR RST BRANCH

;INTER-BIT TIME DELAYiOUTPUT INTER-BIT TIME DELAY;4 BIT TIME DELAY;DELAY UNTIL READY TO SAMPLE BITS

,INTER-BIT DELAY,OUTPUT INTER-BIT TIME DELAY,4 BIT TIME DELAY;DELAY UNTIL READY TO SAMPLE BITS

PRINT SIGNON MESSAGE

RESTART ENTRY POINT

COMMAND RECOGNIZING ROUTINE

I-WAITS116411644656582

WAITS9309303720465

80H40HICIH1BH0FFH

H,CADR

H,MNSTK

H,SGNON , GET ADDRESS OF SIGNON MESSAGEB,LSGNON ; COUNTER FOR CHARACTERS IN MESSAGE

C,' ,ECHOGTC03

MGTC10HCGTC05ERROR

C,MCOHBMSGL

GETCHECHOA,CB,NCMDSH,CTAB

EQUEQUEQUEQUEQUEQU

IFEQUEQUEQUEQUENDIF

IFEQUEQUEQUEQUENDIF

LXI

LXIMVI

CALLCALLMOVLXILXI

CoiPJZINXOCRJNZJMP

MOVCALLINXOCRJNZ

LXISPHLMVICALLJMP

FUNCTION: GETCMINPUTS: NONEOUTPUTS: NONECALLS: GETCH,ECHO,ERRORDESTROYS: A,B,C,H,L,F/F'SDESCRIPTION: GETCM RECEIVES AN INPUT CHARACTER FROM THE USER

AND ATTEMPTS TO LOCATE THIS CHARACTER IN ITS COMMANDCHARACTER TABLE. IF SUCCESSFUL, THE ROUTINECORRESPONDING TO THIS CHARACTER IS SELECTED FROMA TABLE OF COMMAND ROUTINE ADDRESSES, AND CONTROLIS TRANSFERRED TO THIS ROUTINE. IF THE CHARACTERDOES NOT MATCH ANY ENTRIES, CONTROL IS PASSED TOTHE ERROR HANDLER.

iRTABSSSTRTSTOPBSTRTTERMUPPER

13411341134213431344134513461347 iDELAY VALUES IF NO WAIT STATE134813491350 IBTIM1351 OBTIM1352 TIM41353 WAIT13541355 ,1356 iDELAY VALUES IF ONE WAIT STATE135713581359 IBTIM1360 OBTIM1361 TIM41362 WAIT136313641365 ,1366 , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••13671368136913711371 ,1372 , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••137313741375 ,1376 , ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••1377 ;1378137913811381 ,1382 ; ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••13831384 ,1385 GO:138613871388 MSGL:1389139113911392139313941395 ,1396 i····················································· .13971398139914101401 ,1402 , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••141314041415141614171418141914111411141214131414141514161417 ,1418 GETCM:141914211421142214231424 GTC03:142514261427142814291430 GTC05:1431143214331434143514361437 G'rC1";:14381439

048C048C12300246

0080004000C0001B00FF

0421 BE~422 CA2D04ia425 230426 000427 C22104042A C31106

0408 21E920041B F9040C 0E2E040E CDF8050411 C31404

0420 21A007

13FA 218CI713FD 1614

13FF 4E1411 CDC4151413 231414 IS0415 C2FF03

0414 CD1F060417 CDF805041A 79041B 010600041E 21AE07

Page 82: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8080/8085 MACRO ASSEMBLER, X108 SDK85 PAGE 16

ADO WHAT IS LEFT OF LOOP COUNTADD AGAIN - EACH ENTRY IN CADR IS 2 BYTES LONGGET LSP OF ADDRESS OF TABLE ENTRY TO APOINT TO NEXT BYTE IN TABLEGET MSP OF ADDRESS OF TABLE ENTRY TO HPUT LSP OF ADDRESS OF TABLE ENTRY INTO LNEXT INSTRUCTION COMES FROM COMMAND ROUTINE

ADDRESS IS 2 BYTES LONG

ENDING ADDRESS TO DESTARTING ADDRESS TO HL

GET 2 NUMBERS FROM INPUT STREAM

ECHO CARRIAGE RETURN/LINE FEEDDISPLAY ADDRESS OF FIRST LOCATION IN LINE

USE BLANK AS SEPARATORGET CONTENTS OF NEXT MEMORY LOCATIONDISPLAY CONTENTSSEE IF ADDRESS OF DISPLAYED LOCATION IS/GREATER THAN OR EQUAL TO ENDING ADDRESSIF NOT, MORE TO DISPLAY

CARRIAGE RETURN/LINE FEED TO END LINEALL DONE

GET ADDRESS (IF PRESENT) FROM INPUT STREAMBRANCH IF NO NUMBER PRESENT

IF MORE TO GO, POINT TO NEXT LOC TO DISPLAYGET LOW ORDER BITS OF NEW ADDRESSSEE IF LAST HEX DIGIT OF ADDRESS DENOTES/START OF NEW LINENO - NOT AT END OF LINEYES - START NEW LINE WITH ADDRESS

RESTORE REGISTERS AND BEGIN EXECUTION(RSTOR IS IN KEYBOARD MONITOR)

IF NO STARTING ADDRESS, MAKE SURE THAT/CARRIAGE RETURN TERMINATED COMMANDERROR IF NOT

ELSE, GET TERMINATORSEE IF CARRIAGE RETURN

: ERROR IF NOT PROPERLY TERMINATED; WANT NUMBER TO REPLACE SAVE PGM COUNTER

BBA,MHH,ML,A

RSTOR

A,DCRERROR

GETHXGCM05GCM05A,DCRERRORH,PSAVM,CHM,BGCM10

c,l

COMMAND IMPLEMENTING ROUTINES

DADDADMOVINXMOVMOVPCHL

MVI C,2CALL GETNMPOP 0POP H

CALL CROUTMOV A,HCALL NMOUTMOV A,LCALL NMOUT

MVI C, ,CALL ECHOMOV A,MCALL NMOUTCALL HILO

FALSE DCM15JNC DCM15CALL CROUTJMP GETCM

INX HMOV A,LANI NEWLN

JNZ DCM10JMP DCM05

MVI

MOVCPIJNZ

JMP

CALLFALSEJNCMOVCPIJNZLXIMOVINXMOVJMP

SOURCE STATEMENT

FUNCTIOL~: DCMDINPUTS: NONEOUTPUTS: NONECALLS: ECHO,NMOUT,HILO,GETCM,CROUT,GETNMDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: DCMD IMPLEMENTS THE DISPLAY MEMORY (0) COMMAND

FUNCTION: GCMDINPUTS: NONEOUTPUTS: NONECALLS: ERROR,GETHX,RSTTFDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: GCMD IMPLEMENTS THE BEGIN EXECUTION (G) COMMAND.

FUNCTION: ICMDINPUTS: NONEOUTPUTS: NONECALLS: ERROR,ECHO,GETCH,VALDL,VALDG,CNVBN,STHLF,GETNM,CROUTDESTROYS: A,8,C,D,E,H,L,F/F'SDESCRIPTION: ICMD IMPLEMENTS THE INSERT CODE INTO MEMORY (I) COMMAND.

1440144114421443144414451446144714481449 :**********************************************************************14501451145214531454 ,1455 :**********************************************************************145614571458145914601461146214631464 ,1465 DCMD:14661467146814691470 DCM05:147114721473147414751476 DCM10:14771478147914801481148214831484+148514861487 DCM15:14881489149014911492149314941495 ,1496 :*******************************************************~.********

149714981499150015011502150315041505 ,1506 GCMD:150715081509+151015111512151315141515151615171518 GCM05:1519152015211522 GCM10:1523152415251526 ,1527 ;*****************************************************************152815291530153115321533153415351536 ,1537 ICMD:1538

SEQ

0437 0E02~439 CD5B06043C 010430 El

043E CDEB050441 7C0442 CDC7060445 700446 CDC706

0449 0E20044B CDF805044E 7E044F CDC7060452 CDA006

0455 D25E040458 CDE805045B C30804

045E 23045F 700460 E60F

0462 C249040465 C33E04

0468 CD2606

046B 027004046E 7A046F FE0D0471 C211060474 21F2200477 710478 230479 70047A C38304

0470 7A047E FE0D0480 C21106

0483 C31B03

LOC OBJ

0430 0~

0431 090432 7E0433 230434 660435 6F0436 E9

0486 0E01

Page 83: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8888/8885 MACRO ASSEMBLER, X108 SOK85 PAGE 17

,;*********************************************************,~********

SOURCE STATEMENT

,;*****************************************************************

CALr, 8ETNM GET SINGLE NUMBER FROM INPUT STREAMMVI A,UPPERSTA TEMP TEMP WILL HOLD THE UPPER/LOWER HALF BYTE FLAGPOP 0 ADDRESS OF START TO DE

MOVE ANOTHER BYTE

ELSE, CHECK TO SEE IF VALID HEX DIGITIF NOT, BRANCH TO HANDLE ERROR CONDITION

DESTINATION ADDRESS TO HLMOVE BYTE TO DESTINATIONINCREMENT DESTINATION ADDRESS

TEST FOR DESTINATION ADDRESS OVERFLOWIF SO, CAN TERMINATE COMMANDINCREMENT SOURCE ADDRESSELSE, GET BACK ENDING ADDRESSSEE IF ENDING ADDR)=SOURCE ADDRIF NOT, COMMAND IS DONE

GET A CHARACTER FROM INPUT STREAM

ECHO ITPUT CHARACTER BACK INTO ASEE IF CHARACTER IS A TERMINATING CHARACTERIF SO, ALL DONE ENTERING CHARACTERSELSE, SEE IF VALID DELIMITERIF SO SIMPLY IGNORE THIS CHARACTER

ILLEGAL CHARACTERMAKE SURE ENTIRE BYTE FILLED THEN ERROR

HERE FOR ESCAPE CHARACTER - INPUT IS DONEADD CARRIAGE RETURN

USE DASH FOR SEPARATORGET NEW VALUE FOR MEMORY LOCATION, IF ANY

TOGGLE STATE OF FLAGPUT NEW VALUE OF FLAG BACKPROCESS NEXT DIGIT

GET NUMBER TO HL - DENOTES MEMORY LOCATION

GET TERMINATORSEE IF SPACEYES - CONTINUE PROCESSINGELSE, SEE IF COMMANO - TERMINATE COMMAND

GET CONTENTS OF SPECIFIED LOCATION TO ADISPLAY CONTENTS ON CONSOLE

GET A NUMBER, IF PRESENT, FROM INPUT

SOURCE ADDRESS TO HL

GET SOURCE BYTE

GET 3 NUMBERS FROM INPUT STREAMDESTINATION ADDRESS TO BCENDING ADDRESS TO HLSTARTING ADDRESS TO DE

SAVE ENDING ADDRESS

CONVERT DIGIT TO BINARYMOVE RESULT TO CSTORE IN APPROPRIATE HALF WORDGET HALF BYTE FLAGSET F/F'S8RANCH IF FLAG SET FOR UPPERIF LOWER, INC ADDRESS OF BYTE TO STORE IN

,,

A,D, ,

INVRTTEMPICM05

GETCM

SCM10

HH,DL,E

A,MH,BL,CM,ABA,BCGETCMoHHILOGETCMGETCM'MCM05

STHF0ERROR

GETCHC,AECHOA,CTERMICM25VALOLICM05ICM05VALOGICM20ICM20CNVBNC,ASTHLFTEMPAICM10D

STHF0CROUTGETCM

C,3GETNMBHD

A,MNMOUTC, '-'ECHOGETHX

GETHXBH

MVICALLPOPPOPPOP

MOVCALLMVICALLCALL

CALLPUSHPOP

CALLCALLJMP

XRISTAJMP

CALLJMP

PUSHMOVMOV

MOVMOVMOVMOVINXMOVORAJZINXPOPCALLFALSEJNCJMP

MOVCPIJZCPIJNZ

CALLMOVCALLMOVCPIJZCALLTRUEJCCALLFALSEJNCCALLMOVCALLLOAORAJNZINX

FUNCTION: SCMDINPUTS: NONEOUTPUTS: NONECALLS: GETHX,GETCM,NMOUT,ECHODESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: SCMD IMPLEMENTS THE SUBSTITUTE INTO MEMORY (S) COMMAND.

FUNCTION: MCMDINPUTS: NONEOUTPUTS: NONECALLS: GETCM,HILO,GETNMDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: MCMD IMPLEMENTS THE MOVE DATA IN MEMORY (M) COMMAND.

,MCMD:

MCMI5:

ICM25:

ICM21:

ICM05:

ICM10:

SCMI5:

,SCMD:

SCM10:

SEQ

15391540154115421543154415451546154715481549155015511552+155315541555+1556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159115911592159315941595

1596159715981599160016111612168316141685161616071608+16091611161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637

14C7 CD340784CA CDEB0514CD C38804

04D0 0E030402 CD5B0604D5 Cl04D6 El0407 Dl

0488 CD5B0604dB 3EFF8480 32F0200490 01

8491 C01F868494 4F8495 COF8058498 798499 FE1B849B CAC784849E C07987

84A1 DA918484A4 C05E07

84A7 02C18484AA COBB8584AO 4F84AE CD3F878481 3AF0288484 878485 C2898484B8 13

1489 EEFF1488 32F028848E C39184

04C1 CD340784C4 C31106

14F0 CD260604F3 C514F4 El

14F5 7A04F6 FE2014F8 CA000504FB FE2C04FD C20804

0500 7E0501 CDC7061504 0E2D0506 CDF8050509 CD2606

0408 E50409 62040A 6B

040B 7E040C 6884DD 6904DE 7784DF 1314E8 7884E1 Bl14E2 CA881414E5 1384E6 E184E7 CDA816

84EA 02181414EO C3D884

LOC OBJ

Page 84: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISI5-II 8080/~085 MACRO ASSEMBLER, X108 SDK85 PAGE 18

LOC OBJ SEQ SOURCE STATEMENT

,;*****************************************************************

FUNCTION: XCMDINPUTS: NONEOUTPUTS: NONECALLS: GETCH,ECHO,REGDS,GETCM,ERROR,RGADR,NMOUT,CROUT,GETHXDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: XCMD IMPLEMENTS THE REGISTER EXAMINE AND CHANGE (X)

COMMAND.

XCMD:

XCM05:

; ADDRESS OF SAVE LOCATION FROM TABLE

ECHO IT

ECHO SPACE TO USER

USE DASH AS SEPARATORSEE IF THERE IS A VALUE TO PUT INTO REGISTERNO - GO CHECK FOR NEXT REGISTER

ELSE, SAVE THE TERMINATOR FOR NOWGET BACK LENGTH FLAGPUT ADDRESS OF SAVE LOCATION INTO HLSET FIF'SIF 8 BIT REGISTER, BRANCHSAVE UPPER 8 BITSPOINT TO SAVE LOCATION FOR LOWER a BITS

STORE ALL OF 8 BIT OR LOwER 1/2 OF 16 BIT REG

SIZE OF ENTRY IN RTAB TABLEPOINTER INTO REGISTER TABLE RTABADD ENTRY SIZE TO POINTERDO NEXT REGISTER

BRANCH IF NOT CARRIAGE RETURNELSE, DISPLAY REGISTER CONTENTSTHEN TERMINATE COMMAND

SET F/F'SBRANCH IF NOT AT END OF TABLEELSE, OUTPUT CARRIAGE RETURN LINE FEEDAND EXIT

PUT SPACE INTO TEMP AS DELIMITER

PUT POINTER ON STACK

GET TERMINATORSEE IF A BLANKYES - GO CHECK POINTER INTO TABLENO - SEE IF COMMANO - MUST BE CARRIAGE RETURN TO END COMMAND

GET REGISTER IDENTIFIER TO CCONVERT IDENTIFIER INTO RTAB TABLE AD DR

PUT POINTER TO REGISTER ENTRY INTO HL

FETCH LENGTH FLAG FROM TABLESAVE ADDRESS OF SAVE LOCATION

ELSE, STORE LOWER 8 BITS OF NUMBER ENTERED

MOVE ADDRESS TO HLSAVE LENGTH FLAGGET 8 BITS OF REGISTER FROM SAVE LOCATIONDISPLAY ITGET BACK LENGTH FLAGSAVE IT AGAINSET F/F'SIF 8 BIT REGISTER, NOTHING MORE TO DISPLAYELSE, FOR 16 BIT REGISTER, GET LOWER 8 BITS

DISPLAY THEM

GET 'l'ERMINATORSAVE IN MEMORYCLEAR STACK OF LENGTH FLAG AND ADDRESS10F SAVE LOCATIONGO INCREMENT REGISTER TABLE POINTER

IF NO VALUE PRESENT, BRANCH

INCREMENT ADDRESS OF MEMORY LOCATION TO VIEW

,. GET REGISTER IDENTIFIER

SHR 8

, ,

M,C

A,DTEMPooXCM27

C, '-'ECHOGETHXXCM30XCM3"A,DTEMPPSWHAXCM2SM,BH

D,RTABSHoXCM10

GETCHC,AECHOA,CCRXCM05REGDSGETCM

TEMP

XCM15

A,MAXCM18CROUTGETCM

GETCM

HE,MD,RAMSTHB,MooHBA,MNMOUTPSWPSWAXCM20HA,MNMOUT

C,ARGADR8HC,ECHOA,CTEMP

SCM15SCM15M,C

HSCM05

MOV

MOVSTAPOPPOPJMP

LXIPOPDADJMP

MVICALLCALLFALSEJNCMOVSTAPOPPOPORAJZMOVDCX

MOVCALLPUSHPOPMVICALLMOVSTA

CALLMOVCALLMOVCPIJNZCALLJMP

MOVORAJiUCALLJHP

LOACPIJZCPIJNZ

PUSHMOVMVIINXMOVPUSHPUSHPOPPUSHMOVCALLPOPPUSHORAJZDCXMOVCALL

FALSEJNCMOV

INXJMP

XCM27:

XCM28:

XCM25:

XCM30:

XCMI8:

XCM15:

XCM10:

SCM15:

16381639+164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170"17011782170317041785178617971788178917181711+17121713171417151716171717181719172817211722172317241725172617271728172917301731173217331734

057E 71

8567 8E208569 CDF885856C C02696

856F 0287858572 7A9573 32F0288576 F18577 E19578 879579 CA7E05057C 700570 2B

0587 7A0588 32FD200588 010S8C 018580 C37F0S

957F 1103990582 E10583 190584 C33605

0514 CDIF060517 4F0518 CDF805051B 79051C FE0D051E C227050521 CDEA060524 C30804

0536 3AFD200539 FE20053B CA4305053E FE2C0540 C20804

0543 7E0544 B70545 C24E050548 CDEB05054B C39804

054E E5954F 5E9559 16200552 230553 460554 059555 058556 E19557 C59558 7E0559 CDC786955C Fl9550 F5955E B7855F CA67850562 2B8563 7E8564 CDC786

0527 4F0528 CDIB07052B C5052C El0520 0E20052F COF8050532 790533 32FD20

0510 23~511 C3F504

050C 021005050F 71

Page 85: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8888/8885 MACRO ASSEMBLER, X188 PAGE 19

UTILITY ROUTINES

SOURCE STATEMENT

i***************************************************** *************

;*****************************************************************

SAVE BCB<--0, C<--' BITS TO RECEIVE

RESTORE SAVED REGISTERS

WAIT UNTIL MIDDLE OF NEXT BITGET THE BITINTO CARRYGET PARTIAL RESULTSHIFT IN NEXT DATA BITREPLACE RESULTDEC COUNT OF BITS TO GOBRANCH IF MORE LEFTELSE, WANT TO WAIT OUT STOP aIT

GET RESULT

SUBTRACT CODE FOR '0' FROM ARGUMENTWANT TO TEST FOR RESULT OF 0 TO 9IF SO, THEN ALL DONEELSE, RESULT BETWEEN 17 AND 23 DECIMALSO RETURN AFTER SUBTRACTING BIAS OF 7

THAT'S IT

GET INPUT BITINTO CARRY wITH ITBRANCH IF NO START bITWAIT UNTIL MIDDLE OF BIT

SAVE DE

SEND A BITWAIT FOR TTY TO HANDLE IT

SAVE BCSAVE DESTART BIT MASKB WILL COUNT BITS TO SEND

PICK UP BITS LEFT TO SENDLOW ORDER BIT TO CARRYPUT REST BACKSHIFTED ENABLE BITSHIFT IN DATA BITCOMPLEMENT DATA BITDEC COUNTSEND IF MORE BITS NEED TO BE SENTELSE, SEND STOP BITS

D,IBTIMDELAY

A,B

A,C'0 1

18

B,ACCI10D,IBTIMDELAYA,BBD

o

BoA,STRTB,7

CI05D,WAI'l'DELAYBB,8

D,OBTIMDELAYA,C

C,AA,SSTRT

88HBC005A,STOPB

LXICALLRIMRALMOVRARMOVOCRJNZLXICALLMOVPOPPOPEIRET

MOVSUICPIRMSUIRET

RIMRALJCLXICALLPUSHLXI

01PUSH

01PUSHPUSHMVIMVI

SIMLXICALLMOVRARMOVMVIRARXRIOCRJPMVISIM

FUNCTION: CNVBNINPUTS: C - ASCII CHARACTER '0 1 -'9 1 OR 'A'-IF'OUTPUTS: A - 8 TO F HEXCALLS: NOTHINGDESTROYS: A,F/F'SDESCRIPTION: CNVBN CONVERTS THE ASCII REPRESENTATION OF A HEX

CNVBN INTO ITS CORRESPONDING BINARY VALUE. CNVBNDOES NOT CHECK THE VALIDITY OF ITS INPUT.

FUNC'l'ION: CIINPUTS: NONEOUTPUTS: A - CHARACTER FROM TTYCALLS: DELAYDESTROYS: A,F/F'SDESCRIPTION: CI WAITS UNTIL A CHARACTER HAS BEEN ENTERED AT THE

. TTY AND THEN RETURNS THE CHARACTER, VIA THE AREGISTER, TO THE CALLING ROUTINE. THIS ROUTINEIS CALLED BY THE USER VIA A JUMP TABLE IN RAM.

FUNCTION: COINPUTS: C - CHARACTER TO OUTPUT TO TTYOUTPUTS: C - CHARACTER OUTPUT TO TTYCALLS: DELAYDESTROYS: A,F/FISDESCRIPTION: CO SENDS ITS INPUT ARGUMENT TO THE TTY.

i······································*···**·*····*** ************

,i******·********************************************** *****************

CI10:

,CNVBN:

CI:

CI05:

,CO:

COI5:

SEQ

17351736173717381739174017411742174317441745174617471748174917581751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517cl6178717881789179017911792179317941795179617971798179918801801180218031804180518061807188818891810181118121813181418151816181718181819182818211822182318241825182618271828182918381831183218331834

0592 20~593 17~594 DA92050597 114602059A CDF1050590 C5059E 010800

0590 F30591 05

05Al 118C0405A4 CDF10505A7 2005A8 1705A9 7805AA IF05AB 47~5AC 0005AD C2A10505B0 118C0405B3 CDF10505B6 780587 Cl0588 010589 FB058A C9

05B8 7985BC 0630858E FE0A85C0 F885C1 060785C3 C9

05C4 F38SC5 C585C6 0585C7 3EC085C9 8687

85CB 3885CC 118C8485CF CDF1858502 798503 IF85D4 4F8505 3E808507 IF1508 EE8815DA 8515DB F2CB8585DE 3E4885E8 38

LOC OBJ

Page 86: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8080/8085 MACRO ASSEMBLER, X108 SDKB5 PAGE 20

:*******************************************************************

:**********************************************************************

,ECHO:

FUNCTION: FRETINPUTS: NONE

ALL DONE

WAIT 4 BIT TIME (FAKE PARITY + 3 STOP BITS)

RESTORE SAVED REGISTERS

IF ARGUMENT NOT 0, KEEP GOING

DECREMENT INPUT ARGUME~T

SEND * TO CONSOLESKIP TO BEGINNING OF NEXT LINETRY AGAIN-POR ANOTHER COMMAND

D,TIM4DELAYo8

C,CRECHO

oA,DEDELAY

C, '*'ECHOCROUTGETCM

LXICALLPOPPOPEIR2T

MVICALLRET

DCXMOVORAJNZRET

MOV 8,C SAVE ARGUMENTMVI A,ESCCMP 8 SEE IF ECHOING AN ESCAPE CHARACTERJNZ ECH0S NO - BRANCHMVI C,' $' YES - ECHO AS $

CALL CO DO OUTPUT THROUGH MONITORMVI A,CRCMP B SEE IF CHARACTER ECHOED wAS A CARRIAGE RETURNJNZ ECH10 NO - NO NEED TO TAKE SPECIAL ACTIONMVI C,LF YES - WANT TO ECHO LINE FEED, TOOCALL CO

MOV C,8 RESTOR~ ARGUMENTRET

MVICALLCALLJMP

SOURCE STATEMENT

FUNCTION: ERRORINPUTS: NONEOUTPUTS: NONECALLS: ECHO,CROUT,GETCMDESTROYS: A,B,C,F/F'SDESCRIPTION: ERROR PRINTS THE ERROR CHARACTER (CURRENTLY AN ASTERISK)

ON THE CONSOLE, FOLLOWED BY A CARRIAGE RETURN-LINE FEED,AND THEN RETURNS CONTROL TO THE COMMAND RECOGNIZER.

FUNCTION: DELAYINPUTS: DE - 16 BIT INTEGER DENOTING NUMBER OF TIMES TO LOOPOUTPUTS: NONECALLS: NOTHINGDESTROYJ: A,D,E,F/F'SDESCRIPTION: DELAY DOES NOT RETURN TO CALLER UN1'IL INPUT ARGUMENT

IS COUNTED DOWN TO 0.

FUNCTION CROUTINPUTS: NONEOUTPUTS: NONECALLS: ECHODESTROYS: A,B,C,F/F'SDESCRIPTION: CROUT SENDS A CARRIAGE RETURN (AND HENCE A LINE

FEED) TO THE CONSOLE.

FUNCTION: ECHOINPUTS: C - CHARACTER TO ECHO TO TERMINALOUTPUTS: C - CHARACTER ECHOED TO TERMINALCALLS: CODESTROYS: A,8,F/F ' SDESCRIPTION: ECHO TAKBS A SINGLE CHARACTER AS INPUT AND, VIA

THE MONITOR, SENDS THAT CHARACTER TO THE USERTERMINAL. A CARRIAGE RETURN IS ECHOED AS A CARRIAGERETURN LINE FEED, AND AN ESCAPE CHARACTER IS ECHOED AS $.

CROUT:

,:*****************************************************************

,:*************************************************.*****************

DELAY:

ECH10:

ECH0S:

ERROR:

,:**********************************************************************

1835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701~11

187218731874lti7518761877187818791880188118CJ2188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933

SEQ

05E8 0E0D05ED CDFS0505F0 C9

05F8 4105F9 3EIB05FB 8805FC C2010605FF 0E24

0601 CDC4050604 3E0D0606 880607 C20F06060A 0E0A060C CDC405

060F 480610 C9

05Fl 1805F2 7A05F3 B305F4 C2F10505F7 C9

0611 8E2A0613 CDF8050616 CDEB058619 C38804

LOC 08J

85El 11301285E4 CDF18505E7 0105E8 Cl05E9 FB05EA C9

Page 87: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8888/8885 MACRO ASSEMBLER, X188 SDK85 PAGE 21

,;*****************************************************************

,;**********************************************************************

,;**********************************************************************

CALLS: GETHX,HILO,ERRORDESTROYS: A,B,C,D,E,H,L,F/F'S

SAVE HLINITIALIZE RESULTINITIALIZE DIGIT FLAG TO fALSE

YES - ALL DONE, BUT WANT TO RETURN DELIMITER

IF NOT DELIMITER, SEE IF DIGITERROR IF NOT A VALID DIGIT, EITHER

GET A CHARACTER

ECHO THE CHARACTERSEE IF DELIMITERNO - BRANCH

MOVE RESULT TO BCRESTORE HLGET FLAGSET F/F'SIF FLAG NON-0, A NUMBER HAS BEEN fOUNDELSE, DELIMITER WAS FIRST CHARACTER

CONVERT DIGIT TO ITS BINARY VALUESET DIGIT FLAG NON-0*2*4*8*16CLEAR UPPER 8 BITS OF BC PAIRBINARY VALUE OF CHARACTER INTO CADD THIS VALUE TO PARTIAL RESULTGET NEXT CHARACTER

FIRST SET CARRY TRUETHEN COMPLEMENT IT TO MAKE IT FALSERETURN APPROPRIATELY

GET CHARACTER FROM TERMINALTURN OFF PARITY BIT IN CASE SET BY CONSOLEPUT VALUE IN C REGISTER FOR RETURN

HH,0E,0

GETCHC,AECHOVALDLGHX10GHX10D,CHBHA,EASRETFRET

VALDGERRORERRORCNVBNE,0FFHHHHHB,0C,ABGHX05

CIPRTY0C,A

PUSHLXIMVI

CALLANIMOVRET

CALLMOVCALLCALLFALSEJNCMOVPUSHPOPPOPMOVORAJNZJZ

STCCMCRET

CALLFALSEJNCCALLMVIDADDADDADDADMVIMOVDADJMP

FUNCTION: GETCHINPUTS: NONEOUTPUTS: C - NEXT CHARACTER IN INPUT STREAMCALLS: CIDESTROYS: A,C,F/F'SDESCRIPTION: GETCH RETURNS THE NEXT CHARACTER IN THE INPUT STREAM

TO THE CALLING PROGRAM.

SOURCE STATEMENT

OUTPUTS: CARRY - ALWAYS 0CALLS: NOTHINGDESTROYS: CARRYDESCRIPTION: FRET IS JUMPED TO BY ANY ROUTINE THAT WISHES TO

INDICATE FAILURE ON RETURN. FRET SETS THE CARRYFALSE, DENOTING FAILURE, AND THEN RETURNS TO THECALLER OF THE ROUTINE INVOKING FRET.

FUNCTION: GETHXINPUTS: NONEOUTPUTS: BC - 16 BIT INTEGER

o - CHARACTER WHICH TERMINATED THE INTEGERCARRY - 1 IF FIRST CHARACTER NOT DELIMITER

- 0 IF FIRST CHARACTER IS DELIMITERCALLS: GETCH,ECHO,VALDL,VALDG,CNVBN,ERRORDESTROYS: A,B,C,D,E,F/F'SDESCRIPTION: GETHX ACCEPTS A STRING OF HEX DIGITS FROM THE INPUT

STREAM AND RETURNS THEIR VALUE AS A 16 BIT BINARYINTEGER. IF MORE THAN 4 HEX DIGITS ARE ENTERED,ONLY THE LAST 4 ARE USED. THE NUMBER TERMINATES WHENA VALID DELIMITER IS ENCOUNTERED. THE DELIMITER ISALSO RETURNED AS AN OUTPUT Of THE fUNCTION. ILLEGALCHARACTERS (NOT HEX DIGITS OR DELIMITERS) CAUSE ANERROR INDICATION. IF THE FIRST (VALID) CHARACTERENCOUNTERED IN THE INPUT STREAM IS NOT A DELIMITER,GETHX WILL RETURN WITH THE CARRY BIT SET TO 1;OTHERWISE, THE CARRY BIT IS SET TO 0 AND THE CONTENTSOF BC ARE UNDEFINED.

FUNCTION: GETNMINPUTS: C - COUNT OF NUMBERS TO FIND IN INPUT STREAMOUTPUTS: TOP OF STACK - NUMBERS FOUND IN REVERSE ORDER (LAST ON TOP

OF STACK)

GETHX:

GHX05:

GHx10:

,GETCH:

,FRET:

SEQ

1934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000+200120022003200420052006200720082009201020112012+201320142015201620172018201920202021202220232024202520262027202820292030283120322033

0626 E50627 210000062A 1E00

062C CD1F06062F 4F0630 CDF8050633 CD7907

0636 0245060639 510b3A E5063B C1063C £10630 7B063E B7063F C232070642 CA1C06

0645 CD5E07

0648 021106064B CDBB05064E 1EFF0650 290651 290652 290653 290654 06000656 4F8657 098658 C32C06

061F CD90050622 E67F0624 4F0625 C9

861C 378610 3F061E C9

LOC OBJ

Page 88: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8080/8085 MACRO ASSEMBLER, X108 SDK85 PAGE 22

*****************************************************************

CALLS: NOTHINGDESTROYS: F/F'SDESCRIPTION: HILO COMPARES THE 2 16 BIT INTEGERS IN HL AND DE. THE

INTEGERS ARE TREATED AS UNSIGNED NUMBERS. THE CARRYBIT IS SET ACCORDING TO THE RESULT OF THE COMPARISON.

FUNCTION: HILOINPUTS: DE - 16 BIT INTEGER

HL - 16 BIT INTEGEROUTPUTS: CARRY - 0 IF HL<DE

- 1 IF HL>-DE

SOURCE STATEMENT

DESCRIPTION: GETNM FINDS A SPECIFIED COUNT OF NUMBERS, BETWEENAND 3, INCLUSIVE, IN THE INPUTSTREAM AND RETURNS THEIR VALUES ON THE STACK. IF 2OR MORE NUMBERS ARE REQUESTED, THEN THE FIRST MUST BELESS THAN OR EQUAL TO THE SECOND, OR THE FIRST ANDSECOND NUMBERS WILL BE SET EQUAL. THE LAST NUMBERREQUESTED MUST BE TERMINATED BY A CARRIAGE RETURNOR AN ERROR INDICATION WILL RESULT.

2'S COMPLEMENT OF DE TO DE

ADD HL AND DE

YES - MAKE SECOND EQUAL TO THE FIRST

THIS OPERATION SETS CARRY PROPERLYRESTORE ORIGINAL DE CONTENTS

IF NOT, FILL REMAINING ARGUMENTS WITH 0FFFFH

SAVE BCSAVE A IN B REGISTERSAVE HL PAIRCHECK FOR DE • 8000H

GET THE 3 ARGUMENTS OUT

SEE IF FIRST >- SECONDNO - BRANCH

WE'RE AUTOMATICALLY DONE IF IT ISINCREMENT HL BY 1WANT TO TEST FOR 0 RESULT AFTER/INCREMENTINGIF SO, HL MUST HAVE CONTAINED 8FFFFHIF NOT, RESTORE ORIGINAL HLSAVE DEWANT TO TAKE 2'S COMPLEMENT OF DE CONTENTS

DECREMENT RESIDUAL COUNT1 IF NEGATIVE, PROPER RESULTS ON STACK

ELSE, GET RETURN ADDRREPLACE TOP RESULT ~ITH RETURN ADDRTRY AGAIN

PUT FIRST ON STACK - GET RETURN ADDRPUT SECOND ON STACK

1 PUT THIRD ON STACKPUT RETURN ADDRESS ON STACK

1 ELSE, SAVE NUMBER ON STACKDECREMENT MAXIMUM ARGUMENT COUNTDECREMENT ACTUAL ARGUMENT COUNTBRANCH IF NO MORE NUMBERS WANTEDELSE, GET NUMBER TERMINATOR TO ASEE IF CARRIAGE RETURNERROR IF SO - TOO FEW NUMBERSELSE, PROCESS NEXT NUMBER

PUT MAXIMUM ARGUMENT COUNT INTO L1 GET THE ACTUAL ARGUMENT COUNT

FORCE TO MAXIMUM OF 3IF 0, DON'T BOTHER TO DO ANYTHIINGELSE, PUT ACTUAL COUNT INTO H

GET A NUMBER FROM INPUT STREAMERROR IF NOT THERE - TOO FEW NUMBERS

A

GNM30

H

oBH

BB,AHA,DEHIL05HA,HLHIL05HoA,0FFHDO,AA,0FFHEE,ADA,LEA,HoD

H,A

L,3A,C3

BoHHILOGNM25GNM25D,HE,L

BLGNM15

GETHXERRORERRORBLHGNM10A,DCRERRORGNM85

XTHLPUSHPUSHPUSH

OCRRMPOPXTHLJMP

MVIMOVANIRZMOV

POPPOPPOPCALLFALSEJNCMOVMOV

PUSHMOVPUSHMOVORAJZINXMOVORAJZPOPPUSHMVIXRAMOVMVIXRAMOVINXMOVADDMOVADCPOP

PUSHOCRJNZ

MOV A,D WHEN COUNT ", CHECK LAST TERMINATORCPI CRJNZ ERROR 1 ERROR IF NOT CARRIAGE RETURNLXI B,0FFFFH ; HL GETS LARGEST NUMBERMOV A,L GET WHAT'S LEFT OF MAXIMUM ARG COUNTORA A CHECK FOR 0JZ GNM20 IF YES, 3 NUMBERS WERE INPUT

CALLFALSEJNCPUSHOCROCRJZMOVCPIJZJMP

ILO:

GNM30:

GNM15:

GNM25:

GNM20:

GNM05:

,GETNM:

GNM10:

SEQ

2034283520362837203828392048284128422843204428452846284728482049205020512852+285320542055205620572058205920602061206220632064206520662067206820692070207120722073207428752076207720782079+288828812"82208328842885208620872888208928902091209220932094209520962097209820992100210121022183210421052106210721"82109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133

0690 0295060693 540694 50

06A" C506A1 4706A2 E50GA3 7A06A4 B306A5 CAC10606A8 23"6A9 7C"6AA B50GAB CAC10606AE El06AF 058G80 3EFF06B2 AA06B3 578684 3EFF06B6 AB0687 5F0688 130689 70868A 8386BB 7C868C 8A0680 01

0695 E38696 050697 C58698 E5

0699 3D069A F8869B El069C E30690 C39906

8658 2E838650 798658 E6838668 C88661 67

0662 C026"6

0665 0211060668 C50669 20"66A 250668 CA77"60~6E 7A066F FE000671 CAl1060674 C36286

0677 7A0678 FEIo867A C211061670 01FFFF0680 700681 870682 CA8A06

1685 C50686 200687 C28586

168A Cl068B 01068C El0680 CDA006

LOC OBJ

Page 89: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8181/8885 MACRO ASSEMBLER, X188 SOK85 PAGE 23

;********************************************************************

,;****************************************~*****************************

,~**********************************************************************

FUNCTION; PRVALINPUTS: C - INTEGER, RANGE 0 TO FOUTPUTS: C - ASCII CHARACTERCALLS: NOTHINGDESTROYS: B,C,H,L,F/F'SDESCRIPTION: PRVAL CONVERTS A NUMBER IN THE RANGE 0 TO F HEX TO

THE CORRESPONDING ASCII CHARACTER, 0-9,A-F. PRVALDOES NOT CHECK THE VALIDITY OF ITS INPUT ARGUMENT.

RESTORE ORIGINAL CONTENTS OF ARESTORE ORIGINAL CONTENTS OF BCRETURN WITH CARRY SET AS REQUIRED

IF HL CONTAINS 0FFFFH, THEN CARRY CAN/ONLY BE SET TO 1

RESTORE ORIGINAL CONTENTS OF REGISTERSSET CARRY AND RETURN

ADDRESS OF TABLECLEAR HIGH ORDER BITS OF BCADD DIGIT VALUE TO HL ADDRESSFETCH CHARACTER FROM MEMORY

RESTORE SAVED VALUE OF HL

ECHO CHARACTER

GET UPPER 4 BITS TO LOW 4 BIT POSITIONSMASK OUT UPPER 4 BITS - WANT 1 HEX CHAR

CONVERT LOWER 4 BITS TO ASCIISEND TO TERMINALGET BACK ARGUMENTMASK OUT UPPER 4 BITS - WANT 1 HEX CHAR

SAVE HL - DESTROYED BY PRVALSAVE ARGUMENT

~OAD HL WITH ADDRESS OF START OF TABLE

GET PRINT SYMBOL OF REGISTER

TEST FOR 0 - END OF TABLEIF NOT END, BRANCHELSE, CARRIAGE RETURN/LINE FEED TO END/DISPLAY

OUTPUT EQUALS SIGN, I.E. A=POINT TO START OF SAVE LOCATION ADDRESS

~ GET LSP OF SAVE LOCATION ADDRESS TO ESHR 8 ,PUT MSP OF SAVE LOC ADDRESS INTO D

POINT TO LENGTH FLAGGET CONTENTS OF SAVE ADDRESSDISPLAY ON CONSOLEGET LENGTH FLAGSET SIGN F/FIF 0, REGISTER IS 8 BITS

A,BB

HA,BBSRET

H,DIGTBB,0BC,M

HPSW

HCHARC,APRVALECHOPSWHCHARC,APRVALECHOH

H,RTAB

ECHOC, t.'ECHOHE,MD,RAMSTHoNMOUTA,MAREGIS

C,MA,CAREG10CROUT

MOVPOPRZT

POPMOVPOPJMP

LXIMVIDADMOVRET

PUSHPUSHRRCRRCRRCRRCANIMOVCALLCALLPOPANIMOVCALLCALLPOPRET

LXI

MOVMOVORAJNZCALLRET

CALLMVICALLINXMOVMVIINXLOAXCALLMOVORAJZ

SOURCE STATEMENT

FUNC'l'ION: REGDSINPUTS: NONEOUTPUTS: NONECALLS: ECHO,NMOUT,ERROR,CROUTDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: REG OS DISPLAYS THE CONTENTS OF THE REGISTER SAVE

LOCATIONS, IN FORMATTED FORM, ON THE CONSOLE. THEDISPLAY lIS DRIVEN FROM A TABLE, RTAB, WHICH CONTAINSTHE REGISTER'S PRINT SYMBOL, SAVE LOCATION ADDRESS,AND LENGTH (8 OR 16 BITS).

FUNCTION: NMOUTINPUTS: A - 8 BIT INTEGEROUTPUTS:. NONECALLS: ECHO,PRVALDESTROYS: A,B,C,F/F'SDESCRIPTION: NNMOUT CONVERTS THE 8 BIT, UNSIGNED INTEGER IN THE

A REGISTER INTO 2 ASCII CHARACTERS. THE ASCII CHARACTERSARE THE ONES REPRESENTING THE 8 ·BITS. THESE TWOCHARACTERS ARE SENT TO THE CONSOLE AT THE CURRENT PRINTPOSITION OF THE CONSOLE.

HIL85:

,NMOUT:

PRVAL:

,REGDS:

REGl":

REG05:

SEQ

21342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522~6

220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233

LOC OBJ

86BE 7886BF C116C0 C9

06C1 E116C2 7806C3 C186C4 C33207

06E2 21B40706E5 060006E7 0~

06E8 4E06E9 C9

06EA 21C407

06C7 E506Ce F506C9 0F06CA 0F06CB 0F06CC 0F06CO E60F86CF 4F0600 COE2060603 COF8050606 F10607 E68F0609 4F060A COE2060600 CDF80506E0 El06E1 C9

06ED 4E06EE 7906EF B706F0 C2F70606F3 CDEB0506F6 C9

06F7 CDF80506FA 0E3006FC CDF80506FF 2307"" 5E0701 16200703 230704 1A"7"5 COC7060708 7E0709 B7"70A CA1207

Page 90: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8~80/80ti5 MACRO ASSEMBLER, X108 SDK85 PAGE 24

i***************************************************** ************

i**********~******************************************************

,;*****************************************************************

,;*****************************************************************

HL GETS ADDRESS OF TABLE STARTDE GET SIZE OF A TABLE ENTRY

ELSE, 16 SIT REGISTER SO MORE TO DISPLAYGET LOWER 8 BITSDISPLAY THEM

POINT TO START OF NEXT TABLE ENTRYDO NEXT REGISTER

GET REGISTER IDENTIFIERCHECK FOR TABLE END (IDENTIFIER IS 0)IF AT END OF TABLE, ARGUMENT IS ILLEGALELSE, COMPARE TABLE ENTRY AND ARGUMENTIF EQUAL, WE'VE FOUND WHAT WE'RE LOOKING FORELSE, INCREMENT TABLE POINTER TO NEXT ENTRYTRY AGAIN

SET CARRY TRUERETURN APPROPRIATELY

GET HALF BYTE FLAGSET FIF'SIF SET TO UPPEN, DON'T DO ANYTHINGELSE, WANT TO STORE THE VALUE 0DO IT

IF A MATCH, INCREMENT TABLE POINTER TO/SAVE LOCATION ADDRESSRETURN THIS VALUE

DoNMOUT

A,MAERRORCRGA10oRGA05

C,' ,ECHOHREG05

H,RTABD,RTABS

HB,HC,L

C,0STHLF

TEMPA

LXILXI

INXMOVMOVRET

DCXLDAXCALL

MVICALLINXJMP

MOVORAJZCMPJZDADJMP

LDAORARNZMVICALLRET

Sl'CRET

SOURCE STATEMENT

FUNCTION: STHF0INPUTS: DE - 16 BIT ADDRESS OF BYTE TO BE STORED INTOOUTPUTS: NONECALLS: STHLFDESTROYS: A,B,C,H,L,F/F'SDESCRIPTION: STHF0 CHECKS THE HALF BYTE FLAG IN TEMP TO SEE IF

IT IS SET TO LOWER. IF SO, STHF0 STORES A 0 TOPAD OUT THE LO~ER HALF OF THE ADDRESSED BYTEiOTHERWISE, THE ROUTINE TAKES NO ACTION.

FUNCTION: SRETINPUTS: NONEOUTPUTS: CARRYCALLS: NOTHINGDESTROYS: CARRYDESCRIPTION: SRET IS JUMPED TO BY ROUTINES WISHING TO RETURN SUCCESS.

SRET SETS THE CARRY TRUE AND THEN RETURNS TO THECALLER OF THE ROUTINE INVOKING SRET.

FUNCTION: RGADRINPUTS: C - CHARACTER DENOTING REGISTEROUTPUTS: BC - ADDRESS OF ENTRY IN RTAB CORRESPONDING TO REGISTERCALLS: ERRORDESTROYS: A,B,C,D,E,H,L,F/F'SDESCRIPTION: RGADR TAKES A SINGLE CHARACTER AS INPUT. THIS CHARACTER

DENOTES A REGISTER. RGADR SEARCHES THE TABLE RTABFOR A MATCH ON THE INPUT ARGUMENT. IF ONE OCCURS,RGADR RETURNS THE ADDRESS OF THE ADDRESS OF THESAVE LOCATION CORRESPONDING TO THE REGISTER. THISADDRESS POINTS INTO RTAB. IF NO MATCH OCCURS, THENTHE REGISTER IDENTIFIER IS ILLEGAL AND CONTROL ISPASSED TO THE ERROR ROUTINE.

FUNCTION: STHLFINPUTS: C - 4 BIT VALUE TO BE STORED IN HALF BYTE

DE - 16 BI' ADDRESS OF BYTE TO BE STORED INTOOUTPUTS: NONECALLS: NOTHINGDESTROYS: A,B,C,H,L,F/F'SDESCRIPTION: STHLF TAKES THE 4 BIT VALUE IN C AND STORES IT IN

HALF 'OF THE BYTE ADDRESSED BY REGISTERS DE. THEHALF BYTE USED (EITHER UPPER OR LOwER) IS DENOTEDBY THE VALUE OF THE FLAG IN TEMP. STHLF ASSUMESTHAT THIS FLAG HAS BEEN PREVIOUSLY SET(NOMINALLY BY ICMD).

RGA85:

,RGADR:

REGIS:

RGAI0:

,SRET:

STHF0:

SEQ

2234223522362237223822392248224122422243224422452246224722482249225022512252225322542255225622572258225922682261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333

871B 21C407871E 110388

0721 7E0722 870723 CA11060726 B90727 CA2E07072A 190728 C32107

872E 23072F 448738 408731 C9

0732 370733 C9

0734 3AFD20~737 B7073d C~

k:1739 ~E00

073B CD3F~7

073E C~

LOC OBJ

0700 IB070E lA070F CDC706

0712 0E200714 CDF8050717 230718 C3ED06

Page 91: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8881/8885 MACRO ASSEMBLER, X118 SDK85 PAGE 25

MONITOR TABLES

SOURCE STATEMENT

;*****.***********************************************************

:*.** •••••• *•••• *•••• *•• *••••••• ***.***.***.***************************

IF UPPER HALF, GET BYTECLEAR UPPER 4 BITSSAVE BYTE IN BGET VALUE

ALIGN TO UPPER 4 BITSOR IN ORIGINAL LOwER 4 BITSPUT NEW CONFIGURATION BACK

MOVE ADDRESS OF BYTE INTO HLGET VALUEFORCE TO 4 BIT LENGTHPUT VALUE BACKGET HALF BYTE FLAGCHECK FOR LOWER HALFBRANCH IF NOTELSE, GET BYTECLEAR LOWER 4 BITSOR IN VALUEPUT BYTE BACK

ERROR IF NONE OF THE ABOVE

NO - CODE GREATER THAN 'F'OKAY - CODE IS 'A' TO 'F I

, INCLUSIVE

CHECK FOR COMMA

CHECK FOR CARRIAGE RETURN

TEST CHARACTER AGAINST '0'IF ASCII CODE LESS, CANNOT BE VALID DIGITELSE, SEE IF IN RANGE '0 1-'9'CODE BETWEEN '0' AND '9'CODE EQUAL 19'NOT A DIGIT - TRY FOR A LETTERNO - CODE BETWEEN '9' AND lA'

LENGTH OF SIGNON MESSAGE

CHECK FOR SPACE

TABLE OF ADDRESSES OF COMMAND ROUTINES

oHA,C0FHC,ATEMPASTH05A,M0F0HCM,A

A,M0FHB,AA,C

BM,A

SIGNON MESSAGECR,LF,'SDK-85 VER 2.1',CR,LF

SRETFRET

A,C

S~ET ..CRSRET

A,C'0 'FRET19 1

SRETSRETIA I

FRETIG'FRETSRET

$-SGNON

MOVANIMOVMOVRRCRRCRRCRRCORAMOVRET

PJSHPOPMOVANIMOVLOAORAJNZMOVANIORAMOVRET

DB

MOVCPIJZCPIJZCPIJZJMP

MOVCPIJ:~

CPIJMJZCPIJMCPIJPJMP

FUNCTION: VALDLINPUTS: C - CHARACTEROUTPUTS: CARRY - 1 IF INPUT ARGUMENT VALID DELIMTER

- 0 OTHERWISECALLS: NOTHINGDESTROYS: A,F/F'SDESCRIPTION: VALDL RETURNS SUCCESS IF ITS INPUT ARGUMENT IS A VALID

DELIMITER CHARACTER (SPACE, COMMA, CARRIAGE RETURN) ANDFAILURE OTHERWISE.

CALLS: NOTHINGDESTROYS: A,F/FISDESCRIPTION: VALDG RETURNS SUCCESS IF ITS INPUT ARGUMENT IS

AN ASCII CHARACTER REPRESENTING A VALID HEX DIGIT(0-9,A-F), AND FAILURE OTHERWISE.

FUNCTION: VALDGINPUTS: C - ASCII CHARACTEROUTPUTS: CARRY - 1 IF CHARACTER REPRESENTS VALID HEX DIGIT

- 0 OTHERWISE

,: ..........•......................................................

STHLF:

STH05:

VALDL:

,VALDG:

SGNON:

,:***********.******************************************.**********

2424 LSGNON EQU24252426 CADR:

SEQ

233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523662387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423

073F 050740 E10741 790742 E60F0744 4F0745 3AF0200748 B70749 C25207074C 7E0740 E6F0074F 810750 770751 C9

0752 7E0753 E60F0755 470756 790757 0F0758 0F0759 0F075A 0F075B B0075C 77075D C9

0779 79077A FE2C077C CA3207077F FE0D07d1 CA320707d4 FE200786 CA32070789 C31C06

07dC 000780 0A078E 534448200792 383520200796 20564552079A 20322E31079E 00079F 0A0014

175E 79875F FE381761 FA1C068764 FE390766 FA32071769 CA3207176C F£41876E FA1C061771 FE478773 F21C060776 C33207

LOC OBJ

Page 92: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II B06~/8085 MACRO ASSEMBLER, X108 SDK85 PAGE 26

i··················*·*·······*·*····*···*···*···**·*·* .*.*.* ••**.*.* •• *

IN THE FOLLOWING LOCATIONS, THE USER MAY PLACE JUMP INSTRUCTIONS TOROUTINE3 FOR HANDLING THE FOLLOWING:-

A) RST 5,6 & 7 INSTRUCTIONSB) HARDWIRED USER INTERRUPT (RST 6.5)C) KEYBOARD "VECTORED INTERRUPT" KEY (RST 7.5)

SOURCE STATEMENT

2520 RST65: DB

ROUTINE

BRANCH TABLE FOR USER ACCESSIBLE ROUTINES

TTY CONSOLE OUTPUTTTY CONSOLE INPUT

NUMBER OF VALID COMMANDS

START OF USER BRANCH LOCATIONS

TABLE OF PRINT VALUES OF HEX DIGITS

TABLE OF VALID COMMAND CHARACTERS

JUMP TO RST 6 ROUTINE

JUMP TO RST 6.5 (HARDWIRED USER INTERRUPT)

JUMP TO RST

DUMMY

BRTAB

USRBR

COCI

0,0,0

0,0,0

'0 ''1 ''2 ''3 ', 4 ''5 I

'6 ', 7 ''8 ''9 ''A''B''C''0''E''F'

i TABLE OF REGISTER INFORMATION'A ' i REGISTER IDENTIFIERASAV AND 0FFH i ADDRESS OF REGISTER SAVE LOCATION8 i LENGTH FLAG - 8-8 BITS, 1-16 BITS$-RTAB i SIZE OF AN ENTRY IN THIS TABLE'B 'BSAV AND 0FFHo'C'CSAV AND 0FFH8'0 'DSAV AND 8FFH8'E'ESAV AND 0FFHo'F'FSAV AND 8FFH8'I'ISAV AND 0FFH8'H'HSAV AND 0FFHo'L'LSAV AND 0FFHo'M'HSAV AND 8FFH1'5'SSAV+l AND 0FFH1'piPSAV+l AND 0FFH1o END OF TABLE MARKERSo

0,0,0

10''G 'I I I

'M''5''X'$-CTAB

oXCMDSCMDMCMDICMDGCMDDCMD

Dv.OwOwOWOWOWOw

DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB

DBDBDBDBDB03EQU

JMPJMP

ORG

ORG

DBDBDB

RTABS EQUDB03DBDBDBDBDBDBDBDBDBDBDBDBDBDBDB03DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB

,RTAB:

,RSET5: DB

NCMDS,DIGTB:

,CTAB:

2519 RSE'r6: DB

SEQ

24272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924682461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992580258125022503250425052506258725082509251025112512251325142515251625172518

20C2

20C2 002~C3 002ldC4 002eC5 1d020C6 0020C7 ~0

20CS 0020C9 0020CA ~0

07FA

0784 300785 310786 320787 3307S8 3407B9 35078A 3607B8 3707BC 3887BO 3987BE 4187BF 4207C8 4387Cl 4487C2 4587C3 46

07FA C3C40507FD C39005

07AE 4407Af 470780 4907Bl 4007B2 5307B3 580006

07C4 4187C5 EE07C6 00080387C7 4207C8 EC87C9 0007CA 4307C8 EB07CC 0007CD 4407CE EA87CF 008700 458701 E90702 880703 460704 ED8705 800706 490707 Fl0708 000709 48070A F0070B 80070C 4C8700 EF070E 00070F 4007E0 F007El 0107E2 5387E3 F507E4 0107E5 5007E6 F307E7 0187E8 0007E9 00

LOC OBJ

07A0 000~

07A2 140507A4 f004k'7A6 000407A8 860407AA 680407AC 3704

Page 93: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II 8181/8185 MACRO ASSEMBLER, X118 SoK85 PAGE 27

LOC OBJ SEQ SOURCE STATEMENT

20CS 00 2521 RSE'.£'7 : OJ 0,0,0 JUMP TO Rs'r 7 ROUTINE20CC 0020Cf: H620CE 00 2522 USINT: DB 0,0,0 JUMP TO "VECTORED INTERRUPT" KEY ROUTINE20CF 0162000 00

2523 ,2524 i***************************************************** *****************2525 ,2526 i SPACE IS RESERVED HERE FOR THE MONITOR STACK2527 ,2528 i***************************************************** *****************2529

20E9 2530 ORG MNSTK i START OF MONITOR STACK25312532 SAVE LOCATIONS FOR USER REGISTERS2533 ,

20E9 00 2534 ESAV: DB 0 E REGISTER20EA 00 2535 DSAV: DB 0 0 REGISTER20EB 00 2536 CSAV: DB 0 C REGISTER20EC· 00 2537 BSAV: DB 0 B REGIS'rER20Eo 00 2538 FSAV: DB 0 FLAGS20EE 00 2539 ASAV: DB 0 A REGISTER20EF 00 2540 LSAV: DB 0 L REGISTER20F0 00 2541 HSAV: DB 0 H REGISTER20Fl "0 2542 ISAV: DB 0 INTERRUPT MASK

2543 PSAV: PROGRAM COUNTER20F2 00 2544 PCLSV: 03 0 LOW ORDER BYTE20F3 00 2545 PCHSV: DB 0 HIGH ORDER BYTE

2546 SSAV: STACK POINTER21F4 00 2547 SPLSV: DB 0 LOW ORDER BYTE20F5 00 2548 SPHSV: DB 0 HIGH ORDER BYTE

2549 ,2550 i***************************************************** *****************2551 ,2552 i MONITOR STORAGE LOCATIONS2553 ,

20F6 8000 2554 CURAD OW CURRENT ADDRESS28F8 00 2555 CURDT DB CURRENT DATA0104 2556 OBUFF OS OUTPUT BUFFER

2557 TEMP: TEMPORARY LOCATION FOR TTY MONITOR2558 TEMPORARY LOCATION FOR SINGLE STEP ROUTINE

28FD II 2559 RGPTR DB 0 REGISTER POINTER20FE 00 2560 IBUFF DB 0 INPUT BUFFER21FF 18 2561 USCSR DB 8 USER SHOULD STORE IMAGE OF CSR HERE EACH TIME

2562 /CSR IS CHANGED. OTHERWISE, SINGLE STEP2563 /ROUTINE WILL DESTROY CSR CONTENTS.2564 END

PUBLIC SYMBOLS

EXTERNAL SYMBOLS

US~R S.YMBOLS

AoFLD A 0108 AoISP A 8898 ASAV A 20EE BLANK A 0015 BLNKS A 839A BRCHR A 0"lB BRTAB A 07FABSAV A 21EC CAoR A 07A8 CI A 1590 CI05 A 1592 CI10 A 05Al CLoBK A 000a CLDIS A 81E9CLOST A I1F1 CLEAR A 8107 CMOl1 A 087B CMo15 A 8887 CMDAo A 837C CMDTB A 8378 CMMNO A 0066CNTRL A 1988 CNVBN A 15BB CO A 8SC4 C00S A 05CB COMMA A 0011 CR A 8000 CROU'f A 05EBCSAV A 21EB CSNIT A 8800 CSR A 0828 CTAB A 87AE CURAo A 2BF6 CURDT A 21F8 oCM85 A 843EDCH11 A 1449 oCM1S A 84SE oCMo A 8437 ooISP A 8894 DELAY A 85F1 oIGTB A 87B4 oISPC A 8280DOT A 8881 OSAV A 28EA oSPLY A 1888 oSPTB A 8384 oTFLD A 8881 oTMSK A 0808 ECH05 A 8681ECH11 A 860F ECHO A 85F8 EIGHT A 8008 EMPTY "A 8880 ERMSG A 839E ERR A 8215 ERROR A 8611ESAV A 28E9 ESC A 811B EXAM A 8892 EXM05 A 8090 EXM18 A 88B8 EXMSG A 03A2 FALSE + 8001FIVE A 8005 FRET A 161C FSAV A 20EO G18 A 08EC GCM0S A 8470 GCM10 A 0483 GCMD A 0468GETCH A 861F GETCM A 1488 GETHX A 1626 GETNM A 865B GHX8S A 062C GHX10 A 8645 GNM05 A 1662GNM18 A 1677 GNM15 A 1685 GNM28 A 068A GNM25 A 0695 GNM30 A 0699 GO A 83FA GOCMo A 08CBGTCI3 A 1414 GTC8S A 8421 GTC11 A 1420 GTH8S A 8232 GTH10 A 0249 GTH28 A 8255 GTH25 A 0267GTHEX A 122B HCHAR A 118F HILlS A 86Cl HILO A 06A0 HSAV A 20F0 HXoSP A 026C IBTIM A 048CIBUFF A 21FE ICMI5 A 1491 ICM11 A 84B9 ICM28 A 84C1 ICM25 A 14C7 ICMo A 0486 ININT A 828EIHSoG A 129F INVRT A 10FF ISAV A 28F1 KBNIT A 81CC KMOoE A O100 LETRA A 080A LETRB A 888BLETRC A IIIC LETRo A 8080 LETRE A 808E LETRF A 880F LETRH A 0018 LETRI A 8013 LETRL A 8011LETRP A 0012 LETRR A 8814 LETRS A 8885 LF A 088A LOWER A 8088 LSAV A 20EF LSGNON A 8814MCMI5 A 8408 MCMo A 0400 MNSTK A 28E9 MSGL A 03FF NCMDS A 8806 NEWLN A 088F NMOUT A 86C7NMTBL A 8389 NODOT A e8"8 NUMC A 8804 NUMRG A 8000 NXTRG A 02A8 OBTIM A 848C OBUFF A 28F9OUT05 A 82C2 OUT18 A 02C6 OUT15 A 82C9 OUT28 A B20C OUTPT A 02B7 PCHSV A 28F3 PCLSV A 28F2PERIO A 8018 PRMPT A 80FB PRTY0 A 807F PRVAL A 06E2 PSAV A 28F2 RAMS'l' A 2800 RDK18 A 02F3ROKBo A 02E7 READ A 8040 REG0S A 06ED REG10 A 06F7 REGIS A 0712 REGDS A 86EA RES10 A 083FRETF A 82F7 RETT A 82FA RGA8S A 8721 RGA18 A 072E RGAoR A 871B RGLOC A 02FC RGNAM A 8309RGPTB A 83AC RGPTR A 20FD RGTBL A 83ED RMUSE A 0817 RSET5 A 28C2 RSET6 A 28CS RSET7 A 28CBRSR85 A 8320 RSR10 A 1331 RST65 A 20C8 RSTOR A 031B RTAB A 07C4 R'l'ABS A 0003 SCM85 A 04F5SCM10 A 0518 SCM15 A 8510 SCMo A 84F0 SETRG A 0344 SGNAO A 03A6 SGNOT A 03AA SGNON A 078CSKLN A 0818 SPHSV A 20FS SPLSV A 28F4 SRET A 0732 SSAV A 20F4 SS'fEP A 88FO SSTRT A 8088STH85 A 8752 STHF0 A 0734 STHLF A 073F STOPB A 8040 STP28 A 0126 STP21 A 013B STP22 A 0142STP23 A 8145 STP25 A 8157 STRT A 00C8 SUB8S A 019C SU810 A 01C4 SUB15 A 0lCF SUBST A 018BTEMP A 20FO TERM A 881B TIM4 A 1238 TIMER A 08C5 TIMHI A 0025 TIMLO A 0824 TMODE A 0848TRUE + 0880 TSTRT A 80C8 UBRLN A 000F UNMSK A 000E UPDAO A 035F UPODT A 036B UPPER A 00FFUSCSR A 28FF USINT A 20CE USRBR A 20C2 VALOG A 075E VALDL A 0779 WAIT A 0246 WAITS A 0000XCM85 A 0527 XCM18 A 8536 XCM15 A 8543 XCM18 A 054E XCM20 A 0567 XCM25 A 057E XCM27 A 057FXCM38 A 8587 XCMo A 8514 ZERO A 8880

ASSEMBLY COMPLETE, NO ERRORS

Page 94: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II ASSEMBLER SYMBOL CROSS REFERENCE, X108 PAGE

AOFLO 105# 358 393 470AOISP 106# 269 835ASAV 1228 2464 2539#BLANK 1164# 1171 1171 1171 1171 -1172 1173 1173 1173 1175 1175 1207 1207 1207 1208 120d

1208 1209 1209 1209 1210 1210 1210 1211 1211 1211 1212 1212 1212 1213 1213 12131214 1214 1214 1215 1215 1215 1216 1217 1218 1219

BLNKS 530 534 615 1171#BRCHR 1324'BRTAB 1325# 2503BSAV 184 446 1229 2468 2537#CAOR 1438 2426#CI 1754# 1960 2506CI05 1757# 1760CI10 1765# 1774CLOBK 169' 571CLOIS 331 339 386 400 507 549#CLOST 168 565#CLEAR 31k'J 357 366 392 469 527# 551CM010 275# 280CM015 277 283#CMOAO 284 1114#CMOTB 274 1103, 1108CMMNO 264# 552 617CNTRL 108# 167 268 567 754 843CNVBN 1556 1796# 2013CO 1390 1815# 1899 1904 2505C005 1821# 1832COMMA 110# 332 387 477 680CR 1326# 1511 1520 1662 1855 1900 2058 2063 2406 2423 2423CROUT 147.1 1485 1572 1685 1854' 1925 2219CSAV 1230 2471 2536#CSNIT 111# 568CSR 112' 426 435 569CTAB 1429 2435. 2442CURAD 475 481 491 499 501 587 1065 2554#CURDT 320 483 589 1086 2555#DCM05 1470' 1493DCM10 14761 1492OCM15 1484 1487#OCMO 14651 2433OOISP 1131 840DELAY 1762 1767 1776 1824 1836 1871# 1875OIGTB 2191 2444'OISPC 350 383 585#DOT 1151 309 321 356 391 468 484 590 674OSAV 1231 2474 2535'DSPLY 116' 860DSPTB 847 1122' 1128 1134 1135 1139 1142 1144 1146 1148 1150 1152 1154 1156 1158 1160

1162 1164DTFLD 117' 248 323 486 532 613 1090DTMSK 118. 856ECH05 1896 1898'ECH10 1902 1905'ECHO 1422 1426 1478 1546 1636 1660 1672 1708 1856 1892' 1924 1997 2168 2173 2222 2224

2239EIGHT 1139' 1175 1176EMPTY 119' 253 891ERMSG 611 1172.ERR 282 315 333 361 396 473 497 506 608'ERROR 1436 1512 1521 1569 1922' 2012 2052 2059 2064 2267ESAV 1232 2477 2534'ESC 1327' 1894EXAM 308' 1116EXMI5 316' 338EXMl1 326 329'EXMSG 369 1173'FALSE 156' 314 325 395 472 489 1483 1508 1554 1607 1638 1710 1999 2011 2051 2078FIVE 1134' 1176FRET 1942' 2018 2378 2383 2385 2410'SAV 180 442 1233 2480 2538'Gl8 353 364'GCNI5 1519 1518'GCNl8 1517 1522'GCNO 1516' 2432GETCR 1425 1544 1658 1959' 1995GETCN 1418. 1486 1573 1603 1608 1631 1665 1680 1686 1926GETHX 1587 1623 1637 1709 1990' 2058GETNN 1467 1539 1588 2143'GHX.5 1994' 2822GHX18 2188 2889'GNN85 2849' 2868GNM10 2056 2061'GNM15 2069' 2072GNM20 2068 2073.GNH25 2079 2082'GNM30 20871 2092GO 233 1385.GOCMD 349' 1118GTC03 1423 14241GTC05 14301 1435GTC10 1432 1437'GTH05 651' 676GTH10 665 669'GTH20 654 677'GTH25 681 683 687'GTHEX 324 359 394 471 487 6461HCHAR 1328' 2165 2170HIL05 2115 2119 21371HILO 1481 1606 2077 2109'HSAV 1235 2486 2492 2541'HXOSP 671 709' 1067 1088IBTIM 1350' 1766 1775IBUFF 254 355 390 760 883 2560#

Page 95: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II ASSEMBLER SYMBOL CROSS REFERENCE, X108 PAGE

ICM05 1543' 1552 1566ICM10 1561 15631ICM20 1555 15671ICM25 1549 1570'ICMD 1537' 2431ININT 202 751.INSDG 657 7791INVRT 1329i 1564ISAV 226 403 454 994 999 1234 2483 25421KBNIT 1201 566KMODE 1221 166LETRA 1142# 1207LE'I'RB 1144# 12"8LETRC 11461 1209 1218 1219LEl'RD 1148i 1210LE'rRE 1150# 1172 1173 1211LETRF 1152' 1212LETRH 11541 1214 1216 1218LETRI 11601 1213LETRL 1156. 1215 1217 1219LETRP 11581 1216 1217 1218 1219LETRR 11621 1172 1172LETRS 11351 1216 1217LF 13301 1903 2423 2423LOWER 1331'LSAV 175 437 1019 1236 2489 25401LSGNON 1387 2424.MCM05 15921 1609MCMD 15861 2430M~STK 1241 265 1010 1419 2530MSGL 1388' 1393NCMDS 142H 2442'NEWLN 13361 1490NMOUT 1473 1475 1480 1634 1698 1705 21581 2230 2236NMTBL 962 12051NODOT 125' 244 249 365 368 479 533 550 592 610 614 966NUMC 273 11081NUMRG 807 12411NXTRG 334 8051OBTIM 13511 1823OBUFF 716 734 25561OUT05 833 838'OUT10 837 842'OUT15 8441 864OUT20 853 855 858'OUTPT 247 252 370 531 535 612 616 675 8311 967 1071 1092PCHSV 1239 25451PCLSV 1240 25441PERIO 1281 330 352 360 385 399 505 682PRHPT 129. 271PRTY0 13371 1961PRVAL 2167 2172 2190'PSAV 177 363 398 406 439 586 1017 1513 2498 25431RAMST 93' 124 137 942 1690 2227RDK10 887 890'RDKBD 272 351 384 652 882' 889 1037READ 1301 755REG05 22141 2241REG10 2218 22211REGIS 2233 2237'REGDS 1664 2212'RES10 188 223.RETF 686 808 9061 1039 1044RETT 811 922. 1051RGA05 22641 2271RGA11 2269 22721RGADR 1668 22611RGLOC 318 327 9361RGNAM 317 957'RGPTB 1147 1181.RGPTR 816 810 937 958 1050 25591RGT8L 939 1227' 1241RHUSE 98' 124 137RSET5 197 25181RSET6 287 2519'RSET7 217 2521'RSRI5 1181 18841RSR11 1883 1886 1809'RST65 212 2528'RSTOR 371 427 993' 1523RTA8 2213 2262 2462' 2466RTA8S 1723 2263 2466'seNI5 1626' 1643SCM11 1629 1632'SCM15 1639 16411SCND 1622' 2429SDl85 71SETRG 311 1836'SGNAD 245 1175'SGNDT 258 1176'SGNON 1386 2422' 2424SILN Ill' 137SPHSV 1237 2548'SPLSV 1238 2547'SRET 2117 2141 2291' 2380 2381 2386 2405 2487 2409SSAV 183 445 1815 2495 2546'SSTEP 382' 457 1115SSTRT 13411 1828STH05 2342 2348'STHF0 1568 1571 2309'STHLF 1558 2314 2334'STOPB 13421 1833STP20 388 402'

Page 96: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II ASSEMBLER S~M80L CROSS REFERENCE, X10~ PAGE

STP21 409 412'STP22 411 4161STP23 414 4181STP25 192 4291STRT 13431 1819SUa05 476' 503SUB10 490 4981SUa15 478 5041suaST 4671 1117TEMP 405 417 452 1541 1559 1565 1674 1676 1713 1729 231e, 2340 2557'TERM 1344' 1548TIM4 1352' 1835TIMER 140' 419 422TIMHI 132' 421TIMLO 133' 423THODE 134' 419TRUE 152' 337 1551TSTRT 1351 425UBRLN 1031 137UNHSK 1361 227 455UPDAD 480 591 10641UPDDT 322 485 593 10851UPPER 1345j 1540USCSR 424 432 570 25611USINT 221 2522'USRBR 1371 2516VALDG 1553 2010 23751VALDL 1550 1998 2402'wAIT 13531 1761WAITS 801 139 1349XCM05 1663 1666'XCM10 1675# 1726XCM15 1678 16811XCMlti 1684 16871XCM20 17~2 1706.XCM25 1717 17201XCM27 17221 1732XCM30 1711 1727#XCMD 1057# 2428ZERO 11281 1175

CROSS REFERENCE COMPLETE

Page 97: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

ISIS-II ASSEMBLER SYMBOL CROSS REFERENCE, Xl08 PAGE 4

RGNAM 317 957#RGPTB 1047 11801RGPTR 806 810 937 958 1050 2559#RGTBL 939 12271 1241RMUSE 981 124 137RSET5 197 25181RSET6 207 25191RSET7 217 2521#RSR05 1001 10041RSR10 1003 1006 1009#RST65 212 2~20#

RSTOR 371 427 9931 1523RTAB 2213 2262 2462# 2466RTABS 1723 2263 2466#SCM05 16261 1643SCM10 1629 16321SCM15 1639 1641#SCMD 16221 2429SDK85 71SETRG 311 10361SGNAD 245 1175#SGNDT 250 11761SGNON 1386 2422# 2424SKLN 1011 137SPHSV 1237 2548#SPLSV 1238 25471SRET 2007 2141 2291# 2380 2381 2386 2405 2407 2409SSAV 183 445 1015 2495 2546#SSTEP 382# 457 1115SSTRT 13411 1828STH05 2342 23481STHFO 1568 1571 23091STHLF 1558 2314 23341STOPB 13421 1833STP20 388 4021STP21 409 412#STP22 411 416#STP23 414 418#STP25 192 4291STRT 1343# 1819SUB05 476# 503SUB10 490 4981SUB15 478 5041SUBST 467# 1117TEMP 405 417 452 1541 1559 1565 1674 1676 1713 1729 2310 2340 25571TERM 1344# 1548TIM2 13521 1835TIMER 1401 419 422TIMHI 1321 421TIMLO 1331 423TMODE 134# 419TRUE 1521 337 1551TSTRT 1351 425UBRLN 1031 137UNMSK 1361 227 455UPDAD 480 591 1064#UPDDT 322 485 593 10851UPPER 1345# 1540USCSR 424 432 570 25611USINT 221 2522#USRBR 137# 2516VALDG 1553 2010 23751VALDL 1550 1998 24021WAIT 13531 1761WAITS 801 139 1349XCM05 1663 1666/1XCM10 16751 1726XCM15 1678 16811XCM18 1684 1687#XCM20 1702 17061XCM25 1717 17201XCM27 17221 1732XCM30 1711 1727iXCMD 1657# 2428ZERO 11281 1175

CROSS REFERENCE COMPLETE

Page 98: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

APPENDIX BDIAGRAMS

Page 99: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

8 7 6 5 4 3

B

c

o

o ~~;~. oeoeDoe~e e e e e

eGDDDOSINGLE GO • 'I A ISTEP H le e e e e e-eGGQQQSutST EXAM • S I> 7MEM "G SPH SPL PCH PCle e e e e e -

I.·...·11...,,·IDDDD

--..10©~9~6'e1

.1SS

LO< 288eH-2efFH

POITS 28H-2SH

::CLK:: .:'...'• ..., __ ,oil

:=:::"\'"....TA/.. •....r. __.....,--:~7-::; -•• I _a:;•• ~.- g::; ::C

1.. ~-­•• I --::.9"':';-~_

LJ

---'=l-J Ct9=n AI

7eIlI

_1~:cI2'::~~2~f~~ IIlIi

EE~.r,-- IIIIII ;~I~SI2;~-;D;IIII ~:::lr 'A. 17 II 19

.-~ ·C~K· --- -6::~, ,.. --e::Jo4131

~~~•..:.YI. ~132

~'"

..--

--

..

--

--

-----

--

..

------

------

"'SV

eGND

--

--

------------

.........................................................MCS -85 SYSTEM DESIGN KIT

::..ii......::::....ii::::......ii::::..::......::..::::........::..::..::::::::..::••• • .SV • • •

:: • .GND. • •......................................................................

.:~:: ::--..- -.:- :..- _.:: :::: ;;

.- lei.--.:: =:.- -.:- :..- _.:: ::.- -..: ~~

.- 1:i.- -..- -.:: =::- :..-_..-_.:: ::.: ~~

B

o

c

A

MIl lIME" AVE.IMTA ClARACAUf....1

----34

,....---~-~I--....;..-~~~--+------.,r--..,....r--:~r.--- ~A

567

A

Page 100: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

I 7 6 5 4 3

B

c

A

051- DS~

[?;>.TI L- 31 3

3

SOt:.. eo4001117

4

1--__I-- -4-__-Ic:.zO

I----~----+----I~~~~IIO

I----~----+----I~

1----1------4----133

56

FDV\JER 5UPPLL(

7

"40 RSl 5.15RESET ("')llT ~ RESE.T VDD INT 4c~7"k ~ eLK

'NRI10 ~~ ,'2 i'l

1~137&Rn Icc:;:=\/ '2.2(5 2 1 ~A~ 2.1 c/o ~I >4-

)S5 "in

~~<.:i'IF ~, 7

~ CTLAI3

+5VBC~ ~2a

.3KA0 'Cl

AI ?(L>o~2~

-tSV '::::. eA2. 25

I'3~ <>lIeD~ ?4

"'f'\

u~"3

....61/ ~z~I E0 3/ ~242.

B'~"'5 ~ <>let5~ 2~ ..-?V ~~1co

R2.1'1

~ ~3t::: ~7

BD+S'J~~

GW ~~~~Rle3K. ~

~O~ Jij ~r~ RI6+sy ~ ~1

~K. QS

RI2 -tl;Y~~;::)1(

Gl4\:::::. 2"J

Q,~ ~1

~K Q3

+5V ~ ZN~1

I

ct A '4CC. ei0 ,1<17 RZO ~'Z.3 1<2'- IU"7 Re 20rII RII RI4

L:tt Ie 2'T€~~

24 2.4 24 24 24 24 c. ... e2C ~

J 6 q e IG :~~~~ 10 4 3 S ~ II 12. I

~. ,.! ffi:~':.1"" I";~ -.. Gte F~ E ~ D~ C. ~ e •"k I"1 y~ ~=....t

i~"SlZ 513 S24 SIr; Sv i $1"7 '50 16

~~1-'1f2' 1[3' 1f4 ~~5" ~~' ~~. AI2RIO

~ ~ ~,'~ 1M'n) ~,' TO ~,~ TO"'4LSI~ -=

I 1: SoP\.. I ~C.L -, e10 ~IO os, on OM 1)16 D$.l' I I '(S~ r PC~2~

hi~' ~y ht~!, hf'';,l'l. hI·~' ~-1t,55 ~ 2.z.~.,

"e>' "0" E'~"F" RI3cl0 -= GIl'

2t\115201sl~1~1~1~ ~~14 ~~7~

:~ -= /oM QI2.i::N

"EXE.C· "NEXT' ·00" "SUB5T" '·E.xAl-I\"·51NGL.E"RIel

c.~,., MEM REG SiEP 2.10 -= t::# ~13

2N

R22~l

<t5V 210 /Jj QI42.t\1ITill_OV2.~'

C, + .1 (iF ~ - G - 5 - t~R2~ -=~1O 4j ~IS

ct\12.~O'vF: , «:4 -

rHIS PIN OUT "RR~NGEME~r

REPRE~Et-JT'S '" INDIVIDUJlIL -,5EGMENT LED D'~PL"Y'So (TI L ~13).ALL ANODE. CONNEC.TIONS O~ THECORRESPONDING SEGMENTS ARE WIREDTOGETHER. CATHODES ARE WJ~EO

5EP~RATELY T.Q E~CH TRANSISTOIiiJ (QIO - Q15)

GI\D

..JII ~ 5 7

GN D ....,;:;.+-1:...,:.1+-I~~~IS~ I

2 27 'l.!> ~l

53 , '1 3~

I\.OTES:

LWLESS OTH£RYVI"lc SPEC I FI Eo.,

I. RESISTOR VALUES ARE \ NOHMS) ~ VV, ± 5%.

.~

8

D

8

A

c

Page 101: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

B

c

D

PORT ~3H

PORT ~2H

~TcIH

ILntl DEIl:RPfIClIC

I--- 15EE SHEE.T 1.

J:1

il~T0OC~

~TtLt:~,~,

:t il roffi t

~~~~

±I II I

I I

I I

I I

'3l

il~~~

~

~~=:-.~ il ~nI-':-

r4tTL~

34

I

56

-+fSV+J;;\I R4

It<

7

RS41

"R2R34 4., 1<2.00IW

-lev

~~~~ii!~ ob\r--~..:-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_""+--_....l-+.~~'5 PA .3~~--t----------fI4l

r----------II--+.i'~Co q.~~--+------------I;-- ---:C=.!~::.::~:::.../-----------++~f-+-~+::::.:;~::::::::::::::::::~t:::JI;[j~u: ~~;~=====:===================:j

r-r---...:---...:-----...:-------R;s,.:,:E~::~:;-t:~r?!=lVo~~~O;..U~T~================tttii:4~bt=:.t1~:'=====,---==Jt~=~::c2~~ ~1:t-1I'::~--+------------I

~~ AOJ ~~;t----+__----------Ir-C=5,,-,12l=/~"-+-+-+-+-+-+-+_-+-~~-+--+-~""--+~~-'d~~ 71-::."'.::~--+---------------JVI IJ~VDD IJ 5~

qQ~ ,rb~M- "'~~2!~li\V~ ~I~~ ~ de.)I, "zoo!10~ .-+-+-+-+-_t-+-+-+-+-+_~+--_;a~5i !~~~;==:=====================~n

-: '0>," r::'... ~'" ~IO AD :~I~,;:----+++++I---------------t---~~ ..:.::==~:,~~:-:-:=~~:,~==:::~ :~5~ ;:::;~~~~=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..=:..~~'~::+t

5VRA'i"""fOO\lill 5 7 2 (&""') -,t--"'I=-----------------l»J

g ; i~ IO~/ I" 3,;~?> S2 3.91< ~+'N ~t-.,;"'3~--------------l

~TC~ --4.....-------~'7 R'ST"1.15 ..... , Af> to~~ P6 ~~~;=========================.r~~.,~ . . . "VEC.T" 1. Cl2 "u A,O) Afj ~;t_------------Ha.J- INTR r}.cf All A'" AOJ ~ ~ 5~~-------------1

-::-01 0085 All ."', ? ~IO ~t-:;1L!~---------------l

\~ ....:.RS~:T---'S.=5=__ ---:"'::.....jR5T 55 £~ +SV~<j>~l:~~6 .55 ~~ ~DlD.5 T B R5i iJ:>t'5 AIS -= ",.,. ....,....., C53/ IZS2...~ ~~ T I ~~I'OLD IO/M ~ ~~VCc. AI<D 0~1=_------------.r;~ ~

6cO 65 ALE "" CC 155 b ~ I~ RSTOUT 32 CS41 0 I 3 W2- 2

'II.£._ ¢20 ~_8 X_'3 ~ RDJ ~, C.E PI'. 4 :2. -tr ~~ I 1 10 ~~ 37 :5 ~ 5

I NTR 15 .r---------....------.....:'\L~,.'''TR '~TAI~ \ "\~ ~ ~ CD

RESET IN/ 2+ I ,....!e....:~T1N "Lg~~ I ..,,'/ : ~ ;" :It ~R3\ '15S <3.1 1<0 I ; ~ ~ I 1: i

iTc~v'V"I<......___+_.e--..JVV'\r.....J+;5" Teo '-+-+-+-4--~~~~:~ !~ \ ~ PB: ± ~~5E.T' 1ClD ~T~ +S\J 5205".3~ .-+-+-+-t-i------:-~~T/IN ~ ;t ~

1_II-'f ~ £3 6D-"o:::!O~--.J WRI ~ C2I

~++-+-+-+4--~4 E~ CD )# .-+..-++-++-_-_-_-_-_-_-_--=:~' ~~-f IN ~ ti: I

E I V55 1.-.1t .-t------I.::!,b-I ALE PC .3~:=:=========================fli= ~o ...-----2dIO!M I~ 7 ~

~ ~o~'6S T/OJV~

B

8

J2.READ< 2.

DTX ~tillTX RET 2:'

I I

I I

I I

II

; II

I I

I I

I I

I I

RX 2-RX RET Z4

I I

~

C

A

234567

+~~_.....----....,....., ~l..3Q~c AI, ~~I=:--------------.f~0

'--++-HI-+-+-++-~:....+-+-++_+"C=.:S:!...::::!.5!....1----!0:::!d ~\5 5 c ~ ~

,~[1~~~~------------------H~+~H~-~~~~-----------~~~~=~~~~===TI~:~il:~I~ Il~~Yr7------------------H-H+H-++~_1H_~++~--------------==--=:;~=~~~~===~:~~~ PB j ,2. ...!!.. 2.,---..L-.-------------------+lq-t~:.i~~~I::::ii:~~~~+l-+--H-++-H~~-------------~-_+_l~U+_---~7 <\-~ 1: ~ PORT ~"H

~ ({j x~ ~ Ii: ~.( 0 ~ ~ ~ ~ ~ 91~ ~ ......_1.--_-_-_-_-_-_-_.,.:..:..r~~lO/M 5 s 1:: ~~I~ ~ '-~ '----.,-J 4= ALE >7 If ~ '7

~ ~ ~~~ ~ ~ '------lOt...,;()l;..J~/It.l ~ '~ ± ?~ 'NRI PC(.3" tk. tt ~ PORT ~H

8_1 ~ ~5 ±<!-N f'J_ 18 ,7.3 T/IN.,1j.........-:: (0 ..---5Vrr . T rF- "I""'E~ oUTI~20 \~O I ~ TIMe~ IN

8.~--

A

Page 102: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

D

ILTRI DESCRIPTION

1 1 SEE Sl-E.ET .i...

3456

~~3::.:- --.

C();z5~

D8\~-----,

QOIA ID82~ J2.002~ L.-. -+- ~ ----j tJ-\'CJ M/

DB 31--I!..>oL-~-----l~-=-~~~~~~~~~~~~~~~~j::~::::~::~~~~~::~::~::~~~~~~::~::::::~::::~::::~::~::::::~::~~::~::::::::::::::~::::::::::~::::::~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-=-'__1: ~'-~~ /t:D3~

'JCc.+9It 1<0

7

(

10/C. 4 h\~

CZ& ~R=D::..:;/--- ~_7'--tD\1

ALE 0) DIl

8

o

B

A

c

B-~

B-A1.B-A2B-A'?:JB-A4­B-ASB-,A(c,S-Af

A4521<0

~t- D\2.

~t-D\I

02. 3 0\2

liCe.D8/ ~~~-----,[X)I~

DOO J.-:3=---_+___~

Do0lL--

OB2~ ~ ~ B.D0

D02 .!..:L I I ~-----------------------______1~ ~·.g1

DB3~1.::::3~+_+-------------------------____j* B - 03D0319:. ~ 8-04-

,.---------------------------.L~~I ~~~

f35~ ~------------+s-'N------------1t!i: B - 07

~~~ ~ tSY "2.4

.---+------+-:-::S/';"-;"t-l,fD--......-----if-++-+--~r~l~:"):s============b='i~~ :~'Cl:I ':o[!:r~O"'-~============_-~----<-i§:.31.,;'" I'JC.C I ...........J~(,fr,~ --!!?!~~ ~ I~ ~

~r-D~ D8><.-': ,...-ID..LJ...J -=22.~~ Arc fl 2.1 ~

CX>lZ'....'-=-+-----+--+-+---' r--A.....\....E----------..,qlsrJ 5212D8/..,:CD=-+-__--l +5V~e::t':2 INT~DO t 1-=5~_--~---l r MD \I'£J

DB 2~10=-i--I--_--' ~ ~12.D02J...:\~\+-+_--4----J

DB 3.-.:-13=+-+-+-__--.1

003.-.:-14-~++_-------J

Dl 4 DI0

0Zl 7 DII

,lSt- D\3

~.DIE.~f---+-+-+-+++-+-+---'<1' CS

~5 IIIe A5(4~

Ao.Jl4LS14

4

e D PR G. 5

3 CLJ::... &. <0c.R

HlDA

Iel'Ie D PR Gl. '3

II c.w:.. ~C.L~

13 A~74LS14

~---++_+_-__+_---------------------------------R...:..:'5:..-T--'-l:,-.S-=-- 0;:9r---i_+_+---+---------------------------------.:...lH-=O:..=L'-'=D~-~'O

,.#~-----------...;I-------------------------------------------------t~~- AL~

,------------+------------------~-~------------------------------1~8- RESc-1,-- -4-- -----1ri:- ~--~\.K

.-----+--------------------------------------------------i~B·~0

.---+---------------------------------------------------j~~~I~\~'Kc.DB~ .3

C00~

D81~OOI~

DB2~\.:::=.O-----I

tD2~

D83~\=3'-------J

fX)3~

AS V55~E:2I<O -

A3 VSS~e:>2\(Q -

A'2.. YS5~ec.l<D -

-+SV'ICD

~ (5-t D\£~

~ C5-t OlEN~~<O:::""-_+-+-+-l-":2.::""7a..~)~~

74500'

,...-----+-s\J-'t-I-<D-------+-01 I NTAI , A8 0'.3",,-+~~__--+-1-a5 DIE~

'Ice. 000...,:3::....---1---------1 r--.-.+-<I-+-+----+-'<II csC00~081 I-'(£)=---~--------'

.DOI~

DB2~lo~--+---------J

C02rJl,

De>3~13~--+---------l

D03~

eLK <:3 A'O B 7'-------"'~---.... I b-

7.¥4-S-00---+---,'l.- ----J

A'tJ ALE A~

AS AIS

(

-=-----+--+-+-+507 bll

---,-H=L=D;;...;A:'-"""'f-+-+-+-...+_'J-tD\2

INTAI 12 DI3

{

GlK 7 D\ I

~ ---=5::..:1.=--~r-+-++-----'~'-tD' 2

z~ 1-~~~~~\?~----------------1~----------------------------- ~~~C;;f'i~~"------'A3 A\~

.11t-IOLD ~1I4t---"'------+--11-+-+--+---'-t4 D\0

67Je~

A

B

c

7 6 5 4 3 2

Page 103: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

Manual Order Number 98004518

REQUEST FOR READER'S COMMENTS

The Microcomputer Division Technical Publications Department attempts to provide documents that meetthe needs of all Intel product users. This form lets you participate directly in the documentation process.

Please restrict your comments to the usability, accuracy, readability, organization, and completeness ofthis document.

1. Please specify by page any errors you found in this manual.

2. Does the document cover the information you expected or required? Please make suggestions forimprovement.

3. Is this the right type of document for your needs? Is it at the right level? What other types ofdocuments are needed?

4. Did you have any difficulty understanding descriptions or wording? Where?

5. Please rate this document on a scale of 1 to 10 with 10 being the best rating.

ZIP CODE _STATE _

NAME DATE _

TITLE _

COMPANyNAME/DEPARTMENT~~~~_~~~~~_~~~~~_~~_~~__~

ADDRESS_~~~~~~~~~~~~~~~~~_~~~~~~~~~~~~~_

CITy _

Please check here if you require a written reply. 0

Page 104: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

WE'D LIKE YOUR COMMENTS ..•

This document is one of a series describing Intel products. Your comments on the back of this form willhelp us produce better manuals. Each reply will be carefully reviewed by the responsible person. Allcomments and suggestions become the property of Intel Corporation.

BUSINESS REPLY MAILFIRST CLASS PERMIT NO. 1040 SANTA CLARA, CA

POSTAGE WILL BE PAID BY ADDRESSEE

Intel CorporationAttn: Technical Publications MIS 6-20003065 Bowers AvenueSanta Clara, CA 95051

IIIIII NO POSTAGENECESSARY

IF MAILED

IN U.S.A.

Page 105: Manual Order Number 9800451B - amaus.net SDK... · Memory Substitution Errors 4-9 RAM-I/OCommand Status Register (CSR) 6-1 TELETYPEWRITER OPERATION 4-9 Access to Monitor Routines

I.i

INTEL CORPORATION, 3065 Bowers Avenue. Santa Clara, CA 95051 (408) 987-8080

Printed in U.S.A.