Paper 2378 Minds-ntrs.nasa.Gov · Paper 2378 January 1985 Mind A ... 80-bit broad registers in the 8086 structure defined dynamically random access memory ... An interrupt controller- [PDF document] (2024)

NASA-TP-2378 19850009267NASATECHNICALPAPER2378

January 1985 Minds

An interactive data system for microcomputer for 8086-based controllers

James F. Soeder

[_I_RARGGPY

Langleresearchcei "iteir

Bibliotek, nasa

Hamp2ron, Virginia

https://ntrs.nasa.gov/search.jsp?r=19850009267 2018-07-27T08: 13: 52+00: 00Z

Nasatechnicalpaper2378

Are

An interactive data system for microcomputer for 8086-based controllers

James F. Soederlewis Research Centleveland, Ohio

National Aeronautics OG Space Administration

Scientific and technical information

Summary full standard software systems.Selv then

A microcomputer interactive data system (minds) efficiency is required.In a timed or interrupted code maintenance, the software written in the area is.This report describes a certain PL/M-86, Intel Corporation system at a high level to improve problem solving and evaluation of language software.Software of the Mindings is intended for real -time control software.Software for Help Software Routine that works in connection with additional exhibitions of stable and short -lived data.I with control software.Provisions for solving problems.With input and output -SUB programs or control software -performance analysis. User with consoles equipped with PL/M -86, and this report offers an overview of the software package, the assembly language is described, describes the hardware and software environment

Necessary to use the program, details of the internal structure of each of the programs, which are currently implemented and give the currently implemented assignments

Introduction -extensions in reach and application that makes the current software possible.

The more microprocessors have become more advanced, they have started taking over applications that have previously been reserved for more expensive mini computers and computers with a low in mineframe.A few minds softwar tool, the design is to work for Ayears since.Based, must understand that a simple has led to what the software crisis is called (ref. 1).Direct digital control application.1. In these application applications that require advanced software for an interval hour, an interruption generates by a specified RATEFEW programmers to write it.The central treatment unit receives Tement disabled with the help of standard operating systems, it tries the sensor input signals with an analog (e.g. CP/M (ref. 2) of Digital Research and structured to digital (A/D) converter.ccu then uses this programming languages ofHigh order such as Pascal

However, when the use of microprocessors on the calculation of real-time control algorithm is completed, the results of digital control systems are every application and they are implemented to check actuators with digital-to-analogue, each algorithm is unique..as well as information to and export from the CPU to and export

F input sampling/

/ F control calculation / / / / /

/ / /

// / 7 Actuator -output / / / / / / / / / / / /

/ / - /

/

I I I I ISAMPLINGTERVAL --- TID

Character!.- card for digital control time.

Ensuring an operational battery surface and data recording capacity, has tried software for the paging of Minds data to have tried to have TAETC. Without disrupting the control process that addresses has these shortcomings.For the first, Minds is designed for a place in every update interval.Mind's software system based on a popular microprocessor, intelpackage described in this report, offers exactly this 8086/8087.For the others, the generally accepted CP/M-86 capacity uses.To be on leisure time, while the operating element is written in PL/M-86 (ref. 4), a microprocessor version of the algorithm awaits the next update interval-UR-PL/1 language at a higher level, language, language, to help with the programs interrupt, comprehensibility and implementability.

The spirits are intended to offer both stable and ultimate data for variables in and out of hand

Algorithm.can then appear separately or in

Is important as different aspects of the hardware (such a table form to offer a representation of control as a segmented memory disadvantage) influence the decision about decisions.

To implement the Minds -SoftWar package, Amemory includes, picked up and viewed on discs for later Databoard Computer (Intel ISBC 86/12A), that is diesonalysis or planning.Executive controller with diskettical disk and CP/M-86 Discile time control and catch stable statement and registration data when a pre-defined conditions meets, operating system.

Interactive data that Software takes as Minds Garden previously developed, certain functions.BIT address, which resulted in Anumbers.Filling layout.For the third, 8086. The processor contains thirteen 16 -bit registers. Pack buffer input, making it difficult for these registers, includes registers of general purposes AX Andinput assignments., Stack -restricted quantities and therefore had some industrial support and marker SP, also records ES, SS, DS and CS.Winterest.de Vier Segmenter registers are crucial to allow

16 bit segmentregister = 04OOHInstructor Register = OO20H

)

SP Stackpointerbp Basepointersi SourceIndexdi DestinationIndex

CS CODEsem*nTDS DATASEGENSSSS STACKSGGERS, EKSTASIONTIE

IP -Instruction points

Iiiif} lilllllllll -flag

Figure 2. Intel 8086 Register structure."-"]

4020H J 64Ksem*nt8086 to reach its full 1-megabyte address space.Register are the full 1-megabyte Figure 3.-8086 Memory Dressing.

Address room can be obtained using the Formula 80Bits

(Segment * ioh)+ IP = memory location [R0R1

Where H indicates a hexadecimal Tal.seun, the Rzonce Segmenter register is specified, each location NDPStack R3R4, which is between the segment value and the Segment value R5plus 65 535 can be tackled directly by simply changing the R6 value of the instruction point.of this kind of addressing,

However, it is to identify the location of a 16Bitsin memory parameter, not only the instruction r ---- _ Pointers (ie the relocation), but also the segment.] Modern register architecture can generally be found in reference 5.

Figure 4.- Intel 8087 Register structure.8087 Microprocessor chip is a transparent co-

Processor that can be added to 8086 to increase 8086/8087 microprocessor pair as the central processing instruction set and architecture.Ram and 32 kilobyte remove, programmable only read memory (eProm).Plate Coprocessor amplifier 8086 Instruction set with also 24 parallel entrance/output lines, which uses the 80-bit-wide registers to make to make

Interfacing, an RS232-compatible serial input/output portfloating points arithmetic, trigonometric characteristics and used to interfaces with a cathoden jet pipe, two program rhythm IEEE-Fluing-Standard.

An interrupt controller that is able to accept eight external information on 8087 COPROCESSOR -CHIP is found in or internal interruptions.

With liquid numeric capacity.Until the latter is TheisBC 86/12A Microcomputer 86/12a Multibus -Compatible.multibus/IEEE 796

The ISBC 86/12A computer with one room (Fig. 5) is a standard microprocessor-back interface bus that drives the Minds software, a 5-MHZ originally developed by Intel.brug of this standard set of

.3-81-1670

Figure 5.- USB C 86/12A single space computer.

Floppy disk

/_C disk]

Q2a -controllerhjælp d/a

In ---- i%highest priority the lowest priority

Figure 6.- Mindshardwareconfiguration.

Address, data, electricity and control lines facilitate the memory.86 Operating system is a general goal, 86/! 2A, and the Multi-Bus can be found in references 7 users Operating system brought on the market by Digitaland 8. Research, Inc., from Pacific Grove, California.Aperto-en-

Successful operation of the Minds package in a real Ring system offers facilities to make the Console's communication-time digital control, requires in addition to Tions, program bodies and unloading, disc file management, 86/12a card, multibus's boards of the next and rudimentary computerMemory check.(Fig. 7) Show that this configuration shows this configuration in more detail, this computer computer shows in the highest priority castle of 65535multibus.A converters, which updates this law in the specified sampler network.The disc controller cannot be interrupted after each bus cycle,

Transparent operation with the direct control algorithm 12031 can be guaranteed. The output system On this hardware configuration you can find Inverence 9 and Appendix A. BasicDisk -control system

CP/M-86 DiskoperativSystem ConsolecommandProcessor

As mentioned earlier, the Minds program was interrupted by the 1024 designed to use a permanent storage medium (floppy 0Disk) to store data extracted from the figure 7 of the computer.-ISBC 86/12A memory configuration.

4

CP/M -86 is located in the lowest part of the memory and simple software tasks within direct digital control, which occupies around 12 kilobytes.Area for then 0.6 kilobyte memory programs and an interrupt vector table to a diagram of the software gianarchy between the operating system and the use of use.CP/M -86, Mind and Real Time Control (Fig. 8)

The operating system has three main components: show that a real-time director is directly linked to (1) Console Command Processor (CCP) Control-Algorithm and since software.This is (2) Basic Diskoperating System (BDOs) represented by the Solid Solid Lines that connect, connect three (3) Basic Intovies/Output system (BIOS) modules.This combined software module reads in

CCP accepts all assignments entered from the main memory of the microcomputer by using the CP/M-86DE console, interpreting and taking the correct operating system, as shown by the dotted line-interconce action to see that they arecompleted.His names.In this environment, the facilities of the subroutine offer to open, prepare, read and organize files, a general operation strip surface, stable-one diskette disc.And can read and write disk files, application programs.Memorate uses a standard configuration.extreme to offer an orderly format -Minds software, can be subdivided into four logical for data storage and collection, blocks (Fig. 9).

