Signetics Instructor 50 manual

Page 1

[Autotranslated from Dutch to English by James Jacobs of Amigan Software in August-September 2008.] USEFUL FOR THE INSTRUCTOR 50 Š 1980 N.V. Philips' Electric Light Co. EINDHOVEN - Netherlands CONTENTS Inleidung Power Construction of the control panel Function modes The introduction of programs, address, data, etc. Correcting mistakes The memory and the I/O organization Keys, switches and indicators The control key panel Switches for the introduction of external data Indicators for the implementation of external data DIRECT/INDIRECT switch Port address selection switches BREAKPOINT key Speed Operation of the INSTRUCTOR 50 Introduction Reading and changing CPU registers and PSW Reading and changing geheugeneellen Quick loading of the memory Visualising and changing its content of the instruction address register Step-by-step feature The fitting of a BREAKPOINT in the program Reports of errors in the use of a breakpoint RUN-key RESET button Error messages The use of the INSTRUCTOR 50 The use of INTERRUPTS Transfer in field A The use of the I/O switches and LEDs FLAG-SENSE and methodology NON-EXTENDED I/O methodology EXTENDED I/O methodology MEMORY MAPPED I/O methodology Choice of clock frequencies - S100 bus Choice of voltage Built-in subroutines MOVE subroutine DISPLAY subroutine USER DISPLAY subroutine NIBBLE subroutine INPUT DATA subroutine MODIFY DATA subroutine System-expansion The interface to the cassette recorder Writing to the cassette The balance of the cassette Reading the cassette

5 5 5 5 6 6 6 7 7 8 8 8 8 8 8 9 9 9 10 10 11 11 12 12 12 13 13 14 14 16 16 17 17 17 17 17 18 18 19 19 20 21 22 22 23 26 26 27 27


[Page 5:] This guide contains the information necessary to submit a "INSTRUCTOR 50" exercise programs to test and implement. The INSTRUCTOR 50 is based on the 2650 microprocessor. All Instructions on this processor can be measured by the INSTRUCTOR 50 uitgoverd are also the instructions of the import and export of data . For the latter is no additional equipment required, aangezieren the panel buttons contains the necessary data to introduce, in addition to a screen with eight symboolplaatsen, data visible. There are eight switches with eight special lamps to present communication with the outside world to simulate. Also, a wwarmee the number of function possible, a process that influence of a program is executed, to interrupt, modify or certain data. Through the entry and exit of the cassette recorder can provide information on cassette-tape be preserved and again teruggelezen in the INSTRUCTOR 50. For the benefit of readers who wish to deepen in the operation of the INSTRUCTOR 50, the attachments contain detailed information about the building of INSTRUCTOR 50 and the MONITOR program. INTRODUCTION Power The INSTRUCTOR 50 is fed through a transformer, connected to the 220 V/50 Hz AC. The lead in the transformer is a plug attached to the rear of the INSTRUCTOR 50 in the stekerbus should be put. There is no special present for the switch and disabling the INSTRUCTOR 50. By enabling the word "HELLO" appears on the beeldschermpje. If this is not the case, should the "MON" button. Construction of the control panel At the top of the INSTRUCTOR 50 (see Figure 1) there are three fields with switches (keyboards), in addition to the screen on which symbols (see Figure 2) can be made visible. The law contains keyboard sixteen keys, numbered 0 through 9 and A to F. These keys are used to hex symbols to the INSTRUCTOR 50 to provide for Imports of programs, data, consulting the state of the microprocessor, etc. The middle keyboard contains a number of feature buttons, which insertion and extraction of data should accompany. Also these buttons are used to support programs and pause to how the implementation of a programme expires. Using this keys and the field of the hex keys to the contracts given the instructor, the instructor will work through the screen to the user the desired information. The left field of eight switches and eight LEDs is intended to simulate an import and export of a 2650 microprocessor system. The kind of input and output devices can through the middle switch arranged. There is still turuggekomen further in dealing with the import and export data. To the bottom is the mincroprocessor equipped with a number of holes. By these holes may in certain speeds of the machinewerking choose the way of heckling and make special arrangements for the extension of the INSTRUCTOR 50. At the rear is the mounting such that it can be put into a plug, so that later if special in-and output in the microprocessor can aanluiten. PS In carrying out the first exercises should switch to the bottom in the state "KEYBOARD".


Function modes The instructor has two function modes. The first is the "MONITOR-MODE" and the other called the "EXECUTION-MODE". The MONITOR is MODE once we turned the INSTRUCTOR 50 for the first time turned on or if the "MON" button is pressed. On the screen kelt or if the "MON" -button is pressed. On the screen than the word "HELLO". During MONITOR-MODE this can be done the following acts: 1. The introduction, reading and changing a program. 2. To write a program to the relationship between one cassette recorder. 3. Reading a band of a cassette recorder. 4. On the screen displaying the contents of the records of the 2650 microprocessor respectively. changing this content. [Page 6:] 5. The same to the PROGRAM-STATUS-WORD (PSW). 6. The onderzeoken and changing the contents of memory. 7. The investigations and changing the content of the instruction address register (IAR). 8. Identifying and onderzeoken a breakpoint in the program. 9. The step-by-step to implement a program. The EXECUTION-MODE is chosen by pressing the "RUN" button, "STEP" button or the 'Reset' button (RST-key). If the button is RUN pressed, the program begins exports to those whose instruction address is present in the instructieadres Registry (IAR). Prints the men STEP-key, then a single instruction read and perform INSTRUCTOR 50 after which the weather in the MONITOR-MODE returns. Pressing RST of the test has meant that the instructor's activities ends and that the instruction address register in the state H'0000' put (H indicates that the notation is made in hexadecimal code). The introduction of programmes, addresses, data, etc. Zoala previously mentioned, for the introduction of the right instructions hexadecimal field tests. In Figure 3 is the link appear in the decimal, binary and hexadecimal numbers. On the instructor, all instructions in hexadecimal code displayed, taking into account register, known as pages, etc. data or an address to the INSTRUCTOR 50 can be entrusted, appears far left on the screen a point. Missing this point, no data input. Would we doing this, then the function test (see below) first pressed. Correcting mistakes Once men with the help of the sixteen hexadecimal keys in the data machine brings, these data appear on the screen. Each new excited element appears right on the screen while existing pattern of symbols to the left shifts. In this way can a any error correction by the required simple again saving. The erroneous information disappears then gradually to the left sliding of the screen and the new, correct data appears in the instead. Exercise Press the button "MON". The INSTRUCTOR 50 will respond with the message "HELLO" on the screen. Then press the button "MEM". Now


". .=. AD" The INSTRUCTOR 50 is now ready for a memory in hexadecimal code of receiving it. If we now eg address 0120 Selecting and stores it erroneously in 0121, will be on the screen observe. "Ad .= 0121. This mistake is easy to correct by the keys 0, 1, 2, 0 successively in pressing. Enter this correction itself. The memory and the I/O organization Except in the 2650 microprocessor, is also in the memory a INSTRUCTOR 50 present. This memory is the function of the INSTRUCTOR 50 through of a ROM. Furthermore, this memory some places are reserved for performing the functions of the INSTRUCTOR 50. For this reason can not be free to use all memory. The layout of the memory is shown in Figure 4. The classification of the memory will not immediately clear. For now, however, sufficient namely that it is for the user available memory as first address H'0000. " and finally address H'01FF. " It can be continued in the area H'0200 'to H'0FFF' and H'2000 'to H'7FFF. " This should be done through the stekeraansluiting at the rear of the INSTRUCTOR 50. The area between H'17C0 address' and H'1FFF 'is used to INSTRUCTOR 50 of the programme itself. It is the z.g. "MONITOR" program. Note It is discouraging in programs using the memory cell H'0FFF', there this is reserved for I/O operations for the programs that they themselves wrote. For that purpose the cell can do so use. The so-called "EXTENDED I/O" covers the addresses H'00' to H'F7'. In the INSTRUCTOR 50 is only address H'07 'usable. [Page 7:] KEYS, SWITCHES AND INDICATORS The control key panel The keyboard with the control aims at introducing programmes to assist, testing them, getting information INSTRUCTOR from the 50 and writing, respectively. reading the insert program on an external cassette recorder. The functions of the keys for this purpose are listed below. key

feature

MON

The "MONITOR" button is used for a program running in a given moment is employed, termination, and caused a jump to the program of the monitor. The machine gives this by the word "HELLO" to appear. Before we other commands, it is pressing this key desired and usually even required.

MEM

By pressing the "MEMORY" button gives you access to the memory of the INSTRUCTOR 50 for entering and retrieving instructions and data. The 50 shows in response INSTRUCTOR ".Ad.=" This means that the INSTRUCTOR 50 to an address requests, ie we must now address the data of which we want onderzeoken, respectively. new data would like to bring existing


or data would like to change. REG

The "REGISTER" button gives access to the records of the 2650 microprocessor, the programmateller, or until the contents of the z.g. PSW. The INSTRUCTOR 50 reacts with the issue of "r =". To indicate what register, respectively. what part of the PSW, men after pressing this button is selected, wirdt one of the hexadecimal keys.

ENT NXT

This "ENTER NEXT" button is used to insert information in previously memory, respectively. records at the store. The information can relate to or have an address or data, or a modification of data, including the instructions in memory introduced. It may be using this key vam quickly the contents of memory or verify the records. On the use of this key in conjunction with the keys and MEM is REG more detail later.

STEP

In the monitor mode, it is possible the program, instruction after instruction, to be carried out by this key time to time to pressing. On the screen appears the address of the next instruction, which then is exported. In this way we can its own program to verify that the execution to the expectations.

RUN

If this button is pressed, a program that for one or another reason is interrupted, eg by passing in the MONITOR MODE in the printing of the "MON", continued to be. The instruction, which is the first to be executed, given by the content of the instruction address register. The implementation of the programme will be continued until one of the following events: 1. The BREAKPOINT is reached. 2. The key "MON" or "RST" is pressed. 3. The program performs a "HALT" or a "WRTC" instruction out.

RST

Press the "Reset" button, then the instruction in execution is terminated and a RESET signal to the 2650 microprocessor. This means that the programme re-started with the address H'000'. If this button is pressed, the system is not in the MONITOR-MODE.

SENSE

The 'SENSE' button is an imitation of an external signal that to the SENSE-pin of the 2650 can be supplied. This signal can now be imitated by hand. SENSE input in the normal toewstand a logical "0". Pressing the SENSE-key will result in a logical "1".

INT

The 2650 microprocessor can be ge誰nterrumpeerd during the implementation of a program. This "INTERRUPT" using this test simulated. The result is a "VECTORED INTERRUPT" to the place H'07 'in the memory. It depends on the state of the "DIRECT/INDIRECT" switch on the Control Panel or the program, by virtue of this heckling should be executed, begins at the site H'07'

[Page 8:] or that it refers instead (indirect addressing) to a


other location. The INSTRUCTOR 50 is equipped with a switch through a hole in the bottom accessible. In the normal problems, this switch in the state "KEYBOARD". Only when external interrupts from the wisselspanninsnet permits, the switch in the state "ACLINE". BKPT