BIOS contains all the hardware addicts of Suboutines. The important subbroutines contains in the Formation that is needed to make CP/M-86 work in each block, is mentioned in Appendix B. Minds Mainparticular computer configuration.This includes definitions of variable names, stable definition, stable definition, stable of the disc layout (ie number of tracks, state table definitions, information storage and number of sectors, number of by -diverse tasks. Monitor Andaddress and import format for the console -Device Debug -part of the main memory line printer and memory configuration of as a whole number, words, or real number and the RegisterCP/M -86 can easily be configured for a variety of data of the meetings., data blocks offers everything needed to take and save

How the operating system loads programs are important data in the short term.

In the understanding of the Spirit.When CP/M-86 finally works, the input/output library program on the counter gets the disk program and placed in CP/M-86

Operate the upper part of the memory (ie the location with the highest memory system).

And under the application program it is still available to be] i

assigned (administered) by CP/M-86 for applications II

The use of the program.Further information about CP/M-86 and the IAPplications environment can be found in reference 10.

In Echt! Time Software Overview Executive

As mentioned earlier, CP /M-86 is a operating system for one users.It does not perform multitasking.A real-time application /

More tasks are performed.

Kation with CP/M-86 must have a subexcutive or real-control executive, routine for service intervalims, algorithm-mind-interrupt controllers and A/D and D/A converters and to express a control algorithm and mindfeed.A Figure 8.- Software hierarchy.

In Mindsmain [take values from 0 to 65 535 (ie 216-1).

I

ogsteady-

State data] a signed 16-bit piece of data (two bytes) that can take on-Both-positive and negative values, because BIT 15 is the sign of the complement.In done, a real number is a signed four -Byte data type consisting of a mantissa and exponent that can vary in

I rate from 8.43 × 10-37 to 3.37 × 1038 (ref. 6).

Mind Minds From these definitions of which data types Aremonitor Transientanddebug data available, the format for the designation of a minds data

Item has been conceived (Fig. 11).

_ _ Contains at least four and possibly five pieces of information:

I remember (1) an element name that consists of a signs for Sixinput/0tutput J Alfanumeric, of which the first alphabetical Belibrary must be;

Figure 9.-Mind-Package-Interconnection.

Console and printer.) Certain Port.log has no Sophis (4) for heroic data elements a scale factor has been recorded. Tiknet -input/output structure such as Fortran or Pascal.There is no scale factor for a data element of the "Word" type

A detailed discussion of the work and the operation of necessary, because it is considered only a non -supporting part of these four large code blocks or software numbers that represent a pure hexadecimal value. Modules, follows.inring can be considered real numbers as pure values

Because they vary over such a wide range that most values ​​can be displayed in a physical system in

Main software module the real format.Holdtal represents a different situation.

DALA ENTEMEFINITY IN Different applications can be advantageous that some or all internal central variables are like entire numbers

Before a discussion can start with the functioning of the rather than real numbers.Faster than the real control of manipulation of data elements.Given a prescribed set of attributes. MINUTE VARIANTEGER or HASPEL.

The figure shows that a word is an unavoidable 16-bit processing, each entire data date contains a scalaat of data or two byteg data.The data type can do factors.

The value is made, it is changed by the element respectively

Byte.0to255 scale factor for display purposes.This makes it possible to process the entire numbers 7 as real numbers.

L J Word, 0 Tot 6553515 0

Isl] Gereel Geetaln, -227268 Tet 32767 l _ _ _ _ 1 to I I I I

ISL EXP I MANTISSA I REAL, 8.43x10-37

Figure 10. Definitions of Data Type.Figure 11.- Minds-Date Eleking.

Manipulation purposes can be immediately processed with element name followed by an assignment operator;

Assignment structure Name = (CR)

Input assignments of the Mind Head, where "name" is the name of previously defined data and software blocks in the short term (Fig. 9) Follow one of the two two

Item and "=" is the assignment operator who requests

Operator and may not contain "name" of a location name. Data -element.a command operator is either an Asciipunuduation Charist or an ASCII control person.

Command interpretations of Ascii -Sign settings are ...., ....., ";" and "!"Operating signs are "CNTR P", "CNTR 0", the method with which input assignments are interpreted "CNTR H" etc.. Is a type I-commandero prety of the real-time subexcutive program.Nkelt Give

Introduced, an assignment is stored in the Invoerlees buffer.

Module (Fig. 9).How library work is described on where "?"A request is to print certain information data later in this report.When importing the consumption "(CR)" is a carriage (indicated by the occurrence of an asciicompletie of an assignment series and to start the carriage), the first character of the first character is investigated Tumblware -interpretation and processing of the assignment.Not type in the input assignment would be alphabetical, assuming that it is the assignment operator of

Type I format.

Match, assignment processor - software is true ":" A request is to add numbers (or data that the remaining entry series may read of Teelements) H1 and H2.an Type II layout contains a data entry buffer and processes the full assignment. It

I start

Input commandline for buffer

Fake _ sand

Input character

Call in error, _

Command returns to

, RO Eisor Start:

Return to start

Figure 12.-Minds Control assignment structure.

7

The program then returns for multiple assignment entry.is of type II.Under these circ*mstances are the respective shift.To what was made.In both cases, the specified data element is scale factor.A less than the six program uses the scale factor to manipulate the final name, is input, the name is filled with spaces to element.Only make data elements of the entire number -type -type six characters have a scale of factor.and real data elements have none

Every time a keyboard input is given to Minds Scale Factor;That is why manipulating these two types of software, the commander goes through the stacking elements that result in the use of the actual described bit pattern. Extraction of an assignment, processor processor printsan -ror message.minds -ror codes is indicated in the assignment to tabularpendix C.to manipulate C.

Nine commands ensure direct manipulation of data elements defined in the master table.

Disease element pointer Table classification Orders use type II commandorm and three use

As mentioned earlier, data elements are used in the I.Steady -State and transient data collection processes._ ", used to define and manipulate data elements. When the definition of a previously defined data fencing is defined, the information is stored in an element with a new data element;"& "Uses parallel data tables (Fig. 13). Data element;"#"used to show the value of the data that six bytes reserves for each name of data element. The data element to a certain value. The display ofThe 8086 parallel tables are names of less than six characters, values Segmant registration values for the current loaded with spaces can be loaded in another signs "W" every time the size of the program as a word, completely number or realisticNumber changes.

will also change.

-------_ __ of definitions for data element segment.More detailed

Assignment and standard settings for each assignment '(256) Get Appendix D.

(512) 1512)

Stable software for data collection

I, the possibility to take and show tables of values

I (I024) Controls stability data is one of the most important possibilities of the Spirit to perform this task, pro-

Vision must be made in the program to make tables with data elements to collect the values ​​of the data elements

))

Operator.de The following sections discuss each of these stable methods for data collection and the implemented solutions.

To use the possibilities that are built into the Minds Pack,

Steady-state-data table layout The user must be aware of the problem of data due with stability data.Taken a steady-state data

To make the stable data collection of the mind, such as during the control calculation with inactive time, the control that may be flexibly possible in the control element can change the control element.This, if there is something.LMT, and update interval and some in the following, all data, such as Maydata $ $$ Bias that together defines Steady -State, does not match exactly.. The index values ​​that have a certain data element in the various factors can affect how much data SKEW Resultsmaster Data Element Storage layout (Fig. 13).$ bias table to define boundaries in output alternative for variable, the number of DATAKWW ISDATA $ tab, all four of the logically individual data, depending on the speed of the output unit. In data collection for data collection before the Aredata $ tab $ bias, itFirst element 256 and the print is delivered to eliminate this problem.Values ​​of words, whole numbers, zero), which means that logical data Table 1 eliminates in a transparent way and real data (Fig. 10).Problem, because words and honest dataray.Trisent occupied tables 2, 3 and 4 from 406 to 456 two bytes, but real data occupied four bytes.The mechanism is used to indicate for the data collection of the maximum size of data $ $ tab. Table (Fig.15) stores the logical element index stored in each data table.In this data element indexes there are simple numbers that are linked to the first element of the data of the $ lmt -Array data with variable names.Small as zero If there are no elements in the table or as a value, it is easy to determine whether two or four byte data dates such as 150 is full.This gives a practical thing to be stored alone.And print data, but is displayed in Figure 2, the address of each data tool is also by determining when a data table is full.Register of course, an increase in data data is realized on the $ bias tab The size of the logical data to load overhead, and therefore data is aware of if desired.Tabre increased to make so many logical data tables as collected element value.The zero to the data table structure.Every time a data element definition is added to the mast table, the correct index value is automatically added to logically stable status real/Wordflagbit (1 -real, sampling of table zer. This table can then be collected with 0 • Word/Integerh data Elementsex The automatedData collection assignment discussed in an Atlater section.

I0 2561061, 61 ,, 6'ioata 'ab, o, as, 6wor ° ,,

Ioloojoiofoata "A0, LM ,, WOR °, Figure 14. Minds Stable Sampling Data Construction. Figure 15.- Real/Integer Flag Bit in Data $ tab.

9

Where this SEGMANT Register Heradoad would be, is superfluous command ", which adds a currently defined data and therefore valuable time in data recording, element of a current open data table.More detailed

In order to meet all this data restricts, assignments and standard values for the data elements are also

Entire numbers or words and they are all in the same 64k firing manipulation command.Fashion B is used when all data elements

are either completely number, but is located in various 64k CP/M -86 file structure segments.Fashion C is used when the data elements of the Arereal, the whole become number or words and register the same 64k -sment.an for the main reasons for the main reasons for using an off -mode D when the data elements are realistic,Completely number, the operating system such as CP/M-86 is the possibility to order but to occupy different 64K segments.Time CAN states A to C are intended Capacity can be carried out via a 36-byte data that is assumed that data waves are reduced in cases where the data structure is known as File Control Block (FCB).As the drive number Filetot for this fact.

More information about the operation of file control

Data display is available in references 2 and 10. Dapl/M-86 is a system implementation language, no

Once the stability data has been collected, they are provisions for direct manipulation of FCBs.For the data elements. Only print the values of the data elements and format 3.These routines are also documented, together with the printing of their calling sequences. These table output formats ensure sufficient rich

Choices for processing the most stable data production when storing and collecting program definitions Device Printer Speed is not critical.

A program like Geest would not be very useful as

Steady-State Data Collection assignments Data element Definitions and stable data table Sampling definitions can be entered every time

Seven commands are used to manipulate the steady program has been restored., and one of them is the type of store respectively and collects all the definitions that are.data table;"@", to remove all definitions for a certain check, these can be collected by the data elements defined in the currently open table;D.IWLY Open Data;"]", To add a new line to

Currently Open Data Babination and "\" to collect data and automated Steady-State Data collection of the currently specified data table.type II

In test situations where data should be stable

\ Oi, 1 format that is quickly acquired or needs to be archived for a long period of nine nine alt2e pt2e] time, perhaps before reworking, an automated data

Fris PBE MHE NLE in 1 accounting process is defined.

20002-030000000100000058991-03 26000-03) Using Logical Data Table Zero in mind 49500-02 25000-02 95002-01 66000-01 Collection structure.The table contains everything

+\ D102) Index numbers for all data elements that are defined

20002-03 0000000 1000000 58991-0326000-03i 2 Minds Master Tables, the values of all Data49500-02 25000-02 95002-01 66000-01 Items can be stored in thought-stable data+\ 01.3) Collection of Collection of CollectionOr collection or collection or collection or collection or collection or collection or collection or collection or collection or collection or collection or collection or collection or collection or collections.If this is done, this data may, this data can

PLA MNE ALT TT2E PT2E T3 is stored in a CP/M-86-Datafil on the disc.

Figure 16. Form of a stable static display, corresponds to an operational reading number, such as this

10

Represent special data.The format where every assignment makes the addition and drawing of Twethes measurements possible is stored on the disk discussed in hexadecimal or decimal numbers.Data file of the disk and restore it in an intervening data collection buffer.The pre -defined logical data tables (IU Table 1 to data collection Software4) can then be printed using the data obtained from the disc.

Commandos for automated data display when analyzing a control or simulation system that the general behavior is only in significance for his

Five commands are used in automated steady-state steady-state setpoint.That is why Minds program data is taking.collected.This capacity is displayed in Figure 9 Data and keep them in a temporary buffer;The short -term timer and interrupt ";", so that logical data tables can be 1 to 4 controller, automatically manage the memory of what is printed using the data that has been collected from the disc;In it ...... -assignment to update the name of the recall procedure for short -term information.Defined file where data must be stored.

Various assignments The process of sampling temporary data is shown in Figure 17. The lower half of this number is direct

Six assignments, the entire type I format, helps with the timetable of the program management, previously explained as Figure 1. Operation does not play a role in the data element because this task with sampling data, control calculation, manipulation."And" <"Entrying access to and digital-Analoge Converter (DAC) output takes place as the passing sampling program and the monitor of Atmind, the highest available priority, it goes further as it should, respectively. 9. Second,"."Stop required, a separate timer is used as a short-term sampling of the main assignment structure of the Spirit. Package to have a lower priority than that in control does not intervene with a CP/M-86 disk folder andDelete a file transfer process a CP/M-86 drive.

Test interruptions -_ ....... _ J-R transient

",, ........ _-...__ _ _ - / facts

T _ ....... t] -_ 100 ° llect ° n

/ U ;;/ i i "'"

Figure 17.-direct control with short-term sampling.

11

Takes place, a frame of short -term data is collected and stored logical data collection tables with partitions about the values of the free memory of the control computer.Sweo.tran $ The $ lmt -array tab offers a count of figures 17 illustrates, though, though, though, though illustrates, though, though, though illustrates, though, although illustrates, though, although illustrates,Although, though, though illustrates, though, though, though illustrates, though, though, though illustrates, though, though, though illustrates, though, though illustrates, though, though illustrates, though, although illustrates, though, though, although illustrates, though, although illustrates, though, though, though illustrates, though, though, though illustrates, though, though illustrates, though, though, although illustrates, though the short -term sampling number of elements illustratesof each table.This allows Easyinterrupt to occur at any time, the actual collection of the number of variables can be sampled.Data tables There is no logical tablet time.

Since sufficient data frames have been collected, it is unlikely that the time history of more than a small disturbance sampling interval to take into account the full length of variables would ever be needed.

Since a separate timer is spent to activate the starting placements of each of the memory parts that spend the process in the short term, the asynchronous can be performed for storing the respective data element transit.For a logical transient in general, the temporary sampling interval is greater than the table at the same time.

Data collected to have sufficient confidence for plot and during a short -building each of the time stories for the Tetransient -analysis purposes without large quantities of respective Mind -Mind data elements that are placed in memory to save intermediate points that would memoryare.Fordi size of this free memory can be varied to be different, between 64 kilobytes and 1 megabytes, depending on

Used processor card is needed to use the memory control functions that are built into CP/M-86

Conversion sampling data - operating system to allocate the memory of an intelligent fashion.

Structures and memory allocation Figure 19 represents microcontroller memory as assigned

There are two different data structures in the short-term CP/M-86 when collecting short-term data.

Sampling that.

Tells which data elements should be sampled.The other memory locations available in respective values ​​during the temporary microcomputer.The free memory for storing transient

Minds Dynamic Sampling Data Structure (Fig. 18) variables are between the upper part of the operations that are used in many ways to store a stable system and the lower part of the implementation tables of the version/condition.

256 Definition indexes for data element to indicate what data 65536 item should taste.

TransientVariable1i] I 0 _'-_ l_l_ transstore $ fane (64W ° rds) transientVariable2

TransientVariable3

Transient

I III FREEMEMORY0 0 64 128 192 256 Transtab $ bias (6Words) 12031

CP/M Operating System

1024

000 [_ [_ [_ lo_ tran $ tabslmt (51Words) 0InterruptVectortable

Figure 18.- Minds Dynamics Sampling Data structure.Figure 19.- Mind's temporary sampling memory meat.

12

His time history (Fig. 19).This is made by Minds -Sampling Parameter Commandransient -Softwar (Fig. 9) in connection with

Four Type I commands are used to control the SamplingCP/M-86 operating system.The parameters for partition assignments.desse commands are used to show the thestart just below the executive/control/mind programming amount of memory available for sampling and to show and "Build Up" in het hoofdgeheugen in de richting van de top van

And change the short -term sampling interval and the temporary operating system.The size on the partition for every time

Sampling length.Four commands are as follows: History is a function of the data element type (real, "%", the operator invites you to go into the desired sampling or words), the duration of the history of time and sample;& "They show the moment that is acquired, and the sampling interval between data points, selected sampling parameters;"[", Toon

Because each of the logical temporary data tables can be available with maximum memory with the program loaded

Contains every combination of words, real or heldozige data elements and all transients that have been disrupted. Length or sampling interval in the temporary history of ice that is, the memory storage parts must also be that data collection.Meet the special logical transient data -free memory to) one of the four logical temporary tables.

Assigned memory.Assignments for data software software

Data Store Command -Command structure of the short -term data recordings is

The same as the most important mind program.These assignments on the data storage make the sampled data that the Tocommand structure is entered using the assignment "-" is stored for later analysis.Again, all type I. is identically hidden on the disk to be restored to the free memory;“They are shown in Figure 12. This assignment structure has the sampled data that live in the free memory to the meaning II and II assignments, as described in the past. Use the same size as in the main name of the disk file, where the collectedGoing to the message program, but in this case the items influence the items.

The operation of the short -term data package is reasonable

Table definition assignments simple because most functions for critical data management are automatically taken care of.

The short -term table definition assignments are comparable to the use of the program, a logical temporary data data must be described in an earlier section for stable state filled with data element names using "," Data.fem of the assignments are type 1 assignments;Command.Last paragraph removes from the elements of the logical data table assigned to the Shareholder Open Short Term;With the help of the "\" command."? The current items in a designated transient data are submitted on a disk to be used later by using the item"*"in a short -term data table, and" _ ", you age an assignment, printed or uploaded to a mainframemember of the current openDataBAIFE WITH A different data analysis system "

13

Completion of the passing sampler to the most important spirit]. Monitoring point] command structure.

Take data, many situations require the data

Synchronized with an external signal.This can be made that I can easily enter input commandline Iquite, such as the sampling routine by |

"V" Command is the public access point Sampint1 t_

) . 9).