The "BKPT" button gives the contract to a "BREAKPOINT" specify. Saves you the address of this breaking through hexadecimal key panel, then the contents of that memory on the screen as soon as this breakpoint in the program is reached.

WCAS

Pressing these "WRITE CASSETTE" button helps ensure that the program in the memory is INSTRUCTOR 50 registered, shall be transferred to the belt of the cassette recorder.

RCAS

Pressing the "READ CASSETTE" button ensures that the data of the cassette recorder will be incorporated into the memory of the INSTRUCTOR 50.

Switches for the introduction of external data The microprocessor can through 2650 I/O devices with its surroundings correspond. One of the I/O devices has been imitated by eight port switches. These serve to the data to 2650 and in z.g. the form of a "byte". Be a reading assignment with a corresponding address to the 2650, then the state of these switches in the 2650 be accepted. Indicators for the implementation of external data For the implementation of data to its environment is also I/O devices necessary. The issue has been imitated m.b.v. eight port LEDs, connected on eight FLIP-FLOPS. This FLIP-FLOPS can be a uivoeringshandeling with the corresponding addressing in the state '0' or '1'are placed, with the result that the LED, respectively. about it. DIRECT/INDIRECT switch If the 2650 microprocessor ge誰nterrumpeerd, it will have a leap to make a z.g. "SUBROUTINE". In the case of the 50 will INSTRUCTOR this is the place H'07 '. At this place to facilitate the start of the subroutine, respectively. is the first byte of the reference to the indirect addressing to the place where the subroutine begins. The INSTRUCTOR user of the 50 has not the possibility to a interrupt there simply to ensure that interrupt the routine of a specific address from start. Whether addressing directly or indirectly, is indicated by the state of the "DIRECT/INDIRECT" switch. As external I/O devices to be connected through INSTRUCTOR the plug at the rear, it can interrupt another address used ("EXTENDED I/O"). Port address selection switches This switch choose the manner in which the parallel switched on and output will be addressed. The switch has three modes: "MEMORY 0FFF" "EXTENDED I/O PORT 07" "NON EXTENDED DATA PORT"


BREAKPOINT key A tool for the checking of programs on the correct execution is the z.g. BREAKPOINT. This is called breakpoint with using the "BKPT" button in a manner which will later be treated. The user of the INSTRUCTOR 50 bears with the help of these the address of the facility to the BREAKPOINT INSTRUCTOR 50. This address indicates where the programme execution should be interrupted. Once the instruction address register this value has reached the EXECUTION MODE terminated and the machine goes on to the MONITOR MODE. It gives the address of the screen next to carry out instruction. After the implementation of the program is stopped, one can weather continuing through the "RUN" or repeatedly pressing the Key "STEP" button, after which, as we know, each one instruction is executed. Speed The INSTRUCTOR is equipped with a 50 MHz crystal 3.579545 for the generating the most accurate klokfrequentie. [Page 9:] OPERATION OF THE INSTRUCTOR 50 Introduction The INSTRUCTOR 50 can perform various tasks. The first major contract has been loading instructions and data in memory. A second mission is that of the load of logs. This load can be done during the MONITOR MODE. This means, as dals, during the implementation of a programme, the INSTRUCTOR 50 by pressing the button "MON" in the MONITOR MODE is, the contents of the registers can consult and also change. Furthermore, with the instruction address register (IAR) visible and possibly zijzigen. Other commands are: ------

Visible and changing the memory Turn of the BREAKPOINT Step-by-step instructions of the Starting the program The whole state in the 0-back (RESET).

In the next section will now all these functions are handled by the on the basis of COMMAND BUTTON. In the text and on the bijbehordende tokens give the small letters followed by a hook to the relationship between the text and the position on the drawing, which this brekking. Reading and changing CPU registers and PSW Function This command allows the contents of the registers and the PSW (PROGRAM STATUS WORD) to read and, if necessary. Procedures 1. This function is initiated by the MONITOR MODE, so after the pressing the "MON" button, the button "REG" in pressing. See Figure 5a). This means that on the screen veschijnt "r =". For exercise 1!


The INSTRUCTOR 50 is now awaiting a number recorded in a particular register or in a part of the PSW. These numbers are: track 0 1 2 3 4 5 6 7 8

record R0 R1, BANK 0 R2, BANK 0 R3, BANK 0 R1, BANK 1 R2, BANK 1 R3, BANK 1 PSW UPPER PSW LOWER

2. Once one of these numbers aansaat, in our example b), then appears on the screen. r4 = A8. This is a bad example, and can one time the contents are, in this case, a bank register 1 1. The A8 is the view of the contents of this register, but who iunhour depends on eg starting the machine by pressing RUN or by pressing the inschakelen, where the contents of the records and the memory arbitrary values. Do exercise 2! 3. Are we satisfied with this content, then can the button "ENT NXT" impressions, such as c). Now the number and automatically contents of the register next to the screen. In our case Register 5, d.w.z. register 2 in bank 1. The content appears to be here B6 be. Prints men again ENT NXT d), then appears on the screen r6=A4. If we can continue: press it again e), then appears on the screen. PU=0A This is the content of the PSW UPPER. Prints will then alert return to the ENT NXT f) than appears. PL = 21 This is the content of the PSW LOWER. This shows that the total Program Status Word is: H'0A21'. The above has therefore only concerns the examination of the contents of the REG 4,5,6,7 and 8, which represent respectively. 1 BANK R1, R2 BANK 1, R3 BANK 1, PSW UPPER and PSL LOWER. 4. Changing the contents of the records, respectively. the Program Status Word UPPER LOWER and made at a slightly different way. Once a Registry has been selected or the "ENT NXT" button is pressed, appears on the left the screen a point to appear. This means that the contents of the on record, respectively. PSW share will be amended, before the "ENT NXT" button is pressed. This section shall enter into Figure 5 in the cases b) to m). We will now deal with how the contents of a register may change. We start again (see Figure 6) by pressing the button "REG", as a) is displayed. Velvolgens button is pressed 4 b). On the screen now .r4 = A8. The contents A8, as in the previous figure, only one example. Now we have the contents of this register (register 1 Bank 1) to zijzigen. This happens eg by pressing the button E, namely the most significant hexadecimal figure that we in the register wishes to place. This is reflected c). The screen is now .r4 = E. The contents of the register is to the left and the right place on the screen is the E appeared. If then


[Page 10:] The following hexadecimal digit is introduced, by 2 key to printing, then appears on the screen. r4 = E2. Now the contents of the register 1 bank 1 equals H'E2'. By now pressing "ENT NXT", the contents of R4 and confirms final. The screen is now automatically following the contents of the register, in our case. r5 = B6 The content, we can examine in a similar manner. Special attention is located on the possibility of the 2 bytes PSW U AND PSW L of the Program Status Word in this manner. Do the above described acts themselves on the INSTRUCTOR 50! Do exercise 3! Do exercise 4! Reading and changing storage Function Through the "MEM" button, access to the geugen. By serving this key (see Figure 7 a) appears on the screen . .= Ad, ie INSTRUCTOR 50 is willing to address through the hexadecimal Field of receiving it. This address refers to a cell in the memory, 1 byte. The bytes are as known by two hexadecimal numbers. Now, the most significant hexadecimal digit introduced. If this (most significant) 0 figures, then they can easily skip them. Procedures Figure 7 is ge memory H'0042 'opegeroepen. Since there are two leading zeros, it is not necessary to save this and if we can the first figure with the 4 suffice. This is reflected b). Then may be the least signficante digit, 2, introduced, as under c) displayed. Through the "ENT NXT" d) to press, the screen shows the full address, preceded by and point and the contents of the cell this address corresponds. The contents of the cell has been adopted as H'A5. " By "ENT NXT" re-pressing, the address and contents of the memory cell to the next screen, as shown here 0.0043 B7, see e). Thus one can continue to verify the contents of the storage. Would the contents of the storage not only to verify but also to change, then this change done before "ENT NXT "ingerukt. The start of det changing the geheugencelinhoud is analogous to that of reading it. In Figure 8 are the necessary steps displayed. The LOAD PROCEDURE begins in the same way as reading, by pressing the button "MEM ', see a). On the screen appears. .= Ad, which means that the INSTRUCTOR 50 to an address for selecting a memory cell calls. Suppose again memory H'0042 'is required. Now button is pressed 4, as under b) is displayed. Subsequently, set forth under c), 2 introduced. By pressing "ENT NXT "are excited this data in memory, such as d) is displayed. The contents of the memory cell is eg H'A5. " Let we assume that the contents of this cell should be amended in H'64. " It hexadecimal most significant figure is now excited, namely the 6, see e). Verfolgens the 4 excited, see f). Has a mistake made, then they can easily recover, return the 6 and 4


In pressing. One can thus, if it is mistaken again, as long as continue to screen the right hexadecimal value H'64 'shows. To confirm that this is the final value is that men in the memory cell wish to register, we press the button "ENT NXT", see g). Once we This act has performed, the number of the following memory and the contents of this cell on the screen. Would it the byte of this cell to change, then you can do so by above procedure. If a correction in the memory wishes to proceed, can this So simply by doing the "MEM" in pressing, the address, "ENT NXT" button, then the byte hexadecimal code. Then you can read "ENT NXT" back in print, confirm that this is the juistie information. Do the above described acts themselves on the INSTRUCTOR 50! Do the exercises 5, 6 and 7! Quick loading of memory Function If a lot of information in the memory load on consecutive places, then we would keep the "ENT NXT" key to key. It loading of the memory can be accelerated without such key each is pressed. They should have remembered that her or not possible, during the writing mistakes to be corrected. We must laadmethode than the fast break and for the correction rely on the method as described above. Procedures The rapid loading is initiated by the "REG" in the press, see Figure 9 a). The screen is now r =. The INSTRUCTOR 50 now requires a hexadecimal digit. For the rapid loading must be now the F-test of the hexadecimal field impressions. This is a hexadecimal digit. Machinery reacted to this by pressing the screen. .= Ad visible, see b). This means that the INSTRUCTOR 50 to address a request. Suppose we Downloading like to start on the hexadecimal address H'0012'. In order to address this, we turn first to 1, see c), then the [Page 11:] 2, see d), and then ENT NXT, see e). The machine responds to this series acts on the screen .0012 visible. The INSTRUCTOR 50 it indicates that the rapid loading begins in memory H'0012 ', and weigh the far left subscribed point that these data can now directly load. One can now begin eg at this place H'1A 'loading, see f) and g). Saves men now and then an F to an E, see h) and i), then in response to the F following the address, namely .0013 and the excited F. After the E excited, appears on the screen picture .0013 FE, ie that the next mĂŠmoire automatically elected. It saves thus pressing the "ENT NXT" button. Men kjan will continue until all the data to the memory entrusted. Finally, one can see j), the "MEM" impressions, which INSTRUCTOR reacts with the 50. Ad .=. From this time off might correcting errors made by the method referred to above. It can be quick loading gesgewenst upon each other a control button, as eg "MON" or "REG". Appears in response to the screen the word "ERROR 3", This indicates that an error was made in the function of the INSTRUCTOR 50. It may be that in that case the memory the information or not