Monitor Package I CallrestSpective [I Senderrorth Third Operational Block of the Minds Package Command Processor message

Figure 9 is Minds Monitor and Debug.a in Imonitor is usually the first piece of software obtained

A microprocessor;It lets the user show the return ° in i .e rn oimemory, display and change the processor registers, perform inputtooint -inpoints and break breaks or fall in these programs.Monitors, it extends some of these functions, and it changes some functions to let the software find more useful functions in every standard monitor, each of which has the real -time check.of these functions and important facts in the screen environment.

Their sum and difference in decimals or hexadecimalen.

The order structure of the screen is somewhat memory.

Hexadecimal number between 0 and 255. View the spiritical temporary blocks (Fig. 12).The real number appears, a memory is recognized.a valid one when a whole number is displayed, an optional scale

Factor can be defined in the assignment rule.The Accordo. if it is valid, the respective assignment

Scaled fracture number is sent with a number of dependent processor to analyze the rest of the assignment on the defined scale factor.And to implement it.Selvom names of the data element are

The "S" assignment works in about the same way as asking for the screen block they are not used to

Display -Command. ”

Variable type in this assignment has a corresponding scal stand -monitor -function factor.This allows the entire number variables to be treated as

Minds Monitor has the four standard monitored fracture numbers with their display subsequent assignments to manipulate the memory.Desse assignments are in technical units., to fill in a large block of successive memory placements of a memory segment;"S", to set a row with a certain piece of data.The importance of the concise

14

Only assignment structure only byte, words and real data can insert breaking point in the executive code.Thebe was used in this instruction.

They appear when breaking point is reached.

collected when breaking point is reached.

Assignment only prints the current values for the implementation of the program and then falls to the screen when

Segmenter registers so that placements can be achieved quickly. The assemble -language error of application software. Errors can occur briefly or only through certain values overview of the detected inputs It would be useful to be able to only be fulfilled.Try to set the conditional effect of the Minds package is input/output break points with a standard monitor while this library is not changed.Numbers facilitate the condition is not satisfied with the requirement of significant code and messages to a console or line printer and makes a high patching and possible recovery for every new condition level assignment for the CP/M-86 file system.Set and breaking point of a library like this is necessary because PL/M-86 is AEXECUTION ROUNTINES that tackle these shortcomings.Libraries are usually a place in the 1-megabyte address of the microcomputer present in language such as Fortran or pascal.rum.ar the second, when this breaking point is reached, it makes it possible to follow the discussion the general conceptual for the collection of8086 registries and the status flag structure in this library.Supplements B offer Callenalong one of the four Steady-State data tables, sequences used to gain access to the routines in the library, where only breaking point data is adjusted in the case of software interface. That a certain condition is met.Breakpoint -Specification is set by means of a data element and indicates the library structure that it must be "larger than", "less than"

The overall structure of the mind -input/outputor "equal."Before the breaking point specification is paid, the control process remains unobstructed.

Minds -instruction processors (head, transient and breaking point mode are checked every time the theme monitor blocks), which is interface with the breaking point of memory location of the input/output -is carried out.When break software through a set of subroutine call.is easily divided into four parts: Hardware register and table data are collected and is breaking point

Deleted from the code.Specific routines, output routines, inputroutines and CP/M: 86 interface of the operating system.

Breekpoints ensure fast insulation and problem solving of hardware-specific routines that contain hardware control of short-term errors found in real-time control.Dispatches to arrange the actual physical export and

input ports.Desse routines, although very small, Beerrors must be extremely difficult to insulate with ACONVENTAL monitor, tailored to the specific hardware used.

The routine used for the serial input/output port on

Breakpoint -Kemmand ISBC 86/12A board is included in the Appendix F. Exit routines consists of two large blocks of

Four assignments are used to implement and evaluate code.Decimal numbers using a data element to set a breaking point of 16-bit memory locations, such as hexadecimal numbers Orkondition, and the choice of a data table to be collected, signed or non-signed memory;causes the actual implementation or locations such as plus or minus exponential figures.It is

15

In construction processors

, P He '

CP/M File Characteristic operating element in Input entry routines Routines Routines in

SystemInput I OutputInterface I I I I I I I

CP/M in Input buffer in Numeriek

Interface I and Control I ,, _... I output export [control I -Rutiner rutiner

routine l li i

I in consolel printerrocp/m-86

_'__'_...... specific input/output drivers

Figur 21.- Minds Input/Output Library Structure.

Numerical output -Routines For any case, take the binary flexible consolinut/output system and businessbit patterns in memory and translate into an ASCII system file interfaces that not only work with Minds Butcharacter -String for the console prints, with other programs also.

The input routines consist of three larger code blocks.

The operating function Operator.ed includes backspacing, extensions and change of change that are admitted in various applications. (Ie an ASCII trolley -backkeer), it is the character that introduces various projects that have already used this routine, Minds -Commanderopocessors can be described in refereing11 and 12. Under Theeaks is the input buffer.It has become clear to these routines in the third blocking access to ASCII strings in the package.can take numbers that are the blocks that are displayed in Figure 9. It is only necessary for input such as hexadecimal, plus or min -decimal, or even plus program to have the minimal stable dataist minus liquid point with optional exponents and assembly capacityTo connect the Minds -Head program and surrender them with the right memory images, input/output -biblioteket.de short -term data

The interface routines of the operating system consist of two gathering blocks and the monitor and error detection block can make code blocks that allows the Minds to the program when the need occurs.Setting 8086 records that are compressed in cases where computer memory is available that various operating system services can be obtained can be tight. The following block, CP/M file control routines, finally makes the final possible, the ALEDD can be done with short -term dataaccess to the operating system.Blocks, read and write numerical data points on a console unit.To plot files in different sizes, to close files, remove files, print data from the prints, to be transferred to a large main frame drilling, etc. and then instruction processors can easily access CP/M-86 file that becomesdisplayed using a standard graphic package.

Minds -instruction processors interface in this block or as another complete data block to facilitate the input/output library via subbroutine calls that send online manipulation of controls parameters.Conditions in Figure 21. Input/Output library form Short -term Table information is public.

16

Latest comments in detail.

This report has described an aprogram that can be discussed..October 7, 1984

17

Appendix aerrupt -card

Location function (hexadecimal)

0-3 Divide Interrupt4-7 Single-Step Interrupt8-B Non-Maskable Interruptc-F 1-BYTE Instruction Instruction (Type 3) 10-13 Overflow interruption (8259 break 0) 84-87 Unused (8259 Interrupt 1) 88-8BControl Timer Interrup-Data Ready (8259 Interrupt 5) 98-9b Unused (8259 Interrupt 6) 9C-9F Transphula Travel Hours (8259 Interrupt 7) A0-A3 Debug Intermediate Condonda4-A7 Debuge Less Than Condition A8-ABWord) AC-AF-Debug larger than condition (word) B0-B3 Debug Less than condition (entire numbers) B4-B7 Debug equal to state (entire number) B8-BB Debug larger than condition (entire number) BC-BF DebugLess Final mode (Reel) C0-C3 Debug equal to situation (real) C4-C7 Debug larger than State (Real) C8-DF Unune0-E3 CP/M-86 BDOS ring

18

Appendix BMIND's Modules thesis

The package of the spirit data can logically be subdivided into the four blocks displayed in Figure 9. Variables.DeforFor fall each of the Theload modules in one of the four logical areas:

(1) main program-minds.obj;init.obj; (2) temporary data-mtran.obj;Smptrn.obj; (3) Monitor and Debug-Mndmon.obj and Intrbk.obj. (4) Input/output library-iocon.obj;

Inbuff.Obj; datum.Obj;

The function of each of the object modules, the call series for the relevant public routines and any public variables that they contain are discussed here.

Main programs.obj

Minds.obj, a PL/M -Rutine, is the most important mind program.Term and stable data in a CP/ M-compatible file and the routines to remember Destable mode data from CP/ M file and to display them on the console.

Public access points

Call Mind Main Environment in Commander (no call parameters; no return parameter) Call error (Char) procedure for printing error message followed by Char Anscii alphanumeric sign indicates

Call (NUM) procedure for printing space on the console, where Num indicates the number of spaces to be printed

Public variables

Namestab-Array to save the names of data element

SEG $ Tab array to Gomme Data Element Segmenten OFF $ Tab array to Gomme Item offsetf $ Tab array to Gomme Data Element Scale Factor

Was $ Type $ tab array to chewing gum data item

The Data $ -Array tab to save dataable data table -definitions

Dataatab $ Bias-Array to store the data table for Steady State Partitio _S

Data $ tab $ lmt-array for gomme number of variables in every steady state data tablemorranstab $ name array to gomme pratient data table definitive stran $ tab $ bias-array to gomme pratient data table $ lmt-aray offer of each of each

Tran $ Store $ tab array to save memory locations that should be used to store temporary history

Init.obj

Init.obj is an assembly language program that is called up by the Spirit for Initialization. The program contains the Entry Point Initiali, called by the Iocon program (Appendix F).

19

Tabout.obj

Tabout.obj is an assembly language program that collects stable data and prints it to the aterminal.

Public access points

Call BRKCOLLECT procedure to collect data about stable status.

Call the tagout procedure to print the previously collected stable status data table.

Public variables

TabCollect-Steady-State Data Collecting method, specified as A to D (Supplement D; Command "\"; Parameter P1)

Tabnum-Steady-State Data Cabinet number that must be collected, specified as 1 to 4 (Supplement D; Command "\"; parameter P2)

Tabcon-Steady-State Data Table Output format, specified as 1 to 3 (Supplement D; Command "\"; Parameter P3)

GetVar.obj

Getvar.obj is a set of gathering routines that give the mind with a machine-dependent interfaceto, enables manipulation (loading and storage) of data in 8086 1-megabyte address space.

Public access points

Call lsvariw (DSegement, Doffset, Addiw, Func) Procedure to load or save a word or a certain word

Segment segment address of Variable to be loaded or stores the doffset-offset address of variable to be loaded or stored

ADDIW-Offset address of Variable where the result must be placed or data must be tagged FunC- "L" as data must be loaded from address DSEGment: Doffset and placed on location-Addiw;

"S", as data currently on address Addiw must be placed on address dsegell: doffsets call LSVARR (Dsegess, Doffset, Addiw, FunC)-or stores a real variable in the same Fashionas call LSVariW, with the same call parameters

Call lbite (DSegment, Doffset, Addiw, FunC) -load or save a brack variable in the same Ascall LSVariW, with the same call parameters

Ring Hexpack (APTR, HPTR) -Rutine to take 2 bytes absolute data and pack in 4 bytes hexadecimal data

Aptr-Pointer to break data (absolute) HPtr-Pointer for Outsion data (hexadecimal) (absolute)

Call Unhexpack (APTR, HPTR) -Rutine to take 4 bytes hexadecimal data and pack it in 2 bytes orbsolute data

Aptr-Pointer to break data (absolute) HPtr-Pointer for Outsion data (hexadecimal) (absolute)

Mind's temporary data

Mtran.obj

Mtran.BJ, a PL/M-86 program, contains commanders of all short-term data screens.byte data.

of

Smptrn.obj

SMPTRN.OBJ is a mounting language routine that is the actual data drawer and storage of short -term date tables of the routines in Mtran.OBJ.Dise routines special for interval hours and interrupt controllers on Intel 86/30 or Intel 86/ 12A Microprocessor plates.Bridge of shelves with Differenthardware would produce unpredictable results.

Public access points

Call the SAMPINT0 procedure that is mentioned by the original initialization in Executive to set up the interrupt vector. It is based on the use of Interrupt Vector 7 on Intel 86/12A or Intel 86/30 card.

Call the Sampintl procedure that is called by Executive when it has discovered that temporary sampling should start. This routine initializes memory counter, flags, counter -hardware, etc., every time a short -term test has to start.

Realize the example program that the actual sampling of the transient carries out in three steps.Specified in the Tran $ store tab.

Mtrans.obj

Mtrans.obj, a PL/M-86 module, calculates the value of the counter on Intel 86/12A or 86/30 Single-Table Computers.On these boards, the test interval for this routine must work between 0.013 and 426.67 ms.

Public access point

AHK = Count $ set (@samp $ can, samp $ in) -procedure for calculation

Echk = 0 if errors have occurred

@Samp $ cnt-adress of word variable who returns the number of timerings

SAM $ INT-REVELECT numbers describe the request for the internal application in a recout seconds

Check and Debugt

Mndmon.obj

Mndmon.obj, a PL/M-86 module, contains screen assignments together with the routines that display, fill and change memory locations.The determination for an optional scale factor.

Public access point

Call monitor procedure to interpret screen assignments

Intrbk.obj

Intrbk.obj, a mounting language module, explains interrupt vectors that implement dynamicbreak points.

Input/output Bibliotekiocon.obj

Iocon.obj is a hardware -specific module that operates the RS232 part on Intel 86/12A or Intel 86/30 boards. This routine offers the logical input/output device that all other higher input/output programs use.Including this routine can be found in supplement F.

21

Public access points

Call outcon (Char) -Rutine to perform "Char" byte to consolechar = inconsolechar to return ASCII "Char" from the console

Public variables

Contre-word variable to determine the execution 1 = output only to console unit

Message.Obj

Message.obj, a routine for collecting language, prints an ASCII sign series on the console.

Public access point

Message from the caller (@string), where string is the address of an ASCII character -string that is broadcast to the console.

Outh.obj

Auth.obj, a routine for collection of language, emits variables in hexadecimal layout.

Public access points

Ring Outh (Was) -Output A 2 -Byte Memory Location in Hexadecimal Format where a word variable indicates

Call outhb (VAR)-Output A variable of 1 bytes in hexadecimal layout where a variable of 1 bytes indicates

Iout.obj

Iout.obj, a set of the routines of the collection language, broadcasts one and two variables in decimal layout.

Public access points

Call Outisw (VAR) -Puts a variable of 2 bytes as a signed number between -32 768 and + 32 767, the item indicates a variable of 2 bytes

Ring Outiuw (Var) --------- Opens a variable of 2 bytes as a signed number between 0 and 65 535, which indicates a variable of 2 bytes

Call Outisb (VAR) --------- Out-byt a variable of 1 Byte as a signed number between 128 and 127, that l-byte variable outiub (VAR)-an L-Bytarabel as aNon-signed number between 0 and 255, where the L-Byte variable indicated

Outr.OBJ

Outr.obj, a routine for collection language, broadcasts a 4-byte memory location as a real number.

Public access point

Ring Outreal (VAR)-Thinking of 4-byte memory location as a real number where a 4-Bylar can

Inbuff.obj

Inbuff.obj, a set of PL/M -Routines, Bufrete's input to the console, controls the console and reads the buffer of the console input.

Public access points

BUFF inputs ASCII signs of the console using

22

Buffer.In addition, this routine makes backspacing, line end and reset, bell, etc.

Char = ReadBuff-Acccepter the following sign in the input buffer and places it in the byt variable "Char" where Char indicates a variable of 1 bytes

Rdata.obj

RData.OBJ, a routine for collecting language, reads ASCII signs from the input buffer, determines which type of number is input and calls on the correct conversion routine to make the correct core image that corresponds to the input series.

Public access points

RCHK = RData-Steek test Description as RData.OBJ, where RCHK indicates a word with returned data that corresponds to the type of data that was input.The following six conditions are possible:

0 = error1 = standard

2 = whole number between (-32 768 and -1) 4 = whole number or words between (0 and 32 767) 8 = words between (32 768 and 65 535) 16 = real number

Public variables

R Word, print, real-public variables, where the Rata-routine places the results of the converted input series.

Inint.obj

Init.Object is a set of collection routines used by RData to perform decimal entire number or word conversions.

Inhex.obj

Inhex.obj is a set of collection routines that are used by RData to perform hexadecimal word conversions.

Inreal.obj

Unreal.Object is a PLM/86 -routine used by RData to make conversions in real numbers.

Cpmio.obj

CPMIO. OBJ, a set of collectional routines, offers a high-level language interface for the characteristics of the CP/M-86 control system.here.Reference 2 must be consulted as a further description of an individual function.

Public access points

All subsequent routines return a "1" if successful and a "0" if it is not successful with variable RTRN, except where other notes control blocks.) Call to CP/M-86 control system does not release the assigned program memory

Call ResetCPMS (function 0) -Call to CP/M -86 Operating system and releases the assigned program salends

Rtrn = reset (function 3) -Thet the entire Diskofil system zeros to read/write

Call Seldsk (Num) (function 14) -Celler Disk Drive "Num" that is currently logged in and in default permanent disk drive, where Num = 1 corresponds to Schijf A etc.

RTRN = Inkndsk (@FCB) (function 15) -Opening of a current existing disk file for reading or writing = cloltdsk (@FCB) (function 16) -Lemt a current open disk file

23

RTRN = SRCHF (@FCB) (Function 17) -Search after first disc bibs -Post equivalent to FCB

RTRN = SCHNCH (Function 18) Search after the next entrance of the Disk Catalog

Rtrn = delete (@fcb) (functie 19) -Slets a Disk File Directory -Post

RTRN = Reader (@FCB) (function 20) -A record of 128 byte reading from currently open disk file

RTRN = Writssk (@FCB) (Function 21) -Is a message from 128 byte to a current open disk file

RTRN = Makedsk (@FCB) (Function 22) -Opening a new file on the Disk for Writing

Call Setdma (@Buff) (Function 26)-Bepaal The Disk DMA-Offset address to Diskfil transfer, where @Buffdenotes address on diskfil input/output buffer

Call Allomap (@Seg, @OFF) (Function 27) -Returns the segment and spreads through the current disk distribution Mapi

@SEG = address of location where you can place the allocation of the allocation@Off = address on location where you can place the allocation card.

Call DSKP -Armen (@DSKMP) (Function 31) -Redrijkers Diskparameters for Mobel -Gaarde Schiks, where@DSKMP indicates data structure address to store disk parameters

RTRN = Resetdrv (Num) (function 37) -Nulerer Disc station "Num" to read/write status, where Num indicates the number that corresponds to drive code: num = 1 reset of the disk, etc.

Call Setdmab (@SEG) (Function 51)-Bepaal The Disk DMA segment or the section on the transfer charged

Rtrn = Gmaxmem (@MCB) (function 53) -Maximal amount of freely available memory withdraws.If a memory is available

Disk.obj

Diskio.obj, a set of PL/M-86 routines, performs a high-level disk file to offer a programmer to communicate with the CP/M-86 operating system by reading a file name, opening a file andto open and read a file and write from Tilles open file.It is also possible to display a disk library and remove each file from that disc.

Public access points

RTRN = RD File name (@FCB, @DFCB, DFLT, DSK) -Rutine to read in a file name from the input buffer Place a standard name in the correct file control block for later processing for later processing for later operation for later operation

@FCB = Marker for operational file control block@DFCB = Marker to standard file control block that can be used DFLT = "Y" if the standard file block must be used;Bufferdsk = "A", "B" etc. For drives to be indicated for disc file

RTRN = Allocmem (@MCB) (function 55) -Division's memory pr.Mcbrtrn = 0 if the request is successful;

Call Freemem (@MCB) (Function 57) -Rejret -memory

RTRN = open $ file $ CNM (@FCB, type) rutine to open a disk file with the name specified in FCB@FCB = Marker for Archiving Operating Block type = "Y" as a new file must be opened;If the old file has to be opened

Rtrn = dsk $ r $ w (@data, @fcb, rltch) -rutine to perform a message of 128 byte or release a disk with the memory address of the message that is pointed out on @data

@Data = Marker for 128-byte post in Memory@FCB = Pointer for archiving operating block type = "Y" if a new file has to be opened;"If the old file has to be opened

RTRN = HL $ DSKIO (@Data, @FCB, RLTCH, FLTCH, NUM) -Rutine to 128 -Byte Messages and to write a disk file in an absolute format or hexadecimal format

@Data = pointer to 128-byte record memory location@fcb = pointer for submitting control blocks = "W" if it writing to Disc;"R" If read from diskfltch = "a" as absolute data must be read/written;"If hexadecimal data must be read/written

24

Appendix Cerror -Resume

Explanation of errors

A Data ElementalReadefinedin Mastertableb undefined or incorrect data type in the invoices.This error is usually generated by

Input/output library steady-state or temporary data tables concluded invalid standard tried in order secrecy samk-semplary parameters Not SETF Master Data Element Tabintry Stabile Statement Data collection Secretary Secretary Secretary Stable Statement Short-term information

K input number type incompatible with type number required for assignment sequencing input too large to convert to a whole number that is unable to open a disk file on the reading variable that is not defined in the Master Definition Table Table Table Table

(1) Table number not between 1 and 4 (2) open another table (stable state or short term)

P cannot open the disk file when writing short -term molery size is too big for current memory configuration.Reading errors on disk memory benefit Defects in CP/M -86T transient sampling residents;assignment moment implemented W writing error on the disk

X Stable status or short-term data table Already empty variable types that are not tailored to the correct temporary overlayz. File errors In CP/M-M-861 Temporary sampling parameters that are not set, cannot meet the current number or mix of Variabelen3 Not sufficient memory flow number of Variabels decurrent Sampling Length4 Conversion Sampling Not Arrested5 Print requested for an undefined temporary test6 length of the desired variable name or requested tables length that is not compatible with the current program

version

7 Table version Wanted Reading not compatible with the current version of Program8 Table Classification (Hexadecimal or Absolute), not compatible with the format with the Format 9 Table Classification (Stable Status or Short Term) Not compatible with the format requested for format

25

Additional assignment overview

Capital data section

Definition of data items and view assignments

Order description

Name ty, seg, off, sfn, sfd lit the program, a data element - definition (name gives name (maximum sixth) in a selected location; ty indicates the type of data element (i = integer; w = words; r = real);

Name1, name2, ty, seg, out, overlays "namei" data element definition in master table with "name2" .SFN, SFD standards can be used, but offset is updated from "Namei"

Name = shows value of the "name" in technical devices.The character "=" can be entered automatically to display the value of the aforementioned data element.

Name# shows the value of a word or heroisal element in binary devices.

Name 'P1 sets value of the data element "Name" on Pi.P1 must be a real number if the name is real.The scale must be between -32 768 and 32 767.

Name and shows Definition parameters for the "Name" data element

??

[Show current segment registers used by Executive/Control -Algorithm/Minds program

% Change of segment register values in Table in Table to control data element -inition

Steady-state Data Datable Manipulation and Collection-opdrachten

Order description

.

) Close the current open data table for stable state

@ Removes all definitions from the current open pivot table to stable state

] Start a new output line in the current open data table with a stable state

\ P 1, P2, P3 broadcasts a data table to screen in the desired layout.P 1denotes Collection Method, specified as a letter A to D (Method A "All data is entire numbers or words and alldates is in the same data segment; Method B: all data are entire numbers or words, but can be in different data segments;

26

Table for broadcast to CRT;Must have been broken between 1 and 4 to their earlier values with the help of commas.

Name, Place variable "Name" in the current Open Data Table

! D: File name stores all definitions for data elements, together with stable and short-term loss definitions in a CP/M-compatible file (D indicates drive A or B; Filnamenotes CP/M-compatible file name with optional extension).File name can fail.

*D: File name is reminiscent of data element definition and stable status or short-term table information of a CP/M-compatible file..ing disc or called Affault is permitted in this assignment, because more than a definition of a data element can be stored on a disk.

Automatic static data collection and retreciation assignments

Order description

\ Pi, 0 special version of "V" command to collect the values of all defined data elements, but not to print it;That is, PI gives methods for data collection A to D).

$ P1, P2 stores the respective data collected in a CP/M-compatible file with a standard name.The standard name depends on the type of stored data (short-term or stable status) and the reading number.Staresteady -state data;P1 = T means storing temporary data;

\ D: File name, P 1 is reminiscent of stability data from a CP/M-compatible file.stored in absolute format;P1 = H If data is stored inhexadecimal format.) No disk or name is permitted large number of data files can exist on the same disk.

; P 1, P2 prints the withdrawn data on the assignment stable condition in connection with the previously taken data from the "/" to display stored data.

Update passing and stable status read number to standard filn names that are assigned to the "$" assignment.

Different assignments

Order description

> D shows disc catalog and remaining free space on the selected disk.

[D: File name removes the CP/M file from the selected disk.(D indicates disk A or B; Filnamenotes CP/M -compatible file name with optional extension.) No standard standard is permitted for safety reasons.

27

: H1, H2 adds two songs or (H1, H2, indicates two hexadecimal or decimals completely number or words.)

- To delete the package for deleting tickets, call for the mapping of data

Performs the main assignment structure and returns to the main request program (ie real -time control director)

Passing Sampling Package

Temporary data table Definition -assignments

Order description

(P1 opens short -term data table for input of data elements. (P1 indicates table cumber; must be between 1 and 4.)

) closes the current short -term data table

Name, places the "name" data element in the current open data table

Namei_name2 Overlays "Namei" Data element in the current open transient data table with "Name2"

A removal of the latest data element defined in the current Open Transient DataBal

@ Deletes all items for data items in the current Open Transient DataBaz

? P1 shows selected members of the sampling table data elements.

Temporary sampling parameter assignments

Order description

% Sets through sampling parameters (sample interval, sample length)

& Displays current sampling parameters and the current sampling of memory allocation

[Show maximum memory that is available for storing short -term data.

] Shows memory for further storage of short -term data.Memory actually back.

Temporary data collection assignments

Order description

[P1 Arms A short -term data table in preparation for a short -term sample.

/ Device a data table in the short term so that sampling parameters, members of the table display element or the requested table sampling can be changed

\ Currently activates armed short -term data table and assumes data in the short term

28

Assignments for temporary data storage

Order description

$ P 1, P2 saves respectively collected data in CP/M-compatible file with the standard name. The standard name depends on the type of stored data (passing or reading number).

Data in hexadecimal classification.) P1 and P2 may fail to do earlier values.

"Updates passing and stable status reading numbers to standard file names assigned to the" $ "assignment. This assignment can also update the default reading -Tables for data element definition. This number is not used consistently with a standard in the assignment"! "

*D: File name, P1 is reminiscent of short-term data from CP/M-compatible file.In absolute data format;P1 = H, if data is stored in

Hexadecimal data layout.) No disk or name standard permitted as larger data files can be found on the same disk.

; P1 prints in short -term data per console for the respective variable number in the current temporary table.(P1 indicates temporary variable numbers in the current heated table.) If P1 is set, all variables are printed in current reinforced transientable.

Passing package various assignments

Order description

Returns to the main collection program of the Steady-State

Monitor/debug -package

Standard Monitor Memory Display and set assignments

Order description

Returns to the main program of the Steady-Steady display

H V1, V2 adds V1 and V2 or falls off (V1, V2 who indicate two hexadecimal or decimalintgers or words)

D t, SEG, off1, off2, SFN, SFD shows the main memory from off1 to off2.round number.

F T, SEG, OFF1, OFF2, Data Full details of SEG: Off1 to SEG: OFF2.(T indicates data type: Byte, words, orreal; SEG indicates the data segment; off1 indicates start data - offset set; off2denotes end of data data; data indicates data that must be completed.) If the byteg data is assumed.

S T, SEG, OFF, SFN, SFD sets memory locations with input data.

29

Indicates the scale factor -erser;SFD indicates scale factor.) If TIS is standard, byte -data.s.sfn and SFD are set up, except for data on data.will be raised to the next location.Input ends by introducing an error.

Breaking point set, display and complete assignments

Order description

R shows the current segmentation registers in the charging program;

B seg, out, opt, opt, tabc, name sets a dynamic breaking point at a certain place with a series of characteristics <=> VAL (SEG indicates breaking point segment address; UIT Breekpunt Offset indicates

Address;OPT indicates the breaking point -sitting down (0 = collect 8086 register; 1 = collect8086 registers and table 1; 2 = collect 8086 registers and table 2; 3 = collect8086 registers and table 3; 4 = collect 8086 register and table 4);Tabcdenotes Table collection method A to D. See the "V" assignment for the full methods for collecting then, simple or larger than the three permits that can and Tabc can be set.

G -commands to start about breaking point.Conditional conditional in strength and breakpoint placement is printed.

X shows collected data registers

T P1 outputs Collected data table (P1 provides table output formats to 1 to 3 described in the "V" Table output assignment.)

Keyboard assignments

Order description

AH Backspaces input bufferag teeth or turn the clock

AX removes the entire input line

AP -Dress optional output to line printer from or from

Any key that affects each key during the output will print

S

Appendix EDATA Table layout

The data collection program can store three types of data table on disk.Standard names stdyxxxxx.dat.Texxxx a number between 0 and 9999 that automatically increases when a table is written.of stability or short-term data in a CP/M file.

The hexadecimal format converts each memory city to an ASCII display of 2 byte of the contents of the placement of Tema.The hexadecimal file can then be directly linked to a mainfram computer for data reduction and plot, because all figures are ASCII between "0" and "F."That is why no false control codes are given to the Mainframe computer.

The parameter definition tables are treated in a different way than the data tables..

The format for each of the three data tables is indicated here.All data in the file yields and short -term proponents is stored automatically.

Transient computer tables

Record 1-file type rekord

(1) Space (2) File type (h = hexadecimal file; F = absolute file) (3) Check the sum

Record 2-transient parameterrecord

(1) Peductive number (2) Number of temporary variables in File (3) Total number of memorial sections used for short -term sermonization (section = 16 bytes) (4) Number of sample points pervariable (5) Number of sample papers per marriage variable (6) Number of examples ofPersword variable (7) Counts for sampling interval -Timer (8) Check the SOM

Make a note of 3-transte data record preamble for varied 1

) ie, such as scale = SF *2 *SM (4) Name of short -term variable (5) Check the sum

Skala factor and full-scaly modifier only apply as written heroic data.If data is words or real, the scale factor is zero (SF-0).

Record 4-Trans itself tlata record for varied 1

For a complete number or word variable, a record consists of 30 data points (ie 60 bytes) and a control sum.

A number of type 4 items are written until the entire lane is written for the file.Procedure followed until all short variables are written.

31

Data tables with a stable state

Record 1-file type rekord

(1) Space (2) File type (h = hexadecimal file; F = absolute file) (3) Check the sum

Record 2-stable parameter record (1) OFFFFH (2) Steady-State Reading number (3) Antal Steady-Statevariable values collected (4) Størrelse AF steady-state data collection buffer

Write down J-Steady-State parameter Data element values inner, OG RealNumbersare is collected and outputin a series of records.hver rekordkonsister AF 60Bytes

and a checkesom. The variables collected and not in the same order as the Arredefininin in Masterable.

Parameter definition stable

Record 1-data tab version number

Record 2

(1) Status state Data Partitions (2) Number of variables stored in each data table (under table to define data element names (7) Maximum size of data electrical definition tables (8) Stable statement data cable print parameter

32

Record 3

) 5) Temporary parameter set Latch (6) Total number of memorial sections used for short -term sampling (7) Counts for sampling interval -hour