incorrectly registered. It should than the "MEM" in pressing for the address again to provide the data and to perform. Also, they instead turn the key "REG" impressions, then key F the address and correct data, ENT NXT, etc. PS Quick loading can also be by the information submitted by a casseteband transferred. Do these acts themselves on the INSTRUCTOR 50! Do the exercises 8 and 9! Visualising and changing the content of the instruction address register Function To eliminate errors, it is important that the implementation of a program can pause and that we can to determine where a program at a given moment has come. The instruction address register pointing to the address of the * * next instruction that will be implemented become. By this address visible, one sees what point the implementation of the programme has reached. rocedures It determines this by first the "REG" pressing the INSTRUCTOR 50 shows on the screen r =, see Figure 10 a). The INSTRUCTOR now expects 50 hexadecimal digit. If you choose for this figure hexadecimal a C, This is for the INSTRUCTOR 50 a sign that the content of the calls instruction address register (Program Counter, abbreviated PC). Suppose that in this Currently the program so far advanced that the content of the instruction address register H'0017 '. The INSTRUCTOR 50 reacts now, see b), by pressing the screen. PC = 0017 show. Is this enough, it can be easy one of the other command keys pressing. However, if the contents of the PC wants change, then we can now present the new content, Ask men, the content of the instruction address register to Amend H'0028. " Since the men leading zeros does not need to introduce, one can suffice the response of 2 and 8, see c) and d). A total of four hexadecimal digits in the instruction address register be placed. Have a mistake, then we can proceed with response to the desired content of address register the instruction on the screen. Now it confirms the right content in the final register must be placed by pressing the button "ENT NXT, see e). Since the 50 to INSTRUCTOR the beginning of this series acts first pressing the button "REG" has observed, will now appear on the screen r = appear. Do these acts back on the INSTRUCTOR 50! Do the exercises 10 and 11! Step-by-step function Function Once a program has loaded, then it is for the detection of errors useful to the program instruction after instruction to go through and thus always to be able to verify the result to the expectations.


Procedures Has been successful in using the insertion of a given starting point in the instruction address register the beginning of the program to the INSTRUCTOR 50 indicated, it can be using the "STEP" key to the program instruction after instruction passed, see Figure 11. Would they do so, then the instruction address register cen certain value wheel on where we want to start from. They do so first press the button "REG" See a), which the INSTRUCTOR 50 respond by pressing the screen to show r =. Then we turn to C, which is the machine responds through the instruction address register present address to appear. Figure 11 b) shows the screen. PC = 0017, indicating that the state of the instruction address register H'0017'. Now you can take your new address. If we wish to begin in position 0, then a 0 to beat. This is the instruction address register put at 0. If at another starting point, then we should address that first time in the instruction address register to load. Suppose this address should read: H'0122'. The 0 need leading men not to save. The first is due on ingevoerd, see c) and then two 2s, see d) and e). To ensure that the instruction address register now adopts this value, we press the button "ENT NXT". The instruction [Page 12:] which will now be performed in operating the "STEP" gelgen to town H'0122 'memory. If the "STEP" button pressed g), it appears the address of the next instruction that will be carried out. Let us suppose that the instruction on H'0122 '2 bytes large, then the INSTRUCTOR 50 now address as 0124. It also operatiecode at the address shown. In Figure 11 g) this 0124 declared as CA. CA is the instruction for STORE RELATIVE REGISTER 2. Prints the "STEP" button again, it will screen the address of the next instruction using the corresponding instruction. This will be his 0126 CC. Thus one can continue with the completion of the entire programme. One may agree with this STEP-stop function by pressing the button "RUN" button, after which the program entirely independently further nitgevoerd. After each step is the moegelijk for the following details to verify: 1. 2. 3. 4. 5.

all registers the instruction address register the Program Status Word UPPER the Program Status Word LOWER each mĂŠmoire

In this way we can after each step, ie after each instruction that is, virtually every part of the machine on its content investigate and ascertain whether it complies with the design. Moreover, for men every "STEP" verify the true value inserted matches those men intended to introduce. If instead the "STEP" button "RUN" button is pressed, then this means that the voledige programmawordt. Note Consults men's memory, registers or instruction address register, then one can also change the content simultaneously, and other according to the procedures described above. The fitting of a BREAKPOINT in the program


Function The just described STEP method is particularly valuable if one is able to deliver the programme voorstap-step process. It may However, this time in the program a loop is present, which varied hundreds of times in succession is used. Is this loop addition from a number of instructions, then we must first few thousand instructions before they can escape from the loop. If the loop once step-by-step through, then we are already function checked and the men would actually want the INSTRUCTOR 50 leave it to the other loops to be carried out independently. After it can then eg another inquiry be carried out. Then would we then stop the machine wellen to the rest of the program step-by-step process. Procedures This facility is present, so it makes use of the so-called BREAKPOINT. The breaking point has an address, that, at the 50 must INSTRUCTOR . This address indicates where the INSTRUCTOR 50 must stop at the implementation of a program. Once this address by the INSTRUCTOR 50 reached, it will implement a program to stop and address with the corresponding operatiecodedeel on the screen. Once this takes place, may perceive that by the appearance of one - (indent) v贸r贸r address, govolgd by the instruction code (-0154 C0) as a Figure 12 h). If now the "STEP" button is pressed, it will program step-by-step executed, while pressing "RUN" button will result in the programme on-interrupted is executed. In order to remove a breakpoint, it is the key "BKPT" back in print, which the machine responds with the show of . bP = 1054, namely the address zojouist was inserted, see f). Prints we now the "BKPT" again, then the machine will respond by showing. bP =, but without an address display, see g). It breakpoint is now removed and we can no longer stop en route, unless it according to the above procedure insert a new breakpoint. The breakpoint works only if the "RUN" button has ingredrukt. Entering a program step-by-step, then the breakpoint is ignored. Melingen of errors in the use of a breakpoint If one has specified the breaking point, then the INSTRUCTOR 50 respond by one of these errors can be reported: ERROR 1. This means that we wish to specify a breakpoint in the ROM section of memory that the INSTRUCTOR 50 itself set aside. To eliminate this error can be agreed suffice, BKPT weather in the key pressing. ERROR 2. This message means that a new breakpoint trying to introduce immediately after the introduction of a breakpoint by the "NXT ENT-key. It can be corrected by a random function button. RUN-key Function


Pressing this button ends the MONITOR MODE and has to a result that the implementation of the programme begins. The first instruction which is executed, those specified by the instruction address register. [Page 13:] Procedures The implementation belijft continue until one of the following reasons the program to stop forcing: 1. A breakpoint has been reached. 2. The "RST" or "MON" button is pressed. 3. The programme is a HALT or WRTC instruction. These WRTC instruction is used by the MONITOR for manipulating the gates and switches on the front panel. RESET button Function If the "RST" (RESET)-button pressed, the activity of the INSTRUCTOR 50 immediately terminated and the processor will again start, assuming the instruction at the address H'000. " The initial values of the records that are currently unknown. PS If a breakpoint is specified, then it should not be executed. Procedures The programme execution continues to be one of the following situations arise: 1. The RST-button is pressed again. 2. A HALT instruction is executed. In carrying out these HALT instruction stops the processor to the RST-button again, or if the INTERRUPT INHIBIT PSW-bit has not been put to a INTERRUPT appears. 3. A WRTC instruction is executed or the "MON" button is pressed. In that case, the drive over to the MONITOR program; on the screen than the message "HELLO". If the control is transferred to the MONITOR, then the address of the last transaction recorded in the instruction address register the register and be saved in the RAM part of the MONITOR. They can now using the corresponding stuurtoetsen investigated. 4. If logical value of the HOLD input is high, the processor also stop. This entrance is located at the rear (stekeraansluiting). If this happens, RUN extinguish the light. The implementation of the program will begin again as the logical value HOLD effect of the low. Error messages


The MONITOR, a number of internal tests. In addition to these internal moreover, he examines testing whether certain contracts allowed be. Does a mistake, either in the machine, or in the missions, than does the INSTRUCTOR 50 it by pressing the screen the shape ERROR N number, where N may be a figure of 1 to 9. The significance of these reports is as follows: ERROR 1. "The breaking point can not be imported." This is usually the case if one tries to give a breakpoint in the landscape part of the memory that the program is MONITOR set aside. ERROR 2. "Restricted contract." This means that the order bereicht of the command are not accurate and that it should improve. This includes done by the commandocyclus to terminate the MONITOR button to press, etc. ERROR 3. "Gehuegeninhoud is not properly changed." This message means that an attempt was made to writing data in a memory cell that eg is not accessible. If people in the entering data chalk this message, it may mean that An error is determined by checking whether the data precisely in the memory is loaded. Is this the case, it must be the key "MEM" re-pressing and the last part of the acts repeat. ERROR 4. "Cassete-control mistake." If data is a cassetterecorder written, then to those data to the end of a check added in order to mix later in the teruglezen of these data ascertain whether an error has occurred. If by now the teruglezen of the cassette is found that the read information is not correct, then the message ERROR 4. It may then re-reading cassette. If it is a temporary error, eg substance, then it is possible that the Information now read flawlessly. Does the band, however, damaged, then the information have been lost and it is relevant part of the band no longer usable. ERROR 5. "A geheugenschriffout during the reading of a cassette." By reading a cassette and the register in the INSTRUCTOR memory of the 50 are registered bytes checked. If an error occurs, then the INSTRUCTOR 50 ERROR 5. Men, the band again to read. ERROR 6. "The code of the magnetic tape deviates from the ASCII code." The INSTRUCTOR 50 writes on the magnetic tape called ASCII code. Is another code on the band present, then this one given time-frames and reported. It is also possible that den volume controller of the tape is incorrect tuned. Men must it be verifĂŤren and the cassette, so it is needed again to read. [Page 14:] ERROR 7. "STARTadres larger than STOPadres." If data on a cassette writes and it gives a staradres that is greater than the stop address, then this by means of this indicator are reported. ERROR 8. "There are two keys in a column pressed." This means that there are two keys simultaneously wor den pressed. The MONITOR


can then unable to identify what action is appropriate. ERROR 9. "Next instruction is in the MONITOR field." If the STEP button is pressed and the next instruction would be in the MONITOR-field, it will be reported by the appearance ERROR 9 of the report. THE USE OF THE INSTRUCTOR 50 The writer of programs that would use the INSTRUCTOR 50, the 2650 full-instructieverzameling microprocessor at its disposal. Due to the interaction between the INSTRUCTOR 50 and the hardware and software the user must be some limits are taken: 1. The MONITOR reserves the instruction WRTC (Write Control). Also it uses the register instructions H'B0', H'B1', H'B2 'and H'B3' to the instead of a BREAKPOINT in a program to give. If such an instruction is conducted in a program of a user, then the INSTRUCTOR 50 themselves returning to the MONITOR fashion and will be shown on the screen the word 'HELLO'. 2. If a HALT instruction (H'40') is implemented, then this forces the processor to be terminated. This is indicated by the extinguishment of the "RUN" LED. There are two ways to implement the restart. This can be done by the RST-key, or - as interrupts are not forbidden - by the performance of the INTERRUPT. This can eg. be achieved by pressing the INT key. If there is a BREAKPOINT defined in the place of honour-HALT instruction, then the MONITOR ensures that if this HALT instruction is not implemented, the normal execution of the program will then continue. 3. From page 0, as we know from the instruction manual, the bottom of this page, as well as the upper part, in essence reserved for the ZBSR instructions with positive and negative displacements, respectively. The MONITOR program, however, uses the upper part of the page to jump to the MONITOR programs, so the user should not use this part of the page, unless he wants to enter the MONITOR. The same applies to INTERRUPT-vectors with negative displacements. 4. The MONITOR begruikt for its program three levels of 2650 return address stack. That is the return address stack is limited to 8 levels, the user only has five levels of This stack available for writing his program. It should be quickly realized that these 8 levels also INTERRUPTS. The use of INTERRUPTS INTERRUPTS for a synchronization of mutually independent processes, but at a certain time data should uiwisselen. If an external process, a process that is outside the 2650 microprocessor, has reached a certain stage, then this process the focus of this microprocessor. This will respond to a certain serviceroutine jump. These can either specifically for serviceroutine the interruption external process, with this process than either his identity must say (vector interrupt), or a routine, in which case the microprocessor in search of the external INTERRUPT process which caused the (so-called polling). The identity of the external process that interrumpeert, does not so much on the number of the involved process, but at the stage where the process is located. The


INTERRUPT-vector indicates the place where the required data for the specific subroutine for this part of the process in memory pertaining to the 2650 microprocessor present. It can therefore prevent and that process more than INTERRUPT ee-vector can generate, However zihn depending on the progress of the process. The INSTRUCTOR 50 beschrikt three methods to the 2650 microprocessor to interruption. The first method is a INTERRUPT that the user of the INSTRUCTOR 50 can bring about by pressing a button INT. The second method uses an external signal [Page 15:] that is derived from the frequency. In the Netherlands it is 50 Hz. This is one every 20 ms INTERRUPT request. Using INTERRUPT this would be the microprocessor in 2650 a klokschakeling can Reality, in English literature is a "real-time clock". Want to we allow this method of interruption, the INTERRUPT switch on the bottom in the state "ACLINE" poster. The third method of interruption is through the so-called S100-bus interface. The S100 bus is located at the rear of the 50 and can INSTRUCTOR m.b.v. the plug be made accessible. The interruptmechanisme can "control software" on or off. This can be done essentially at any point in the programme by the SET or RESET of the INTERRUPT INHIBIT-bit (II of the PSW). If the INTERRUPT INHIBIT-bit in state 1, then accepts the 2650 microprocessor no requests to go interruption. State INTERRUPT INHIBIT-bit daaretegen in the 0-state, meaning that the INTERRUPT Applications will be honoured, then the microprocessor in the internal INTERRUPT respond. The INTERRUPT INHIBIT-bit will in the following cases in the 0-be put (admitting INTERRUPT-quotes): 1. By pressing the RST-key, ie. the back of the processor. 2. By carrying out the instruction CPSU (Clear Program Status Upper) any instruction should include the right mask. 3. In carrying out the instruction RETE (Return from Subroutine and Enable Interrupt). 4. In carrying out the instruction LPSU (Load Program Status Upper) where II bit in the 0-positioned. The INTERRUPT mechanism of the 2650 microprocessor can with a vectored INTERRUPT. Accepts the microprocessor an interrupt request " (INTREQ), then the microprocessor automatically a "interrupt acknolwedge" (INTACK)-signal. The process that the 2650 microprocessor interrumpeert, replies by the award of the vector-INTERRUPT on the 2650 data bus. This vector is used as an address relative to H'0000' on page 0, or as a jump to a subroutine. The INTERRUPT-vector can directly or indirectly address the issue of data bus. By addressing immediate start subroutine at the address shown, ie in the first 64 bytes of page 0, which in a single process may be permitted. If more processes will interruption, 64 bytes can not write a subroutine used and they should be elsewhere in memory to be housed. For that goal makes use of it indirectly addressing. The addressee byte on page 0 (in the range 0 to 63) is now the