Record 4

(1) Total transient sampling time (2) Publicer interval

Registrations 5 to 16

Save Array of data element definition names (tab $ name $).

Registrations 17 to 24

Save storage of the Series Elevement Scale Factors (SF $ tab).

Memories 25 all 32

Store's series Data element indoor (disabled $ tab).

Registrations 33 to 40

Save Array of Data Element segment (SEG $ tab).

Registrations 41 to 42

The store with data element types (was $ Type $ tab).

Registrations 43 to 54

Save Array from Steady-State Data Table Definitions (Data $ fane).

Registrations 55 to 58

Store Array of short -term data -Dating definitions (TRP $ loss $ name).

33

Delivery routines for drawing input and output

C.P._TPC: -ii i?.i ':,: Qa,?, 7;_: ;: Q/1RAHAF: Roassemblerv2.0Assemblyoft4nr, __ I ................................... Eioconi [.p- ". IE [: z mooui.eplace [iin: f2 :! Ocon, objas: e_iblerinyokei] af" a_m@6, ::: 6: f2_'io :: on,:-;;rcxref

LO ("OBJ -Linjekilde

1 +1 stitle ("iocon-rolttinesforcnnSoleInput! Outp.t ')" 2 i345;!Oconts a setoftwof'rocedurestodoconsole, 6; l!Standgraf!.:: SiieyiceInput _._ idouput, 7 18 I Incon --- Dosc: H: S, R#, CterInputFromTheCf!N:.:;Ole,?,.

10; Outcon-DoeScharacteroutf'uttOtheCnnledeyi :: eii; l!Xtingdeyii ': e .._'_,!Ri ,,,, grhf'h!Cs ._.,.,.N_'un-c ._, _!} Efend!Ng12; på disseitin (_ofheyar! Bekwaam: 'on. :: ontf,'! 3 i14 • conl: ontr = i olitf'uttoconsoledeyice.nnly15; c: oncontr = -! Outpjttocon: = '. Oleandlistde "! F: es1_.1 o o o o o o o o] nl '] ntr = 20Utf'l.i "t.igraphd-: s [eyice1718; de: rou! Inesasthe' (nu standaardareci., St] 'ulzedtod! -_ 19 i ua_r ,." gipserial_f'! _ 'TONTHP • PN.: '.: Si.! Mig: ftobed;! NF'lffroutine'Con ".: 34;-: 5; Pushwor]) (Byte) Tobeou! F'UT36; CalloutCon3738 .." 39;;

In "41 l .. =, EB42; 4: 344., '; Opmerking: routine [estroyestheax; cx, anddxreg

34

45;

47+i _e_!ECT48;47

50 NAVN IOCON51 CGROUPGROUP CODE52 DGROUPGROUP DATA53 ANDUMECS: COROUP_DS_DGROUP5_ publicou_contr_contr_incon55 Extrn I!Tiai.i_near56;

58; defineExterni!

Coda 61 out_con_state_u odah; outputStatusportAddresson8251Gods 62 out_con_chare!_L ddsh; charartutputPortAddresson8251Doda 63 in_con_stat equ odah _ InputStatusPortAddresson_25100D8 64 in_con_char e_u odsh;CharaktinputPortAddresso_8251

65;66;67

68 _ Listi!Oports00ai 69 out_l.!St_statequ oaih;LESTESTATUSPORT00A0 70 OUT_LIST_CHAREEU OAOH I LEESTECHARACTERPORT

71;72; GraphicsOutputPortDevices

Ooas 73 Graf ° H_out_si'atusequ oash; GraphicsStatusportooa2 74 Graph_out_Data eque OA2H _ GraphicsDataport

76 ..... 77 Data segmentpublic "data" 00000100 7S Co_Contrdw 1 _ Console / ListDevicecontrolword

.... 80 data ends81+in SEICT82;

83 Kodesem*nTPUBLIC'CODE "84;

0000 85 OUTCON: 000055 86 PUSH BP _ SAVEBPREGISTER00018BEC 87 MOV BP, SP

88 _ DoCaracterOutputtothe8_ _ Consoledevice

0003A10000 R 71 MOV AX, Concontr I GetConsolControlflag00063D0200 _2 CMP A_, 2; CheckiftekoutputDesired00077_4a _3 je gd;GOTO TEKOUTPUT

_4O00B _5 loopi_

O00BBADAO0 _6 MOV DX, OUT_CON_STAT; getConsolestatusportAddresso00eec 97 I AL, D_; getConsolestatuso00f2401 98 OG AL, I: CheckifConsoleisFree

35

001174F8 99 JZ Loopi; LooptillConSolebuffere_Pty00i3Baddo0 I00 Mov DX, Out_Con_char; LoadCharacterOutputPortAddress00i68A4604!01 nov al_ [bp+4]; getOutputCharacterFromStack00i9ee 102 out dx, al; outputcharacterTocohSole

103104 1105;CheckiflinePrinteroutput! 06 _ Echt

001AA10000 R 107 MOV AX, CONTONTR; _] VCONSOLCONTROLCHTOAXO01D3D0000 108 CMP AX, O; CHECKSetForPrinterOutput00207FOB 109 DG OUT1 JEG JUNGNOPRINTERUTPUTEPREST