the first byte of two where the address of the subroutine is located. On this basis, a jump is made to the relevant subroutine. This may be anywhere within the overall addressable capacity of 32K. If it was allowed (II = 0) to be interrupted, then answered the INSTRUCTOR 50 a request to interrupt by the following series of transactions: 1. He completes the instruction that are currently in progress. 2. The processor puts the INTERRUPT INHIBIT in the logical 1 (II = 1). 3. The first byte of the ZBSR instruction by the 2650 microprocessor internally generated and in the instruction register. 4. The processor provides an INTERRUPT ACKNOWLEDGE (INTACK) and awaits the INTERRUPT-vector, adopted by the interruption process must be issued on the data bus. 5. The INSTRUCTOR 50 itself generates a INTERRUPT-vector, namely H'07' or H'87' on the data bus. The 7 indicates that 7 byte of memory used as the first byte for carrying out the subroutine for the INTERRUPT. The 0 or 8 indicates a direct (H'07') or indirect (H'87') addressing. Which of the two is chosen depends on the state vande switch DIRECT/INDIRECT INTERRUPT on the INSTRUCTOR 50 of the control panel. The user of the INSTRUCTOR 50 should ensure that, if the direct addressing (H'07) is used, the subroutine at this place started. In the event that indirect addressing is used, on the memory 7 and 8 the absolute address to be present on the address where the subroutine elsewhere in the memory begins. 6. The 2650 then the ZBSR-instruction, which means that instead of 7 off the INTERRUPT programme is implemented, respectively. that a jump is made to the subroutine elsewhere in the memory. The address of the next instruction of the original programme is in the adresstapel then rescued and is stapelwijzer increased. 7. When the INTERRUPT routine has been performed in its entirety, then the last instruction are a RETE or RETC a statement. As a result This lowers the 2650 microprocessor and replaces the stapelwijzer he the content of the instruction address register by the content of the top of the stack, so that the execution of the original program can now be continued. An external INTERRUPT is generated by an independent process outside the 2650 microprocessor. It is therefore not predictable at what moment this INTERRUPT will arise. One consequence is that an INTERRUPT can take place at any instruction from the [Page 16:] program that the 2650 microprocessor to perform. The program However a number of registers in use. The INTERRUPT subroutine may also need the use of registers. As a result, the contents of these registers in one form or another manner should be rescued. This can be done at different. The first is to ensure that only during INTERRUPTS certain instructions may occur. For example, men in the program eg ensure that it becomes bit II = 1. At a certain moment can be


by means of an instruction to the bit II = 0 and after the next instruction again II = 1. During this short time, an external INTERRUPT the program interruption. Before one such interruptiemogelijkheid allows, can the contents of the registers in save the memory. At the end of the subroutine, the program to ensure that the records again loaded with the memory rescued information. The second method is to save records entering the INTERRUPT routine. At the end of this routine, the information then rescued again in the records placed. A third possibility is to ensure that the mainstream exclusive use of the registers in bank 0, while the INTERRUPT routine use of the registers in Bank 1. A special provision remains necessary to Registers 0 and Program Status Word Lower. The contents of these records should still be saved if it for the mainstream contains important information. The INSTRUCTOR 50 INTERRUPT facility can be elected by the combination of the state of INTERRUPT-switch and/or a connection at the bottom of the INSTRUCTOR 50. As already mentioned, the DIRECT/INDIRECT switch on the front panel of the 50 service INSTRUCTOR to determine whether the vector-INTERRUPT direct, respectively. indirect addressing result. The gehugencel H'07' is used both for the INTERRUPT caused by the printing of the key INT, but by the INTERRUPT that could be attained by switching from the switch on the underside of the INSTRUCTOR 50, in the state "A. C. LINE". Besides these two possibilities of interruption, the INSTRUCTOR 50, as already mentioned, also via the ge誰nterrumpeerd from the S100 bus interface. To achieve this, it must be a connection to the bottom of the INSTRUCTOR 50 be made. There is however pointed out that this only makes sense if external devices with INSTRUCTOR the 50 affiliated. In the episode of the INSTRUCTOR 50 the bottom is so wired that the INTERRUPT done either through the control panel or by the 50 Hz diet, and depending of the state of the switch INTERRUPT SELECT SWITCH (see Figure 13). In it will follow the connections that are present in the episode, the text indicated d.m.v. a *. Choosing a direct or Addressing indirect remains in all cases determined by the state DIRECT/INDIRECTLY of the INTERRUPT switch on the panel. A Transfer in field Connection

Description

1-2*

Normal operation. The 2650 microprocessor recognizes INTERRUPT requests from the key or the 50-Hz INTERRUPT source, depending on the state of INTERRUPT SELECT SWITCH.

2-4

Bus interface. The 2650 recognizes the interruption of the interface (pin 4 on the S-100 bus). The INTERRUPT is recognized during the exchange of low to high on the input.

2-39 3-4

Bus interface inverted. The situation is identical to which outlined 2-4 down, with the exception that the INTERRUPT is recognized in the transition from high to low of the input signal.

The use of the I/O switches and LEDs The 2650 microprocessor has a number of methods to the state and


control of external input and output should be laid. One of the methods, the SERIAL INPUT port, formed by the SENSE INPUT-pin and the SERIAL OUTPUT port, which is FLAG. Furthermore, the 2650 microprocessor for 2 types of parallel imports and uitvoerinstructies, which is EXTENDED and NON-EXTENDED I/O lists. The NONEXTENDED I/O instructions are 1 byte and make it possible to move data into and out of two 8 bit I/O ports to write and read, port C and port D. These two ports are accessible through the data bus and control bus. The extended I/O instructions are 2 bytes and the I/O capabilities of the 2650 microprocessor spread to 256 bidirectional I/O ports. Except that I/O instructions can also be another way of in and exports choose the z.g. "MAPPED I/O". This method is achieved by a memory address to be appointed as an I/O port. In that case, So the complete memory is used. The I/O However, it approached from the state [Page 17:] point as if it were a memory cell, ie it is approached through the supervision, which distinguishes between data to and from memory, respectively. I/O. At "MAPPED I/O" is assumed that these I/O to memory. See also the description of the 2650 microprocessor in another part of these manuals. FLAG-SENSE and I/O methodology The output of the FLAG-2650 in fact gives the state weather a bit of the Program Status Word (PSW). This bit can be switched with a PSW controleinstructie which a mask has been added. Once the flip-flop in the PSW 1 in the state, the outputpen of the 2650 microprocessor high and if he is in the 0 state, this pin is low. This pin is a LED connected, which is visible on the control panel. If these LED light time, then, the flip-flop in the PSW in the logsiche 1, as this LED extinguished, then there is the flip-flop in the logical 0. Serial input is obtained through the SENSE-pin of the microprocessor. This pin is directly connected to a button on the control panel of the INSTRUCTOR 50, the SENSE-key. Normally, the tension on the pen-SENSE low. However, once the SENSE-key, then the tension on a high level, that is a logical 1. NON-EXTENDED I/O methodology The 2650 microprocessor can two external bidirectional I/O port driving m.b.v. four different 1-byte instructions. The instructions are: WRTC, WRTD, REDC and REDD. These instructions ensure the transfer of a byte to or from the ports. The place of origin, respectively. of destination, is one of the seven existing records. The number of the Registry is reflected in the operatiecode, while the bank of the on record, as we know, in advance d.m.v. an instruction to the PSL should be defined. The register R0 does not need d.m.v. a Such instruction to be defined, as is common R0 for the two registerbanken. One of these NON-EXTENDED gates, and D port, is located on the control panel of the INSTRUCTOR 50. Put port address switches the men in the state NON-EXTENDED, then this port automatically elected. Of course, or the instruction WRTD or in REDD the program order. Through this facility, it is possible to using the eight switches data to the 2650 transfer. At the same way it is possible data of the 2650 process through the eight LEDs above the switches are placed. The least significant bits of the transferred byte is located far right, the most


significant bit far left. EXTENDED I/O methodology The 2650 microprocessor can have up to 256 bidirectional I/O ports reach m.b.v. the instructions WRTE (Write Extended) and SPEECH (Read Extended). The second byte of this instruction specifies the corresponding I/O port. This I/O port is chosen through the address bus and __ d.m.v. controledraad the M/IO. The extended I/O may be in the 50 INSTRUCTOR m.b.v. be imitated the same eight switches and eight LEDs, such as in the non-extended I/O. One can achieve this by the I/O switch EXTENDED the position I/O system. The address of the I/O port is in this H'07 case. " This address serves as the second byte in the SPEECH-and-WRTE instructions. MEMORY MAPPED I/O methodology If men in the INSTRUCTOR 50 "MEMORY MAPPED I/O" would like to imitate, Then, the I/O switch in the top position. Now to the I/O switches and indicators H'0FFF' address. This makes it possible data with the normal STORE-of-instruction LOAD To, respectively. the I/O switches and LEDs to be implemented. The LOAD-and-STORE instructions contain two bits, which indicate where the register, Respectively. where data should be conducted. These data are concerned, respectively. Transferred from the eight switches, respectively. eight LEDs on the Control panel. Choice klokfrequentie - S100 bus The bus interface at the bottom of the 50 has a three INSTRUCTOR connections for the clock to give some of the surrounding Logic. (See Figure 13 Field B). The default of the INSTRUCTOR 50 is 895 kHz. Also, half clock to the bottom Decreased the size of about 303 kHz. This signal is derived from the OPREQ pin of the 2650 microprocessor. As shown in the manual This need this signal (the Operation Request) not in any Instruction to be present. The frequency may therefore be low than 303 KHz. At the bottom is the pin 11 and 12 the symeemkloksignaal Of 895 kHz of the INSTRUCTOR 50. On the pins 13 and 14 is the OPREQ signal. The outputs of the S100 bus connected to the points 8, 9 and 10. 8 Pin is connected to exit 25, known as the bussignaal 01, pin is 9 Linked to the exit 24, known as bussignaal 02 and also with Exit 49, known as bussignaal "clock". Upon delivery of the INSTRUCTOR 50 pin is connected to 9 pin 12, exit 24 on the 895 kHz signal. [Page 18:] Choice of the voltage The INSTRUCTOR 50 works normally with its own internal spanningsstabilisatie anticipated, and through the transformer on the Lichnet can be connected. But it is also possible to the INSTRUCTOR 50 to work through the interface of a aanluiting 5 V spanningvoorziening scheduled. For that purpose the points 18, 19 and 20 present (see Figure 13 Field C). His points routed 18-20, as is the case with the delivery of the INSTRUCTOR 50, then the works


INSTRUCTOR with its own Internet sspanningsvoorziening. Will the points 18 and 19 routed, the external power supply on the INSTRUCTOR rear of the 50 are constructed. BUILT-IN SUBROUTINES The INSTRUCTOR 50 has in his memory six subroutines that are particularly useful for communicating with and for these INSTRUCTOR INSTRUCTOR and communication with those for special operations in a program may be needed. The subroutines are: MOVE, DISPLAY, USER DISPLAY, NIBBLE, INPUT DATA and MODIFY DATA. The subroutines are summoned by a ZBSR (Zero Branch to Relative Subroutine) instruction. The instruction should be provided with an extra byte. This byte is referring to the instruction to treat indicated in the form of two hexadecimal numbers. The byte always begins on January 1, thereby creating an indirect addressing is obtained. The indirect addresses are all located in the last 64 bytes of page 0 (8K Bytes). Because indirect doing it for addressing the user is irrelevant where the subroutines in fact are present in memory. The subroutines often make use of some registers; sometimes also requires that such registers are filled with certain information before the subroutine is called. There at the call of a subroutine on the adresstapel an address is placed, should be previewed carefully consider whether it should possible, this subroutine to call. If there is not enough space more on the stack is present to the departure to save, the subroutine not be called. The number of levels that the subroutine calls itself, is a subroutine. It is therefore not intended the level that the subroutine itself needs to be called, but only the number of times the subroutine itself use makes other subroutines. When the call to a subroutine must therefore at least for a place in his address on the stack, and moreover it is still so much held in reserve as the number of calls involved in the subroutine itself. The maximum is eight stacks; they exceed this figure, then the return address is lost. [Page 19:] MOVE subroutine Function MOVE moves a user message about the size of eight bytes to that part of the memory that has screen information. Messages can be made visible on the screen by combining this subroutine with the DISPLAY subroutine. Functioning Before this subroutine is called, a message of eight bytes in the program attend. The place where this message begins, in the registersr R1 and R2 before conjuring up the subroutine to be registered. The address consists of two bytes, whose first three bits certainly consist of zeros (32K memory). It most significant byte must register R1 to be registered, Least significant register R2. Invoke instruction: mnemonic ZBSR *MOV

hexadecimal value BB, FE


Used registers: R1 = most significant byte of the address - 1 R2 = least significant byte of the address - 1 Required number of stack places after the call: 0 Due to the limited size of the screen can not all 256 possibilities of the notice of a byte are used, there is only a limited view. The following table shows the hexadecimal values with their respective characters on the screen. character

value

*0 or O *1 or I *2 *3 *4 *5 *6 *7 *8 *9 *A *B *C *D *E *F *P *L *U *R *H *O *= *space *J ** *Y *N

H'00' H'01' H'02' H'03' H'04' H'05' H'06' H'07' H'08' H'09' H'0A' H'0B' H'0C' H'0D' H'0E' H'0F' H'10' H'11' H'12' H'13' H'14' H'15' H'16' H'17' H'18' H'19' H'1A' H'1B' H'1C'

Example of a MOVE subroutine call address data

instruction mnemonic

comment

0010 0012 0014 . . . 0100 0101 0102 0103 0104 0105 0106 0107

LODI,R1 H'00' LODI,R2 H'FF' ZBSR *MOV

Load adreswijzer -1 in R1 and R2 (H'0100'-1=H'00FF') to jump MOVE 'bereicht for 0100-0107 is moved to the buffer on the screen = space = H = E = L = L = O = space = space

05,00 06,FF BB,FE

17 14 0E 11 11 00 17 17


DISPLAY subroutine Function If this subroutine is used in conjunction with the MOVE-subroutine, possible on the screen of the INSTRUCTOR 50 eight characters again give. DISPLAY reads the message has been registered in the buffer of the screen, eg through the subroutine MOVE. Then this place subroutine this message in that part of the 50 that the data INSTRUCTOR provides for the screen. This routine also the view that place After pressing the control on a hex key. Functioning The subroutine DISPLAY has three modes of operation. These are selected by before calling the subroutine in a register R0 contract-byte to write. The value of this byte and the accompanying function are shown below. value

function

H'00'

Give the message to the screen to a data key or funktion key is ingredukt. Place the value of the pressed a button register R0.

H'01'

Enter the DISPLAY subroutine once. Determine not value of any key. Since the single passage of this subroutine not visible on the characters screen results, the subroutine part of a loop DISPLAY where the subroutine a sufficient number of times called to the message visible.

[Page 20:] H'80'

This contract is identical to that of H'00', with which except that now the far left on the screen at a point appears.

Invoke instruction: mnemonic ZSBR *DISPLY

hexadecimal value BB, EC

Required number of stack places after the call: 0 Used registers: R0, R1, R2 and R3. R0 = DISPLAY command. After executing the subroutine is R0 = toetswaarde. Below are the keys and the corresponding value in R0 register after the completion of the subroutine. hexadecimal key value 0 1 2 3 4 5 6 7 8

H'00' H'01' H'02' H'03' H'04' H'05' H'06' H'07' H'08'


9 A B C D E F WCAS BKPT RCAS REG STEP MEM RUN ENT/NXT

H'09' H'0A' H'0B' H'0C' H'0D' H'0E' H'0F' H'80' H'81' H'82' H'83' H'84' H'85' H'86' H'87'

Example of a MOVE and DISPLAY subroutine call address data

instruction mnemonic

comment

0010 0012 0014 0016 0018 001A

05,00 06,FF BB,FE 04,00 BB,EC E4,86

LODI,R1 H'00' LODI,R2 H'FF' ZBSR *MOV LODI,R0 H'00' ZBSR *DISPLY COMI,R0 H'86'

001C

1C,XX,XX

BCTA,EQ H'XXXX'

001F . . 0100

1F,00,16

BCTA,UN H'0016'

Place berichtwijzer -1 in R1 and R2 ('0100'-1='00FF') Call MOVE subroutine. Place the contract in R0. Call DISPLAY subroutine. Compare terrugeven keycode with RUN code. If right, jump to this address: H'XXXX' If wrong, go to H'0016' and wait for next key

0101 0102 0103 0104 0105 0106 0107

14 0E 11 11 00 17 17

17

First byte of the message a space = H = E = L = L = O = space Last byte of the message a space.

USER DISPLAY subroutine Function The USER DISPLAY subroutine combines the functions of the two discussed subroutines MOVE and DISPLAY. This means that a notice of USER DISPLAY eight bytes moved from the program of the user to the section for the buffer of the screen and then this message on the screen visible. Functioning Before the USER DISPLAY is called, the address of the first -1 byte of the message to be given the records R1 and R2, such as This also happens to the subroutine MOVE. Moreover, in the register R3 means of command are loaded, as is done in the DISPLAY subroutine in the register R0. After the subroutine is found in R0 again the value of the key, as is done in


DISPLAY the subroutine. Invoke instruction: mnemonic ZSBR *USRDSP

hexadecimal value BB, E6

Used registers: R0, R1, R2, R3. R3 R1 R2 R0

= = = =

DISPLAY command. most significant byte from the start - 1. least significant byte from the start - 1. toetswaarde after the subroutine.

toetswaarde. Below are the keys and the corresponding value in R0 register after the completion of the subroutine. Required number of places on the adresstapel: 2 Here is an example for the use of the USER DISPLAY subroutine. [Page 21:] Example of a subroutine call USER DISPLAY address data

instruction mnemonic

comment

0010 0012

05,00 06,FF

LODI,R1 H'00' LODI,R2 H'FF'

0014 0016 0018

07,00 BB,E6 E4,86

LODI,R3 H'00' ZBSR *USRDSP COMI,R0 H'86'

001A 001D

1C,XX,XX 1F,00,10

BCTA,EQ H'XXXX' BCTA,UN H'0010'

0100

17

0101 0102 0103 0104 0105 0106 0107

14 0E 11 11 00 17 17

Place messages tabelwijzeren -1 and R1 and R2 ('0100'-1='00FF') contract in place R3 Call USER DISPLAY Compare terrugeven key waarde with value-RUN If equal, jump to H'XXXX' If wrong, go back to H'0010' pressure and other key First byte of the message a space = H = E = L = L = O = space Last byte is a space

NIBBLE-subroutine Function As already mentioned, are not all 256 possibilities, which a byte offers are made visible on the screen. Can however, the 2x4 bits of a byte in individual bytes are placed so that a byte essentially two bytes products (each byte with 4 leading zeros), it would these are the possible byte using two successive locations on the screen visible. The subroutine NIBBLE cuts the purpose byte into two parts and places them in individual bytes. Since every byte two Other bytes produces, one can in this way on the screen up to four bytes visible.


Functioning Invoke instruction: mnemonic ZSBR *DISLSD

hexadecimal value BB, F4

Used registers: R0 and R1. r0 = byte, which should be split R0 after the subroutine = most significant nibble R1 after the subroutine = least significant nibble Required number of places on the stack: 1 In the following program is the use of the NIBBLE-subroutine displayed. It is clear that after the end of the subroutine content records of the R1 and R0 to the memory should be transferred to to prevent this content is lost. Example of NIBBLE By entering: R0 = F3 On departure: R0 = 0F R1 = 03 Example of using the program NIBBLE address data

instruction mnemonic

comment

0000

70

REDD,R0

0001 0003

BB,F4 CD,01,07

ZBSR *DISLSD STRA,R1 H'0107'

0006

CC,01,06

STRA,R0 H'0106'

0009 000B 000D 000F

05,00 06,FF 04,00 BB,E6

LODI,R1 H'00' LODI,R2 H'FF' LODI,R0 H'00' ZBSR *USRDSP

0011

1B,6D

BCTR, UN H'6D'

0100 0101 0102 0103 0104 0105 0106

13 0E 0D 0D 16 17 17

0107

17

Read I/O port (non-extended in R0) Call NIBBLE subroutine Store low-order nibble in the berichten table Store high-order nibble in the berichten table Place berichtenwijzer -1 in R1 and R2 contract in place R0 Call USER DISPLAY subroutine Let voridge port D-value see. New I/O value on switches and appears on the screen if one of the keys is pressed Go back to 0000 and obtain I/O value = 'R' (1st byte of bereicht) = "E" = "D" = "D" = "=" = "space" = "space" (H-order nibble is stored here.) = "space" (L-order nibble is stored here.)

[Page 22 is missing!]


[Page 23:] 003A

04,01

LODI,R0 H'01'

003C 0100

BB,FC 17

ZBSR *GNPA

0101 0102 0103 0104 0105 0106

18 15 0B 16 17 00

0107

01

Contract in place R0 (H'01' = 2 digits) Call MODIFY DATA subroutine 1st byte of the message = "space" = "J" = "O" = "B" = "=" = "space" = "0" (previous imported data values) = "1" (previous imported data values)

Registerinhoud to a return from the subroutine MODIFY DATA register

content

comment

R0 R1 R2 R3

H'02' H'XX' H'86' H'00'

Imported data is placed in R0 Data in R1 is meaningless Value of the RUN key Indicates that the value in R0 is valid

SYSTEM EXPANSION The INSTRUCTOR 50 offers at the rear, as mentioned, the possibility to a contrasteker action. This allows the S100-interface exploited. This creates the possibility for the system to expand with additional memory, and furthermore with a number of import and export devices. The number potential is so great that it hardly describe. Except in the S100 bus are still a number of pens new appointment. This reservepennen can be used for specific signals 2650, such as OPREQ, R/W and M/IO to perform. This is to provide users with the ability offered all of the 2650 special facilities to be used. The interface signals are described below. pin

mnemonic

signaalbeschrijving

1

+8

2

+16

3

XRDY

4

VI0

+8 V is not regulated. This effect can be a +8 V provision for the INSTRUCTOR 50, depending the position of the connection to the energising the bottom. Positive 16 V power supply. This effect is set aside for +16 V, may be required for an S100 Printed circuit peripheral. The +16 V is not necessary for the INSTRUCTOR 50 and is not powered by this. External Ready. XRDY is a signal that a I/Odevice gives, as the data transfer is with the 2650 done. The INSTRUCTOR sees this as a OPACK for 2650. Vectored Interrupt 0, VI0, is an external-INTERRUPT line. This is the connection made to the bottom of the Instructor 50 for external INTERRUPTS, the VI0; this caused a direct or indirect interrupt, depending on the state of the DIRECT/INDIRECT switch.


5 to 11 12 R/W*

13

WRP*

Not used! Read/Write. This is one of the control signals of the 2650 microprocessor that indicates whether a read-than a write operation with the external equipment wishes to carry out. This signal is only valid if OPREQ is "high". Write Pulse. The 2650 microprocessor gives a signal during a memory or an I/O write.

* This is not a standard S100 interface signal [Page 24:]

14

M/IO*

15

RESET*

16

RUN/WAIT*

17

PAUSE*

18 to 23 24 @1

25 @2

26 to 28 29 A5 30 A4 31 A3 32 A15 33 34 35 36 37 38 39 40 41 42 43 44 45

A12 A9 DO1 DO0 A10 DO4 DO5 DO6 DI2 DI3 DI7

46

SINP

SOUT

WRP can be used to move data to take over by the external equipment. Memory/Input-Output. This is a signal of the 2650 microprocessor that indicates whether an address bus memory or an I/O address during the data. Reset. If the signal on this pin is high, a RESET operation is performed equal to pressing the RST button on the panel of the INSTRUCTOR 50. The result is that the execution of the programm begins from the address H'0000'. This signal from the 2650 microprocessor indicates whether watcht this or any program. This is a 2650 audit input, which used kvan for a Direct Memory Access (DMA). As the signal "high" is made, the 2650 microprocessor stops the execution of instructions, immediately after the execution of the instruction that he busy. Not used! Phase 1-clock can be controlled by the 895 kHz OPREQ clock or the signal, depending on the configuration at the bottom of the Instructor 50. Phase 2-clock can be controlled by the system clock or OPREQ by the signal, depending on the configuration, affixed to the underside of the Instructor 50. Not used! Address bit 5. Address bit 4. Address bit 3. Address bit 15. Since the 2650 microprocessor can only address 32K, it is connected to the earth. Address bit 12. Address bit 9. Data OUT bit 1. Data OUT bit 0. Address bit 10. Data OUT bit 4. Data OUT bit 5. Data OUT bit 6. Data IN bit 2. Data IN bit 3. Data IN bit 7. Not used! SOUT indicates that the address contains an address bus for a output. The corresponding device can value of the databus accept if PWR (pin 77) active. SINP indicates that the address contains an address


47

SMEMR

48 49

CLOCK

50 51

SNE +8 Volt

52

-16 Volt

53 54 55 56 57 58 59 60 61 62 63 64

D0* D1* D2* D3* D4* D5* D6* D7* UOPREQ*

bus for a ingangsapparaat. The device can be selected data transfer if PDBIN (pen 78) is active. Memory Read. This signal indicates that the address bus address of a geheugenlokatie and that the 2650 microprocessor executes a geheugenlees operation. Not used! Clock. Depending on the wiring in the bottom of the Instructor 50, this pin is driven by the 895 kHz system or by the 2650 OPREQ output. Systeemaarde A positive 8 V-line, through which +8 V at the INSTRUCTOR 50 may be provided if the bottom end, provisions have been made. A negative 16 V-line, which is reserved for the -16 V as may be necessary for a peripheral device. The INSTRUCTOR 50 uses this tension. Do not use! Do not use! Data-bus bit 0. Data-bus bit 1. Data-bus bit 2. Data-bus bit 3. Data-bus bit 4. Do not use! Data-bus bit 5. Data-bus bit 6. Data-bus bit 7. UOPREQ (User Request Operation) is a control signal to the 2650 microprocessor, indicating that the address and data bus and other controllijnen valid. UOPREQ can be used to the data bus to write copy for the and activates ingangsbusdrivers to read operations.

[Page 25:] 65

INTACK*

66

FLAG*

67

USENSE*

68

MWRITE

69 to 71 72 PRDY

73

PINT

Interrupt Acknowledge. The 2650 microprocessor gives a confirmation in the form of INTACK as an interrupt is even recognized. After this signal can be a interruption device using the data bus a relatively address, transforming m.b.v. the ZBSR-one instruction leap can be made in the first 64 bytes of page 0. This line presents the FLAG signal of the 2650 microprocessor. User Sense. This pin is prohibited by the 2650 SENSEpin and can be used for entering serial data. FLAG and SENSE are part of the PSW. The Memory Write (MWRITE)-signal indicates that data in the memory can be written at that location that the address bus indicates. Not in use! The Processor Ready (PRDY)-signal with a XRDY OR-circuit together, the result of which the statussignaal OPACK (Operation Acknowledge) of the 2650 microprocessor. PRDY is returned by addressed a peripheral device (either memory, or I/O), or by a peripheral, after the data transfer after an interruption took place. Processor Interrupt (PINT) is an interface S100


74 to 76 77 PWR

78

PDBIN

79 A0 80 A1 81 A2 82 A6 83 A7 84 A8 85 A13 86 A14 87 A11 88 DO2 89 DO3 90 DO7 91 DI4 92 DI5 93 DI6 94 DI1 95 DI2 96 to 98 99 POR

100

GND

signal that corresponds to the Interrupt Request signal from the 2650 microprocessor. This draws PINT, as the instruction, which he was when the PINT signal "low", is complete. The microprocessor 2650 if he does not recognize PINT in the state WATCHT or if there is the INTERRUPT INHIBIT-bit (II) in the PSW in the 0-position. PINT can be used to the 2650 microprocessor from the HALT-state. Not in use! Processor Write (PWR) indicates that the signals on the data bus are valid and can be accepted by the consignee or memory output. Data Processor Bus In (PDBIN) indicates that the 2650 microprocessor reads data from the consignee memory or a INPUT device. PDBIN can be used to the busdrivers of a selected device to go. Address bit 0. Address bit 1. Address bit 2. Address bit 6. Address bit 7. Address bit 8. Address bit 13. Address bit 14. Address bit 11. Data OUT bit 2. Data OUT bit 3. Data OUT bit 7. Data IN bit 4. Data IN bit 5. Data IN bit 6. Data IN bit 1. Data IN bit 0. Not in use! Power On Reset (POR) is an output that indicates that the power supply is connected to the INSTRUCTOR 50, and that the system in the state is 0brought. The output can be used POR peoferie to the equipment if desired also in the 0formation process. Ground. Systeemaarde.

[Page 26:] THE INTERFACE TO THE TAPE RECORDER On the INSTRUCTOR 50 a cassette recorder can be connected to the memory scheduled dates to submit to a magnetic tape. This capability is of great importance if a somewhat larger program has made and the program at any given moment wish to terminate. The disadvantage is that in the absence of the power, including the information from the RAM memory fades. Submit the information before the shutdown of the INSTRUCTOR 50 could register, then they do not lose so they then later again the machine can be entrusted. For that purpose, a normal audio-cassette recorder used. For this purpose included two cords, which can be used the import and export of data to and from the cassette recorder. On a cassette diverse programs can be recorded because the programs each with its own number, the so-called "FILE"


number. Before we start to the registration, respectively. Read, the tape around at the right place. It should be to prevent a previously scheduled dates file overwritten, so it is wise to do, between the various files a proper space open. If we can regulate the input d.m.v. one volume, this around the state to which we normally take an audio signal records. There are some guidelines that we must account in writing, and reading the balance of the cassette. Important Note Some types of cassette recorders have a very high speed automatic volume control. These are less suitable for the INSTRUCTOR 50 to be used. When it comes to afregelprocedure reflected by the absence of a stable "-" indication on the screen and will be only one "d" or a "U" on the screen. It may happen that, when using poor species tape, continuous problems with reading programs in the INSTRUCTOR 50. Usually one sees "ERROR 6" or "ERROR 4" on the screen. The solution to this problem is very easy; only use cassettes of a good quality! Writing to the cassette The key WCAS (Write Cassette) offers the possibility of a programme ready to make the writing to a tape. For that purpose eeerst this key, see Figure 14 a), so that the screen L.Ad. = appears. The INSTRUCTOR 50 is now awaiting the address of the first byte that must be registered. In almost all cases, this byte H'0000' , so that one can simply pressing the button hexadecimal 0, see b). Then we press EXT/NXT, see c), to confirm that This is the address where the first byte is registered. Then we must address indicating that the last byte must be registered. By pressing EXT/NXT, see c) specifies the screen U.Ad. =, ie INSTRUCTOR 50 waits at the address of the last byte must be registered. Suppose that this last byte must be registered. Suppose this last byte at the address H'76 '. One can now enter this address, see d) and e) and confirm by ENT / NXT to press. On the screen than S.Ad. =. One can Now the INSTRUCTOR 50 the start of the programme. This start is not the same as the address of the first byte of information to be registered. It can avoid being in the first 64 bytes of memory has placed a number of addresses in ZBSR connection with the instruction, which uses the first 64 bytes of memory for subroutines, respectively. for referral to subroutines. It would therefore quite possible that H'10 '(address = 16 decimal) address is where the first instruction of the chosen program. By this address to the cassette recorder to ensure trust, will soon fall the instruction adresregister automatically in the correct position. After entering the start, see g) and h), they press the button ENT / NXT , see i), whereupon. F = appears on the screen. Now can I have a filenummer import, so that the registered information is provided with a song and the possible more than one file on magnetic tape to place. In our case we assume that this filenummer 1, and we store this figure so as to see j). Now is the cassette recorder and started the key ENT / NXT pressed, see k). The durrt than about 5 seconds before the program on the cassette is written. During this time, the LED FLAG and , and about once per second. Is the registration from memory