1i0;111; printerOutputDriver

0022 112 lsti: I13;

0022e4a! 114 i al, out_list_stat;GetListingDevicestatus00242401 115 OG AL, I; CheckListingDevicestatus002674fa 116 JZ LSTI; StatusNotReadyCheckAgain00288a4604 I17 nov al, EBP+4] GetcharacterTobeOutput002Be6Ao 118 Out..Lis!_Char, al i outputcharacter

119120121;

002DE4DA 126 OUTI: I AL, In_CON_STAT; InputConsolestatuso02F2402 127 OG AL, 2; Checkifcharacterpresent00317405 128 JZ Out2 I NocharContinue0033e4d8 129 I AL, In_Con_ari CLearcharACTARICTAUD izationsevency

T31;00385D 132 OUT2: POP BP; GendannebPregister0039C20200 133 Ret 2; ReturnTocallingProgram

134 + 1 sequect135;

003c 136 income;Consoleinputroutineto137; 38;van Keyboard Schoback139 _ Tonsole140;

003C55 141 Push BP; StoreBPregister I003D8BEC 142 nov BP, SP; GetStackPointer

143;T_N O.003F 144 L_P_.

003fbada00 145 MOV DX, In_Con_stati getinput consolatusaddress0042ec 146 i ABDX; getinput consolatatus00432402 147 OG AB2; Checkifcharacterprent Presenter004574F8 148 JZ Loop2;LLCHARACTER PRESENT