entirely on tape transferred, then gives it to 50 with INSTRUCTOR the word "HELLO", see 1). We can now stop cassette recorder. It is wise to note the number of the state of the indication of the cassette recorder, so that later while reading of information, this Instead approximate know. This will also prevent the following file now displaces the written information. The inclusion of information from memory on tape can be observed on the eight lights left on the control panel. To that end the 3-position switch in the state "EXTENDED". [Page 27:] Afregelen of the cassette If the cassette to read, it is important that it received signal the right level. For the information from the cassette again to the memory transfer, the cassette must be thoroughly until the where the state has been reached to transfer information. The exit of the cassette recorder should d.m.v. the cable on the "phone" bus be connected. In order to regulate the cassette, press one now on the REG key, see Figure 15 a). The INSTRUCTOR 50 is now awaiting the introduction of further information. The contract until the balance is given by the pressing the A button on the hexadecimal key panel, see b). Now appears when playing the tape on the screen a letter. The letter You mean that the level is too low and that the volume So should perform. Si d, then that is too high level of the signal, except that rather than decrease. The sign -means that the correct level is reached. If necessary, a few times back to the beginning of the file in order to repeat this adjustment, especially where relatively little information on the cassette is placed. After it has done to balance, meaning that a dash on the screen appears, you can press the button MON, see e). In addition to the information on the screen, one can also through the LEDs on the I/Oport perceive that the level has the correct value. To this end, the men I/O switch in the middle (EXTENDED). The LEDs have now following meanings: All LEDs: the level is good The most leftist LED and ekele other: the level is too low The leftist LED and some LEDs to: the level is too high Reading the cassette [Page 26:] THE INTERFACE TO THE TAPE RECORDER On the INSTRUCTOR 50 a cassette recorder can be connected to the memory scheduled dates to submit to a magnetic tape. This capability is of great importance if a somewhat larger program has made and the program at any given moment wish to terminate. The disadvantage is that in the absence of the power, including the information from the RAM memory fades. Submit the information before the shutdown of the INSTRUCTOR 50 could register, then they do not lose so they then later again the machine can be entrusted. For that purpose, a