149;0047BAD800 150 MOV OX, IN_COR_CHAR_ GetCharacterInPutPortAddresso04Aec!51 I AL, DX; InputCharacter004B247F 152 OG AL_7FH; StripoffParityB!T

153;154; Echocaracterbacktoconsole

004d50 155 Push Axe;Savecharacterforreturno04e50 156 push ax; loadCharacterForeChoByoutCono04febaeff 157 Call outcon _outputcharhctertoconsole005258 158 pop ax

159; progrr_m00535d 160 pop bp; gendannebp0054c3 161 pet _ returntocallingpri_ram

162+I sEJECT163;164; RutinetoOutputCharacterSto165 _ TOTHETETRONIXGRAPHICSERMINAL166;

0055 167 GO: 0055E4A3 168 I AL, Graf_out_status; GetSerialPortStatus00572401!69 OG AL, I; C_CK IFPORTEMPTY005974FA 170 DZ GD; IFNOTEMPYCHECKAGAINO05B8A4604 171 MOV AB [BP+4_; GetCharacterTobeOptoBeOut00e6a2 172 172 172 RetarioLe0061c202000200 178 POP -BP; ; ReturnoroutInestart

175 Code ends176 end

Xrefsymboltablelisting

The name type Value -attributes, Xrefs

SEG ...... segment size = oooohparapubliccgroup ...... Group code 51#53code ....... segment size = OO64HparaPublic'code'51#83 175Contr ..... V Word 0000HatAPAPIC5478#91 107 Data... L near 000 BHcode 95#loop2 ... Number Oodah 61#96out_list_char., Number Ooaoh 70#118out..list_stat..UNME number 00aih 69#114outi ....... L near 002dHcode 109126#Out2 .. ..... l near 0038hcode 128132#outcon ...... l near 0000hcodublic5485#157

End in sy bolablelistif_o

Assembly complete, nerrorsfound

37

References

1. Posa, John G.;And Leboss, Bruce: Intel strives for the 80.8.Tel Multibus -specifications.intel Corp. (manual order no. Electronics, Volume 53, no. 5, 28 February 1980, pp. 89-95. 9800683), 1978.

2. CP/M-86 user manual for the operating system.Digital Research, 1981. 9. Delaat, John C.;And Soeder, James F.: Design of A3.Cwynar, David S.: Informer-a Interactive Data Collection and Microprocessor-based control, interface and monitoring (CIM)

Display program with problem solving capacity.NASA TP-1424, unit for turbine Motor Controls Research.nasa TM-83433,1980.1983.

4. PL/M-86 Programming Guide.Intel Corp. (manual order No. 10. Miller, Alan R. "Masting CP/M. Sybex Corp., 1983.9800466A), 1978. 11. Bleech, R.A., et al: A realtime, laptop, microcomputer-based

5. Morse, Stephan p .: 8086/8088 Primer, An introduction to his Jet Motorimulator.nasa TM-83550, 1984.architecture, System Design and programs, ed., 12. Baez, a.: Company, Inc.1982. Monitoring and control - unit (EMAC) for little TurboShaft

6. 8086 Family User Guide, Numerics Supplement.Intel-Motors.NASA TM-86860, 1984.Corp. (Handmatige bestelling nr. 121586-001), juli 1980.

7. ISBC 86/12A Single Board Computer Hardware Refencemanual.Intel Corp. (Manuel Ordre nr. 9803074-01), 1979.

38

1. Report no. 2. Admission of the government no. 3. The catalog of the recipient No.

4. Title and subtitle 5. Report date

Mind- An interactive data system for microcomputer for January 19858086-based check 1ers 6 Executive Organizational Code

505-43-3

7. Author (s) 8. Implementation of the organizational report.

E-2172James F. Soeder

10. Work unit No.

9. Implementation of organizational name and address11.

National Aeronautics and Space Administration Lewis Research CenterC1EVEL en, 0HIO 44135 13 Type rapport en gedekte periode

12. Sponsorship of the name and address of the Technical Paperal Aeronautics and Space Administration Washington, D.C.20546 14. Sponsoringagency code

15. Additional notes

16. Summary

A microcomputer interactive data system (minds) software package for the 8086 family of microcomputers is described.Time digital control software to offer screens of size and short -term data.Charging options together with a uniform file structure for data and table storage.Finally, a library with import and outputsubroutines is described with consoles equipped with PL/M-86 and the assembly language.

17. Keywords (presented by author (s)) 18. Distribution declaration

Mikroprocessor uklassificeret - UnlimitedDigital Control StarCategory 61Data Systems

19. Security classif.(Of this report) 20. Security classif.

For sale of National Technical Information Service, Springfield, Virginia 22161 NASA-LUILEY, 1985

National aviation and the bulk frequency of the third class Porto and reimbursem*nts paid national aviation and

"-Bpaceadministration Space Administration NASA-451

Washington, D.C.20546

Official

Punishment for private use, $ 300

N_a Postmaster: If it does not provide a bar (section 158 postal guide) will not return

Paper 2378 Minds-ntrs.nasa.Gov · Paper 2378 January 1985 Mind A ... 80-bit broad registers in the 8086 structure defined dynamically random access memory ... An interrupt controller- [PDF document] (2024)
Top Articles
Latest Posts
Article information

Author: Fredrick Kertzmann

Last Updated:

Views: 6232

Rating: 4.6 / 5 (46 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Fredrick Kertzmann

Birthday: 2000-04-29

Address: Apt. 203 613 Huels Gateway, Ralphtown, LA 40204

Phone: +2135150832870

Job: Regional Design Producer

Hobby: Nordic skating, Lacemaking, Mountain biking, Rowing, Gardening, Water sports, role-playing games

Introduction: My name is Fredrick Kertzmann, I am a gleaming, encouraging, inexpensive, thankful, tender, quaint, precious person who loves writing and wants to share my knowledge and understanding with you.