normal audio-cassette recorder used. For this purpose included two cords, which can be used the import and export of data to and from the cassette recorder. On a cassette diverse programs can be recorded because the programs each with its own number, the so-called "FILE" number. Before we start to the registration, respectively. Read, the tape around at the right place. It should be to prevent a previously scheduled dates file overwritten, so it is wise to do, between the various files a proper space open. If we can regulate the input d.m.v. one volume, this around the state to which we normally take an audio signal records. There are some guidelines that we must account in writing, and reading the balance of the cassette. Important Note Some types of cassette recorders have a very high speed automatic volume control. These are less suitable for the INSTRUCTOR 50 to be used. When it comes to afregelprocedure reflected by the absence of a stable "-" indication on the screen and will be only one "d" or a "U" on the screen. It may happen that, when using poor species tape, continuous problems with reading programs in the INSTRUCTOR 50. Usually one sees "ERROR 6" or "ERROR 4" on the screen. The solution to this problem is very easy; only use cassettes of a good quality! Writing to the cassette The key WCAS (Write Cassette) offers the possibility of a programme ready to make the writing to a tape. For that purpose eeerst this key, see Figure 14 a), so that the screen L.Ad. = appears. The INSTRUCTOR 50 is now awaiting the address of the first byte that must be registered. In almost all cases, this byte H'0000 ' , so that one can simply pressing the button hexadecimal 0, see b). Then we press EXT/NXT, see c), to confirm that This is the address where the first byte is registered. Then we must address indicating that the last byte must be registered. By pressing EXT/NXT, see c) specifies the screen U.Ad. =, ie INSTRUCTOR 50 waits at the address of the last byte must be registered. Suppose that this last byte must be registered. Suppose this last byte at the address H'76 '. One can now enter this address, see d) and e) and confirm by ENT / NXT to press. On the screen than S.Ad. =. One can Now the INSTRUCTOR 50 the start of the programme. This start is not the same as the address of the first byte of information to be registered. It can avoid being in the first 64 bytes of memory has placed a number of addresses in ZBSR connection with the instruction, which uses the first 64 bytes of memory for subroutines, respectively. for referral to subroutines. It would therefore quite possible that H'10 '(address = 16 decimal) address is where the first instruction of the chosen program. By this address to the cassette recorder to ensure trust, will soon fall the instruction adresregister automatically in the correct position. After entering the start, see g) and h), they press the button ENT / NXT , see i), whereupon. F = appears on the screen. Now can I have a filenummer import, so that the registered information is provided with a song and the possible more than one file on magnetic tape to place. In our case we assume that this filenummer 1, and we store


this figure so as to see j). Now is the cassette recorder and started the key ENT / NXT pressed, see k). The durrt than about 5 seconds before the program on the cassette is written. During this time, the LED FLAG and , and about once per second. Is the registration from memory entirely on tape transferred, then gives it to 50 with INSTRUCTOR the word "HELLO", see 1). We can now stop cassette recorder. It is wise to note the number of the state of the indication of the cassette recorder, so that later while reading of information, this Instead approximate know. This will also prevent the following file now displaces the written information. The inclusion of information from memory on tape can be observed on the eight lights left on the control panel. To that end the 3-position switch in the state "EXTENDED". [Page 27:] Afregelen of the cassette If the cassette to read, it is important that it received signal the right level. For the information from the cassette again to the memory transfer, the cassette must be thoroughly until the where the state has been reached to transfer information. The exit of the cassette recorder should d.m.v. the cable on the "phone" bus be connected. In order to regulate the cassette, press one now on the REG key, see Figure 15 a). The INSTRUCTOR 50 is now awaiting the introduction of further information. The contract until the balance is given by the pressing the A button on the hexadecimal key panel, see b). Now appears when playing the tape on the screen a letter. The letter You mean that the level is too low and that the volume So should perform. Si d, then that is too high level of the signal, except that rather than decrease. The sign -means that the correct level is reached. If necessary, a few times back to the beginning of the file in order to repeat this adjustment, especially where relatively little information on the cassette is placed. After it has done to balance, meaning that a dash on the screen appears, you can press the button MON, see e). In addition to the information on the screen, one can also through the LEDs on the I/Oport perceive that the level has the correct value. To this end, the men I/O switch in the middle (EXTENDED). The LEDs have now following meanings: All LEDs: the level is good The most leftist LED and ekele other: the level is too low The leftist LED and some LEDs to: the level is too high Reading the cassette For information on the cassette again to be transferred to the memory, they must be read. Reading has been prepared by the balance the cassette, and we assume that the correct file just before the reading present. Now, see Figure 16, RCAS pressed the button, see a). On the screen appears today. F =, which means that the INSTRUCTOR 50 on the number of the file is waiting. One can now filenummer today. In our example, it is 1, see b). On the screen then. F = 1. It could filenummer


confirm by the ENT / NXT-key, see c). Now, the cassette recorder started. After reading appears on the screen the word "HELLO". The cassette recorder can then stopped. Reading information from the tape to the memory can be observed on the lights left on the control panel if the 3 -standings switch in the middle "EXTENDED" is put. [Page 28:] Construction of the INSTRUCTOR 50. [Not reproduced.] [Page 29:] Detailed construction of the INSTRUCTOR 50. [Not reproduced.] [Page 30:] MEMORY AND I/O-ORGANISATION Fig 4. Memory and I/O organization. HEXADDRESS MEMORY +--------------------+ 7FFF | TO EXTEND RAM | ~ AVAILABLE ~ ~ FOR THE ~ 2000 | INFORMATION | +--------------------+ 1FFF | RESERVED | 1800 | FOR THE MONITOR | +--------------------+ 17FF | USED AS | 17C0 | MONITOR-RAM | +--------------------+ 17BF | USERS-RAM | 1780 | | +--------------------+ 177F | UNAVAILABLE | 1000 | | +--------------------+ 0FFF | <-+| TO EXTEND RAM | | AVAILABLE FOR | | INFORMATION | 0200 | | ADDRESS +--------------------+ 01FF | FOR INFORMATION | 0000 | AVAILABLE RAM | +--------------------+

'0FFF' IS ADDRESS OF I/O

HEXADDRESS EXTENDED-I/O +-------------------+ FF | RESERVED | F8 | FOR MONITOR | +-------------------+ F7 | | | FOR THE |

PORT

| INFORMATION | OF | AVAILABLE | I/O 00 | <-+- PORT +-------------------+

[Page 31:] READING CPU REGISTERS AND PSW (Program Status Word) Fig. 5. Reading CPU registers and PSW. KEY

CARD

COMMENT

'07' IS


a)

REG

r=

THE INSTRUCTOR WAIT ON A NUMBER

b)

4

.r4=A8

CONTENTS OF THE REGISTER 1 BANK 1 IS H'A8'

c)

ENT NXT

.r5=B6

CONTENTS OF THE REGISTER 2 BANK 1 IS H'B6'

d)

ENT NXT

.r6=A4

CONTENTS OF THE REGISTER 3 BANK 1 IS H'A4'

e)

ENT NXT

.PU=0A

THE CONTENTS OF THE PROGRAM STATUS WORD UPPER IS H'0A'

f)

ENT NXT

.PL=21

THE CONTENTS OF THE PROGRAM STATUS WORD LOWER IS H'21'

THE PSW CONTENTS IS H'0A21' [Page 32:] READING AND CHANGING CPU REGISTERS AND PSW (Program Status Word) Fig. 6. Reading and changing CPU registers and PSW. KEY

CARD

COMMENT

a)

REG

r=

b)

4

.r4=A8

CONTENTS OF THE REGISTER 1 BANK 1 IS H'A8' THIS IS CHANCE A8

c)

E

.r4=E

THE CONTENTS OF REGISTER 1 BANK 1 IS AMENDED TO H'0E'

d)

2

.r4=E2

CONTENTS OF THE REGISTER 1 BANK 1 IS AMENDED TO H'E2'

e)

ENT NXT

.r5=B6

CONTENTS OF THE REGISTER 1 BANK IS NOW 1 FINAL H'32' BECAME

INSTRUCTOR THE WAIT IN A NUMBER

[Page 33:] READING STORAGE Fig. 7. Reading storage. KEY

CARD

COMMENT

a)

MEM

.Ad.=

THE INSTRUCTOR ASKS FOR AN ADDRESS TO THE SELECTION OF AN GEHEUGENCEL

b)

4

.Ad.=4

THE MOST SIGNIFICANT MARK OF THE ADDRESS IS AANGESLAGEN

c)

2

.Ad.=42

MARK THE FOLLOWING IS AANGESLAGEN

d) ENT NXT H'A5'

.0042 A5

THE CONTENTS OF THE GEHEUGENCEL H'0042' IS

e)

ENT NXT

.0043 B7

THE CONTENTS OF THE FOLLOWING GEHEUGENCEL (HERE H'0043') IS H'B7'

f)

ENT NXT

.0044 05

THE CONTENTS OF THE FOLLOWING GEHEUGENCEL (HERE


H'0044') IS H'05' [Page 34:] READING AND CHANGING STORAGE Fig. 8. Reading and changing storage. KEY

CARD

COMMENT

a)

MEM

.Ad.=

THE INSTRUCTOR ASKS FOR AN ADDRESS TO THE SELECTION OF AN GEHEUGENCEL

b)

4

.Ad.=4

THE MOST SIGNIFICANT MARK OF THE ADDRESS AANGESLAGEN IS AND IS 4

c)

2

.Ad.=42

MARK THE FOLLOWING IS INTRODUCED

d) ENT NXT

.0042 A5

THE CONTENTS OF GEHEUGENCEL H'0042' IS H'A5'

e) 6

.0042 6

ON THE CONTENTS OF GEHEUGENCEL H'0042' IS A CORRECTION EXPORTED

f) 4

.0042 64

THERE IS STILL A CORRECTION EXPORTED

g) ENT NXT

.0043 B7

THE CONTENTS OF H'0042' IS NOW FINAL H'64'. THE CONTENTS OF CEL H'0043' IS AND IS SHOWN H'B7'

[Page 35:] FAST LOADING OF THE MEMORY Fig. 9. Quick loading of memory. KEY

CARD r=

COMMENT

a)

REG

THE INSTRUCTOR WAIT ON A NUMBER

b)

F

.Ad.=

H'F' IS AANGESLAGEN. NOW THE INSTRUCTOR ASKS FOR AN ADDRESS

c)

1

.Ad.=1

ADDRESS THE MOST SIGNIFICANT-MARK (H'1') IS AANGESLAGEN

d)

2

.Ad.=12

MARK ADDRESS THE FOLLOWING IS AANGESLAGEN

e)

ENT NTXT

.0012

GEHEUGENCEL IS THE CHOSEN H'0012'

f)

A

.0012 A

FIGURE IS THE FIRST IN THE H'0012'-CEL AANGESLAGEN

g)

1

.0012 A1

MARK IS THE SECOND AANGESLAGEN

h)

F

.0013 F

MARK THE FIRST OF THE FOLLOWING CEL (H'0013') IS AANGESLAGEN

i)

E

.0013 FE | etc. | |

IS THE SECOND FIGURE IN AANGESLAGEN CEL H'0013 '


j)

MEM

.Ad.=

RAPID IMPORTS IS THE END AND THE STEP-BY-STEP FOR IMPORTS (IN FIG. 8) IS NOW EXPORTED

[Page 36:] SHOW AND CHANGE OF THE IAR (Instruction Address Register) Fig. 10. Show and change the IAR. KEY

CARD r=

COMMENT

a)

REG

b)

C

.PC=0017

THE CONTENTS OF THE IAR (PC) IS H'0017'

c)

2

.PC=2

THE IAR IS AMENDED

d)

8

.PC=28

MARK THE FOLLOWING IS FOR THE IAR AANGESLAGEN

e)

ENT NXT

r=

THE INSTRUCTOR 50 ASKS FOR A NUMBER

IAR IS THE FINAL WITH LOADING H'0028'

[Page 37:] STEP-FOR-STEP FUNKTIE Fig. 11. Step-by-step function. KEY

CARD r=

COMMENT

a)

REG

b)

C

.PC=0017

THE CONTENTS OF THE IAR IS SHOWN (H'0017')

c)

1

.PC=1

THE IAR IS AMENDED

d)

2

.PC=12

FOLLOWING THE MARK OF THE IAR

e)

2

.PC=122

THE FOLLOWING FOR THE MARK IAR

f)

ENT NXT

g)

STEP

0124 CA

THE INQUIRY ON H'0122' IS AND IS PERFORMED 2 BYTES GREAT; THAT THE FOLLOWING INQUIRY CAN BE EXPORTED TO H'0124' AND IS H'CA' (STRR, R2)

h)

STEP

0126 CC |

INQUIRY ON THE H'0124' IS AND IS PERFORMED 2 BYTES GREAT AND THE FUTURE BEGINS INQUIRY

r=

THE INSTRUCTOR ASKS FOR A NUMBER

IAR IS THE FINAL WITH H'0122' LOADING

INTO

i)

REG

| | r=

CEL H'0126' AND READS H'CC' (STRA, R0) THE STEP-BY-STEP FUNCTION IS TERMINATED

[Page 38:] THE APPLICATION OF A BREAKPOINT IN THE PROGRAM Fig. 12. The fitting of a breakpoint in the program. KEY

CARD

COMMENT


a)

BKPT

.b.P=

THE INSTRUCTOR 50 ASKS FOR THE FIRST GRADE OF THE BREAKPOINT

b)

1

.b.P=1

THE FIRST MARK AANGESLAGEN

c)

5

.b.P=15

THE SECOND MARK AANGESLAGEN

d)

4

.b.P=154

THE THIRD GRADE IS AANGESLAGEN

e)

ENT NXT

.b.P=154

THE BREAKPOINT IS FOUND ON FINAL ADDRESS H'0154'

f)

BKPT

.b.P=0154

BY THE REFLECTIONS OF THE BUTTON IS THE BKPT BREAKPOINT SHOWN

g)

BKPT

.b.P=

THE BREAKPOINT BE ELIMINATED

-0154 C0

THE PROGRAM IS ON THE BREAKPOINT TO ADDRESS H'0154' ARRIVED AND LET THE FOLLOWING INQUIRY H'C0' (NOP) SEE

h)

[Page 39:] Fig. 13. Bottom of the INSTRUCTOR 50. [Page 40:] WRITING TO THE CASSETTE Fig. 14. Writing to the cassette. KEY

CARD

COMMENT

a)

WCAS

L.Ad.=

INSTRUCTOR IS THE WAIT ON THE FIRST OF MARK THE MOST SIGNIFICANT PART OF THE LOWEST ADDRESS OF THE PROGRAM

b)

0

L.Ad.=0

ADDRESS IS LOWEST AANGESLAGEN H'0000'

c)

ENT NXT

U.Ad.=

INSTRUCTOR WAIT ON THE FIRST OF THE MARK MOST SIGNIFICANT PART OF THE HIGHEST ADDRESS OF THE PROGRAM

d)

7

U.Ad.=7

e)

6

U.Ad.=76

f)

ENT NXT

S.Ad.=

g)

1

S.Ad.=1

h)

0

S.Ad.=10

} } THE START TO ADDRESS AANGESLAGEN H'0010' }

i)

ENT NXT

.F=

INSTRUCTOR WAIT ON THE NUMBER ONE FILE

j)

1

.F=1

FILE NUMBER IS AANGESLAGEN H'01'

k)

ENT NXT

} } ADDRESS IS THE HIGHEST AANGESLAGEN H'0076 ' } INSTRUCTOR IS THE WAIT AT THE START OF THE ADDRESS PROGRAM

DATA IS TRANSFERRED TO THE CASSETTE TAPE


l)

HELLO

'DATA IS TRANSFERRED TO THE CASSETTE TAPE

[Page 41:] AFREGELEN SIGN OF THE LEVEL OF THE TAPE Fig. 15. Afregelen signal of the level of the cassette. KEY a)

REG

b)

A

CARD r=

COMMENT THE INSTRUCTOR WAIT ON A FURTHER DETAILS

U

TERUGSPEEL LEVEL INCREASE (VOLUMEREGELAAR ON - TAPE RECORDER)

c)

d.

TERUGSPEEL REDUCE LEVEL (VOLUMEREGELAAR ON - TAPE RECORDER)

d)

-

AFSPEELNIVEAU IS THE CORRECT; LEAVES VOLUMEREGELAAR STAND AT THIS STAGE

HELLO

BEËINDIG THE AFREGELEN

e)

MON

[Page 42:] READING OF THE TAPE Fig. 16. Reading of the cassette. KEY

CARD

COMMENT

a)

RCAS

.F=

INSTRUCTOR IS THE WAIT ON A CONTRACT FOR FURTHER

b)

1

.F=1

THE FILE NUMBER IS AANGESLAGEN H'01'

c)

ENT NXT

d)

THE PROGRAM IS IN THE MEMORY LOADING HELLO

THE PROGRAM IS IN THE MEMORY LOADING

END OF DOCUMENT-----------------------------------------------------------


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.